Package thaumic.tinkerer.common.core.proxy

Source Code of thaumic.tinkerer.common.core.proxy.TTCommonProxy

/**
* This class was created by <Vazkii>. It's distributed as
* part of the ThaumicTinkerer Mod.
*
* ThaumicTinkerer is Open Source and distributed under a
* Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License
* (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB)
*
* ThaumicTinkerer is a Derivative Work on Thaumcraft 4.
* Thaumcraft 4 (c) Azanor 2012
* (http://www.minecraftforum.net/topic/1585216-)
*
* File Created @ [4 Sep 2013, 16:29:41 (GMT)]
*/
package thaumic.tinkerer.common.core.proxy;

import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.Optional;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLInterModComms;
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.relauncher.Side;
import li.cil.oc.api.Driver;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.util.EnumHelper;
import thaumcraft.api.wands.WandCap;
import thaumcraft.api.wands.WandRod;
import thaumic.tinkerer.common.ThaumicTinkerer;
import thaumic.tinkerer.common.core.handler.ConfigHandler;
import thaumic.tinkerer.common.core.handler.ModCreativeTab;
import thaumic.tinkerer.common.core.handler.kami.DimensionalShardDropHandler;
import thaumic.tinkerer.common.core.handler.kami.KamiArmorHandler;
import thaumic.tinkerer.common.core.handler.kami.KamiDimensionHandler;
import thaumic.tinkerer.common.core.handler.kami.SoulHeartHandler;
import thaumic.tinkerer.common.core.helper.AspectCropLootManager;
import thaumic.tinkerer.common.core.helper.BonemealEventHandler;
import thaumic.tinkerer.common.core.helper.NumericAspectHelper;
import thaumic.tinkerer.common.enchantment.ModEnchantments;
import thaumic.tinkerer.common.enchantment.core.EnchantmentManager;
import thaumic.tinkerer.common.item.kami.wand.CapIchor;
import thaumic.tinkerer.common.item.kami.wand.RodIchorcloth;
import thaumic.tinkerer.common.lib.LibMisc;
import thaumic.tinkerer.common.network.GuiHandler;
import thaumic.tinkerer.common.network.PlayerTracker;
import thaumic.tinkerer.common.network.packet.*;
import thaumic.tinkerer.common.network.packet.kami.PacketSoulHearts;
import thaumic.tinkerer.common.network.packet.kami.PacketToggleArmor;
import thaumic.tinkerer.common.network.packet.kami.PacketWarpGateButton;
import thaumic.tinkerer.common.network.packet.kami.PacketWarpGateTeleport;
import thaumic.tinkerer.common.peripheral.OpenComputers.*;
import thaumic.tinkerer.common.potion.ModPotions;
import thaumic.tinkerer.common.research.ResearchHelper;

public class TTCommonProxy {


    public void preInit(FMLPreInitializationEvent event) {
        toolMaterialIchor = EnumHelper.addToolMaterial("ICHOR", 4, -1, 10F, 5F, 25);
        ModCreativeTab.INSTANCE = new ModCreativeTab();
        ConfigHandler.loadConfig(event.getSuggestedConfigurationFile());
        //ModItems.initItems();

        NumericAspectHelper.init();
        ThaumicTinkerer.registry.preInit();
        capIchor = new CapIchor();
        rodIchor = new RodIchorcloth();
        initCCPeripherals();
        registerVersionChecker();
    }

    public WandCap capIchor;
    public WandRod rodIchor;
    public Item.ToolMaterial toolMaterialIchor;

    public void init(FMLInitializationEvent event) {
        ModEnchantments.initEnchantments();
        EnchantmentManager.initEnchantmentData();
        ModPotions.initPotions();
        ThaumicTinkerer.registry.init();
        NetworkRegistry.INSTANCE.registerGuiHandler(ThaumicTinkerer.instance, new GuiHandler());
        registerPackets();
        FMLCommonHandler.instance().bus().register(new PlayerTracker());
        MinecraftForge.EVENT_BUS.register(new BonemealEventHandler());

        if (ConfigHandler.enableKami) {
            MinecraftForge.EVENT_BUS.register(new DimensionalShardDropHandler());
            MinecraftForge.EVENT_BUS.register(new KamiDimensionHandler());
            MinecraftForge.EVENT_BUS.register(new SoulHeartHandler());
        }

        if (Loader.isModLoaded("OpenComputers")) {
            initOpenCDrivers();
        }

        if (Loader.isModLoaded("ForgeMultipart")) {
            ThaumicTinkerer.log.trace("Attempting to load Multiparts");
            try {
                Class clazz = Class.forName("thaumic.tinkerer.common.multipart.MultipartHandler");
                clazz.newInstance();
            } catch (Throwable e) {
                ThaumicTinkerer.log.error("Error registering multiparts", e);
            }
        } else {
            ThaumicTinkerer.log.info("Skipping TC Multipart integration");
        }
    }

    protected void registerPackets() {
        ThaumicTinkerer.netHandler.registerMessage(PacketSoulHearts.class, PacketSoulHearts.class, 142 + 0, Side.CLIENT);
        ThaumicTinkerer.netHandler.registerMessage(PacketToggleArmor.class, PacketToggleArmor.class, 142 + 1, Side.CLIENT);
        ThaumicTinkerer.netHandler.registerMessage(PacketToggleArmor.class, PacketToggleArmor.class, 142 + 2, Side.SERVER);
        ThaumicTinkerer.netHandler.registerMessage(PacketWarpGateButton.class, PacketWarpGateButton.class, 142 + 3, Side.SERVER);
        ThaumicTinkerer.netHandler.registerMessage(PacketWarpGateTeleport.class, PacketWarpGateTeleport.class, 142 + 4, Side.SERVER);
        ThaumicTinkerer.netHandler.registerMessage(PacketEnchanterAddEnchant.class, PacketEnchanterAddEnchant.class, 142 + 5, Side.SERVER);
        ThaumicTinkerer.netHandler.registerMessage(PacketEnchanterStartWorking.class, PacketEnchanterStartWorking.class, 142 + 6, Side.SERVER);
        ThaumicTinkerer.netHandler.registerMessage(PacketMobMagnetButton.class, PacketMobMagnetButton.class, 142 + 7, Side.SERVER);
        ThaumicTinkerer.netHandler.registerMessage(PacketTabletButton.class, PacketTabletButton.class, 142 + 8, Side.SERVER);
        ThaumicTinkerer.netHandler.registerMessage(PacketPlacerButton.class, PacketPlacerButton.class, 142 + 9, Side.SERVER);
    }

    public void registerVersionChecker() {
        NBTTagCompound compound = new NBTTagCompound();
        compound.setString("curseProjectName", "75598-thaumic-tinkerer");
        compound.setString("curseFilenameParser", "ThaumicTinkerer-[].jar");
        compound.setString("modDisplayName", "Thaumic Tinkerer");
        FMLInterModComms.sendRuntimeMessage(LibMisc.MOD_ID, "VersionChecker", "addCurseCheck", compound);
    }

    public void postInit(FMLPostInitializationEvent event) {
        ResearchHelper.initResearch();
        ThaumicTinkerer.registry.postInit();
        AspectCropLootManager.populateLootMap();
    }

    protected void initCCPeripherals() {
        /*IPeripheralHandler handler = new PeripheralHandler();

    Class[] peripheralClasses = new Class[] {
        TileAlembic.class, TileCentrifuge.class, TileCrucible.class, TileFunnel.class,
        TileInfusionMatrix.class, TileJarFillable.class, TileJarNode.class, TileNode.class,
        TileRepairer.class, TileTubeFilter.class, TileTransvectorInterface.class, TileWandPedestal.class,
        TileDeconstructionTable.class, TileJarBrain.class, TileSensor.class, TileArcaneBore.class,IEssentiaTransport.class
    };
        // DUMMY CHANGE
        for(Class clazz : peripheralClasses)
      ComputerCraftAPI.registerExternalPeripheral(clazz, handler);
     
    TurtleAPI.registerUpgrade(new FumeTool());*/
    }

    @Optional.Method(modid = "OpenComputers")
    public void initOpenCDrivers() {
        Driver.add(new DriverIAspectContainer());
        Driver.add(new DriverArcaneEar());
        Driver.add(new DriverBrainInAJar());
        Driver.add(new DriverDeconstructor());
        Driver.add(new DriverEssentiaTransport());
        Driver.add(new DriverArcaneBore());

    }

    public boolean isClient() {
        return false;
    }

    public boolean armorStatus(EntityPlayer player) {
        return KamiArmorHandler.getArmorStatus(player);
    }

    public void setArmor(EntityPlayer player, boolean status) {
        KamiArmorHandler.setArmorStatus(player, status);
    }

    public EntityPlayer getClientPlayer() {
        return null;
    }

    public void shadowSparkle(World world, float x, float y, float z, int size) {
        // NO-OP
    }
}
TOP

Related Classes of thaumic.tinkerer.common.core.proxy.TTCommonProxy

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.