package buildcraftAdditions.compat.eureka;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.registry.GameRegistry;
import buildcraftAdditions.blocks.BlockBasic;
import buildcraftAdditions.compat.buildcraft.BCItems;
import buildcraftAdditions.compat.eureka.drophandlers.KineticToolDropHandler;
import buildcraftAdditions.compat.eureka.drophandlers.PortableLaserDropHandler;
import buildcraftAdditions.reference.BlockLoader;
import buildcraftAdditions.reference.ItemLoader;
import buildcraftAdditions.reference.Variables;
import eureka.api.BasicDropHandler;
import eureka.api.BasicEurekaCategory;
import eureka.api.BasicEurekaInfo;
import eureka.api.EnumProgressOptions;
import eureka.api.EurekaAPI;
/**
* Copyright (c) 2014-2015, AEnterprise
* http://buildcraftadditions.wordpress.com/
* Buildcraft Additions is distributed under the terms of GNU GPL v3.0
* Please check the contents of the license located in
* http://buildcraftadditions.wordpress.com/wiki/licensing-stuff/
*/
public class BCAEurekaResearch {
private static final Block KEBT2 = new BlockBasic("KEB/T2/5");
private static final Block KEBT3 = new BlockBasic("KEB/T3/4");
public static void addEurekeResearch() {
GameRegistry.registerBlock(KEBT2, "kebT2DisplayItem");
GameRegistry.registerBlock(KEBT3, "kebT3DisplayItem");
EurekaAPI.API.registerCategory(new BasicEurekaCategory("BCA-Dusters", BlockLoader.kineticDusterBlock));
EurekaAPI.API.register(new BasicEurekaInfo(Variables.Eureka.DustT0Key, "BCA-Dusters", 1, BlockLoader.basicDusterBlock));
EurekaAPI.API.bindToKey(BlockLoader.basicDusterBlock, Variables.Eureka.DustT0Key);
EurekaAPI.API.registerDropHandler(new BasicDropHandler(new ItemStack(BlockLoader.basicDusterBlock), new ItemStack(BCItems.STONE_GEAR, 2), new ItemStack(Items.iron_ingot), new ItemStack(Blocks.stone, 5), new ItemStack(Items.slime_ball)));
EurekaAPI.API.register(new BasicEurekaInfo(Variables.Eureka.DustT1Key, "BCA-Dusters", 20, BlockLoader.semiAutomaticDusterBlock, Variables.Eureka.DustT0Key));
EurekaAPI.API.bindToKey(BlockLoader.semiAutomaticDusterBlock, Variables.Eureka.DustT1Key);
EurekaAPI.API.registerDropHandler(new BasicDropHandler(new ItemStack(BlockLoader.semiAutomaticDusterBlock), new ItemStack(BCItems.PIPE_ITEMS_GOLD, 2), new ItemStack(Items.gold_ingot), new ItemStack(BCItems.PIPE_ITEMS_GOLD, 2), new ItemStack(Blocks.stone, 3), new ItemStack(Items.slime_ball)));
EurekaAPI.API.register(new BasicEurekaInfo(Variables.Eureka.DustT2Key1, "BCA-Dusters", 40, BlockLoader.mechanicalDusterBlock, Variables.Eureka.DustT1Key));
EurekaAPI.API.bindToKey(BlockLoader.mechanicalDusterBlock, Variables.Eureka.DustT2Key1);
EurekaAPI.API.registerDropHandler(new BasicDropHandler(new ItemStack(BlockLoader.mechanicalDusterBlock), new ItemStack(BCItems.IRON_GEAR, 2), new ItemStack(Items.gold_ingot, 1), new ItemStack(ItemLoader.grindingWheel, 1), new ItemStack(Blocks.stone, 5)));
EurekaAPI.API.register(new BasicEurekaInfo(Variables.Eureka.DustT2Key2, "BCA-Dusters", 20, BlockLoader.kineticDusterBlock, Variables.Eureka.DustT2Key1));
EurekaAPI.API.bindToKey(BlockLoader.kineticDusterBlock, Variables.Eureka.DustT2Key2);
EurekaAPI.API.registerDropHandler(new BasicDropHandler(new ItemStack(BlockLoader.kineticDusterBlock), new ItemStack(Blocks.glass, 3), new ItemStack(BCItems.PIPE_ITEMS_GOLD, 2), new ItemStack(BCItems.GOLD_GEAR, 2), new ItemStack(BCItems.DIAMOND_GEAR)));
EurekaAPI.API.registerCategory(new BasicEurekaCategory("BCA-Furnace+Coils", BlockLoader.heatedFurnaceBlock));
EurekaAPI.API.register(new BasicEurekaInfo(Variables.Eureka.HEATED_FURNACE, "BCA-Furnace+Coils", 5, BlockLoader.heatedFurnaceBlock));
EurekaAPI.API.bindToKey(BlockLoader.heatedFurnaceBlock, Variables.Eureka.HEATED_FURNACE);
EurekaAPI.API.registerDropHandler(new BasicDropHandler(new ItemStack(BlockLoader.heatedFurnaceBlock), new ItemStack(Blocks.furnace), new ItemStack(Items.iron_ingot, 8)));
EurekaAPI.API.registerProgressOption(Variables.Eureka.HEATED_FURNACE, EnumProgressOptions.PLACE_BLOCK, Blocks.furnace);
EurekaAPI.API.register(new BasicEurekaInfo(Variables.Eureka.BASIC_COIL, "BCA-Furnace+Coils", 1, BlockLoader.basicCoilBlock, Variables.Eureka.HEATED_FURNACE));
EurekaAPI.API.bindToKey(BlockLoader.basicCoilBlock, Variables.Eureka.BASIC_COIL);
EurekaAPI.API.registerDropHandler(new BasicDropHandler(new ItemStack(BlockLoader.basicCoilBlock), new ItemStack(Items.iron_ingot), new ItemStack(ItemLoader.itemIronWire, 8)));
EurekaAPI.API.registerProgressOption(Variables.Eureka.BASIC_COIL, EnumProgressOptions.PLACE_BLOCK, BlockLoader.heatedFurnaceBlock);
EurekaAPI.API.register(new BasicEurekaInfo(Variables.Eureka.LAVA_COIL, "BCA-Furnace+Coils", 5, BlockLoader.lavaCoilBlock, Variables.Eureka.BASIC_COIL));
EurekaAPI.API.bindToKey(BlockLoader.lavaCoilBlock, Variables.Eureka.LAVA_COIL);
EurekaAPI.API.registerDropHandler(new BasicDropHandler(new ItemStack(BlockLoader.lavaCoilBlock), new ItemStack(Items.iron_ingot), new ItemStack(ItemLoader.goldWire, 8)));
EurekaAPI.API.registerProgressOption(Variables.Eureka.LAVA_COIL, EnumProgressOptions.PLACE_BLOCK, BlockLoader.basicCoilBlock);
EurekaAPI.API.register(new BasicEurekaInfo(Variables.Eureka.KINETIC_COIL, "BCA-Furnace+Coils", 4, BlockLoader.kineticCoil, Variables.Eureka.LAVA_COIL));
EurekaAPI.API.bindToKey(BlockLoader.kineticCoil, Variables.Eureka.KINETIC_COIL);
EurekaAPI.API.registerDropHandler(new BasicDropHandler(new ItemStack(BlockLoader.kineticCoil), new ItemStack(Items.iron_ingot), new ItemStack(ItemLoader.diamondWire, 8)));
EurekaAPI.API.registerProgressOption(Variables.Eureka.KINETIC_COIL, EnumProgressOptions.PLACE_BLOCK, BlockLoader.lavaCoilBlock);
EurekaAPI.API.registerCategory(new BasicEurekaCategory("BCA-KEBS", KEBT3));
EurekaAPI.API.register(new BasicEurekaInfo(Variables.Eureka.KEBT1, "BCA-KEBS", 3, BlockLoader.kebT1));
EurekaAPI.API.bindToKey(BlockLoader.kebT1, Variables.Eureka.KEBT1);
EurekaAPI.API.registerDropHandler(new BasicDropHandler(new ItemStack(BlockLoader.kebT1), new ItemStack(Items.iron_ingot, 4), new ItemStack(ItemLoader.powerCapsuleTier1, 3), new ItemStack(BCItems.PIPE_POWER_GOLD, 2)));
EurekaAPI.API.registerProgressOption(Variables.Eureka.KEBT1, EnumProgressOptions.CRAFTING, ItemLoader.powerCapsuleTier1);
EurekaAPI.API.register(new BasicEurekaInfo(Variables.Eureka.KEBT2, "BCA-KEBS", 4, KEBT2, Variables.Eureka.KEBT1));
EurekaAPI.API.bindToKey(BlockLoader.kebT2, Variables.Eureka.KEBT2);
EurekaAPI.API.registerDropHandler(new BasicDropHandler(new ItemStack(BlockLoader.kebT2), new ItemStack(Items.iron_ingot, 6), new ItemStack(BCItems.PIPE_POWER_GOLD, 2), new ItemStack(ItemLoader.powerCapsuleTier2)));
EurekaAPI.API.registerProgressOption(Variables.Eureka.KEBT2, EnumProgressOptions.PLACE_BLOCK, BlockLoader.kebT1);
EurekaAPI.API.register(new BasicEurekaInfo(Variables.Eureka.KEBT3, "BCA-KEBS", 2, KEBT3, Variables.Eureka.KEBT2));
EurekaAPI.API.bindToKey(BlockLoader.kebT3Plating, Variables.Eureka.KEBT3);
EurekaAPI.API.bindToKey(BlockLoader.kebT3Core, Variables.Eureka.KEBT3);
EurekaAPI.API.registerDropHandler(new BasicDropHandler(new ItemStack(BlockLoader.kebT3Plating), new ItemStack(BCItems.PIPE_POWER_DIAMOND, 2), new ItemStack(Items.gold_ingot, 4), new ItemStack(Items.iron_ingot, 3)));
EurekaAPI.API.registerDropHandler(new BasicDropHandler(new ItemStack(BlockLoader.kebT3Core)));
EurekaAPI.API.registerCategory(new BasicEurekaCategory("BCA-Tools", ItemLoader.portableLaser));
EurekaAPI.API.register(new BasicEurekaInfo(Variables.Eureka.KineticToolKey, "BCA-Tools", 15, ItemLoader.kineticMultiTool));
EurekaAPI.API.bindToKey(ItemLoader.kineticMultiTool, Variables.Eureka.KineticToolKey);
EurekaAPI.API.registerDropHandler(new KineticToolDropHandler());
EurekaAPI.API.register(new BasicEurekaInfo(Variables.Eureka.PORTABLE_LASER, "BCA-Tools", 4, ItemLoader.portableLaser));
EurekaAPI.API.bindToKey(ItemLoader.portableLaser, Variables.Eureka.PORTABLE_LASER);
EurekaAPI.API.registerDropHandler(new PortableLaserDropHandler());
EurekaAPI.API.registerProgressOption(Variables.Eureka.PORTABLE_LASER, EnumProgressOptions.CRAFTING, ((ItemBlock) new ItemStack(BCItems.LASER).getItem()).field_150939_a);
}
}