/*
* This file is part of Matter Overdrive
* Copyright (c) 2015., Simeon Radivoev, All rights reserved.
*
* Matter Overdrive is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Matter Overdrive is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Matter Overdrive. If not, see <http://www.gnu.org/licenses>.
*/
package matteroverdrive.init;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import matteroverdrive.api.android.IAndroidStatRegistry;
import matteroverdrive.data.biostats.*;
import matteroverdrive.handler.ConfigurationHandler;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
/**
* Created by Simeon on 9/12/2015.
*/
public class MatterOverdriveBioticStats
{
public static BioticStatTeleport teleport;
public static BiostatNanobots nanobots;
public static BioticStatNanoArmor nanoArmor;
public static BioticStatFlotation flotation;
public static BioticStatSpeed speed;
public static BioticStatHighJump highJump;
public static BioticStatEqualizer equalizer;
public static BioticStatShield shield;
public static BioticStatAttack attack;
public static BioticStatCloak cloak;
public static BioticStatNightVision nightvision;
public static BioticStatMinimap minimap;
public static BioticStatFlashCooling flashCooling;
public static BioticStatShockwave shockwave;
public static void init(FMLPreInitializationEvent event)
{
teleport = new BioticStatTeleport("teleport",48);
nanobots = new BiostatNanobots("nanobots",26);
nanoArmor = new BioticStatNanoArmor("nano_armor",30);
flotation = new BioticStatFlotation("floatation",14);
speed = new BioticStatSpeed("speed",18);
highJump = new BioticStatHighJump("high_jump",36);
highJump.addReqiredItm(new ItemStack(Blocks.piston));
equalizer = new BioticStatEqualizer("equalizer",24);
equalizer.addReqiredItm(new ItemStack(MatterOverdriveItems.spacetime_equalizer));
shield = new BioticStatShield("shield",36);
attack = new BioticStatAttack("attack",30);
cloak = new BioticStatCloak("cloak",36);
nightvision = new BioticStatNightVision("nightvision",28);
minimap = new BioticStatMinimap("minimap",18);
flashCooling = new BioticStatFlashCooling("flash_cooling",28);
shockwave = new BioticStatShockwave("shockwave",32);
}
public static void register(FMLInitializationEvent event)
{
teleport.addReqiredItm(new ItemStack(MatterOverdriveItems.h_compensator));
teleport.addToEnabledBlacklist(shield);
nanoArmor.setRoot(nanobots);
nanoArmor.addCompetitor(attack);
highJump.setRoot(speed);
highJump.addToEnabledBlacklist(shield);
equalizer.setRoot(highJump);
shield.setRoot(nanoArmor);
shield.addReqiredItm(new ItemStack(MatterOverdriveItems.forceFieldEmitter, 2));
attack.addCompetitor(nanoArmor);
attack.setRoot(nanobots);
cloak.setRoot(shield);
minimap.addReqiredItm(new ItemStack(Items.compass));
flashCooling.setRoot(attack);
shockwave.setRoot(flashCooling);
}
public static void registerAll(ConfigurationHandler configurationHandler,IAndroidStatRegistry androidStatRegistry)
{
androidStatRegistry.registerStat(teleport);
androidStatRegistry.registerStat(nanobots);
androidStatRegistry.registerStat(nanoArmor);
androidStatRegistry.registerStat(flotation);
androidStatRegistry.registerStat(speed);
androidStatRegistry.registerStat(highJump);
androidStatRegistry.registerStat(equalizer);
androidStatRegistry.registerStat(shield);
androidStatRegistry.registerStat(attack);
androidStatRegistry.registerStat(cloak);
androidStatRegistry.registerStat(nightvision);
androidStatRegistry.registerStat(minimap);
androidStatRegistry.registerStat(flashCooling);
androidStatRegistry.registerStat(shockwave);
configurationHandler.subscribe(teleport);
configurationHandler.subscribe(shield);
configurationHandler.subscribe(nanobots);
configurationHandler.subscribe(cloak);
configurationHandler.subscribe(highJump);
configurationHandler.subscribe(nightvision);
}
}