package mcjty.rftools.blocks.dimlets;
import cpw.mods.fml.common.registry.GameRegistry;
import mcjty.lib.container.GenericItemBlock;
import mcjty.rftools.GeneralConfiguration;
import mcjty.rftools.RFTools;
import mcjty.rftools.blocks.ModBlocks;
import mcjty.rftools.blocks.shards.*;
import mcjty.rftools.items.dimensionmonitor.DimensionMonitorItem;
import mcjty.rftools.items.dimensionmonitor.PhasedFieldGeneratorItem;
import mcjty.rftools.items.dimlets.*;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class DimletSetup {
public static DimletResearcherBlock dimletResearcherBlock;
public static DimletScramblerBlock dimletScramblerBlock;
public static DimensionEnscriberBlock dimensionEnscriberBlock;
public static DimensionBuilderBlock dimensionBuilderBlock;
public static DimensionBuilderBlock creativeDimensionBuilderBlock;
public static DimensionEditorBlock dimensionEditorBlock;
public static DimensionMonitorBlock dimensionMonitorBlock;
public static DimensionalShardBlock dimensionalShardBlock;
public static DimensionalBlankBlock dimensionalBlankBlock;
public static DimensionalBlock dimensionalBlock;
public static DimensionalSmallBlocks dimensionalSmallBlocks;
public static DimensionalCrossBlock dimensionalCrossBlock;
public static DimensionalCross2Block dimensionalCross2Block;
public static DimensionalPattern1Block dimensionalPattern1Block;
public static DimensionalPattern2Block dimensionalPattern2Block;
public static ActivityProbeBlock activityProbeBlock;
public static EnergyExtractorBlock energyExtractorBlock;
public static UnknownDimlet unknownDimlet;
public static DimletTemplate dimletTemplate;
public static KnownDimlet knownDimlet;
public static EmptyDimensionTab emptyDimensionTab;
public static RealizedDimensionTab realizedDimensionTab;
public static DimensionMonitorItem dimensionMonitorItem;
public static PhasedFieldGeneratorItem phasedFieldGeneratorItem;
public static DimensionalShard dimensionalShard;
public static InfusedDiamond infusedDiamond;
public static void setupBlocks() {
dimletResearcherBlock = new DimletResearcherBlock();
GameRegistry.registerBlock(dimletResearcherBlock, GenericItemBlock.class, "dimletResearcherBlock");
GameRegistry.registerTileEntity(DimletResearcherTileEntity.class, "DimletResearcherTileEntity");
dimletScramblerBlock = new DimletScramblerBlock();
GameRegistry.registerBlock(dimletScramblerBlock, GenericItemBlock.class, "dimletScramblerBlock");
GameRegistry.registerTileEntity(DimletScramblerTileEntity.class, "DimletScramblerTileEntity");
dimensionEnscriberBlock = new DimensionEnscriberBlock();
GameRegistry.registerBlock(dimensionEnscriberBlock, GenericItemBlock.class, "dimensionEnscriberBlock");
GameRegistry.registerTileEntity(DimensionEnscriberTileEntity.class, "DimensionEnscriberTileEntity");
dimensionBuilderBlock = new DimensionBuilderBlock(false, "dimensionBuilderBlock");
GameRegistry.registerBlock(dimensionBuilderBlock, GenericItemBlock.class, "dimensionBuilderBlock");
GameRegistry.registerTileEntity(DimensionBuilderTileEntity.class, "DimensionBuilderTileEntity");
creativeDimensionBuilderBlock = new DimensionBuilderBlock(true, "creativeDimensionBuilderBlock");
GameRegistry.registerBlock(creativeDimensionBuilderBlock, GenericItemBlock.class, "creativeDimensionBuilderBlock");
dimensionEditorBlock = new DimensionEditorBlock();
GameRegistry.registerBlock(dimensionEditorBlock, GenericItemBlock.class, "dimensionEditorBlock");
GameRegistry.registerTileEntity(DimensionEditorTileEntity.class, "DimensionEditorTileEntity");
dimensionMonitorBlock = new DimensionMonitorBlock();
GameRegistry.registerBlock(dimensionMonitorBlock, GenericItemBlock.class, "dimensionMonitorBlock");
GameRegistry.registerTileEntity(DimensionMonitorTileEntity.class, "DimensionMonitorTileEntity");
dimensionalShardBlock = new DimensionalShardBlock();
GameRegistry.registerBlock(dimensionalShardBlock, "dimensionalShardBlock");
dimensionalBlankBlock = new DimensionalBlankBlock();
GameRegistry.registerBlock(dimensionalBlankBlock, "dimensionalBlankBlock");
dimensionalBlock = new DimensionalBlock();
GameRegistry.registerBlock(dimensionalBlock, "dimensionalBlock");
dimensionalSmallBlocks = new DimensionalSmallBlocks();
GameRegistry.registerBlock(dimensionalSmallBlocks, "dimensionalSmallBlocks");
dimensionalCrossBlock = new DimensionalCrossBlock();
GameRegistry.registerBlock(dimensionalCrossBlock, "dimensionalCrossBlock");
dimensionalCross2Block = new DimensionalCross2Block();
GameRegistry.registerBlock(dimensionalCross2Block, "dimensionalCross2Block");
dimensionalPattern1Block = new DimensionalPattern1Block();
GameRegistry.registerBlock(dimensionalPattern1Block, "dimensionalPattern1Block");
dimensionalPattern2Block = new DimensionalPattern2Block();
GameRegistry.registerBlock(dimensionalPattern2Block, "dimensionalPattern2Block");
activityProbeBlock = new ActivityProbeBlock();
GameRegistry.registerBlock(activityProbeBlock, "activityProbeBlock");
energyExtractorBlock = new EnergyExtractorBlock();
GameRegistry.registerBlock(energyExtractorBlock, GenericItemBlock.class, "energyExtractorBlock");
GameRegistry.registerTileEntity(EnergyExtractorTileEntity.class, "EnergyExtractorTileEntity");
}
public static void setupItems() {
unknownDimlet = new UnknownDimlet();
unknownDimlet.setUnlocalizedName("UnknownDimlet");
unknownDimlet.setCreativeTab(RFTools.tabRfToolsDimlets);
unknownDimlet.setTextureName(RFTools.MODID + ":unknownDimletItem");
GameRegistry.registerItem(unknownDimlet, "unknownDimlet");
knownDimlet = new KnownDimlet();
knownDimlet.setUnlocalizedName("KnownDimlet");
knownDimlet.setCreativeTab(RFTools.tabRfToolsDimlets);
GameRegistry.registerItem(knownDimlet, "knownDimlet");
dimletTemplate = new DimletTemplate();
dimletTemplate.setUnlocalizedName("DimletTemplate");
dimletTemplate.setCreativeTab(RFTools.tabRfToolsDimlets);
dimletTemplate.setTextureName(RFTools.MODID + ":dimletTemplateItem");
GameRegistry.registerItem(dimletTemplate, "dimletTemplate");
emptyDimensionTab = new EmptyDimensionTab();
emptyDimensionTab.setUnlocalizedName("EmptyDimensionTab");
emptyDimensionTab.setCreativeTab(RFTools.tabRfTools);
emptyDimensionTab.setTextureName(RFTools.MODID + ":emptyDimensionTabItem");
GameRegistry.registerItem(emptyDimensionTab, "emptyDimensionTab");
realizedDimensionTab = new RealizedDimensionTab();
realizedDimensionTab.setUnlocalizedName("RealizedDimensionTab");
realizedDimensionTab.setCreativeTab(RFTools.tabRfTools);
realizedDimensionTab.setTextureName(RFTools.MODID + ":realizedDimensionTabItem");
GameRegistry.registerItem(realizedDimensionTab, "realizedDimensionTab");
dimensionMonitorItem = new DimensionMonitorItem();
dimensionMonitorItem.setUnlocalizedName("DimensionMonitor");
dimensionMonitorItem.setCreativeTab(RFTools.tabRfTools);
GameRegistry.registerItem(dimensionMonitorItem, "dimensionMonitorItem");
phasedFieldGeneratorItem = new PhasedFieldGeneratorItem();
phasedFieldGeneratorItem.setUnlocalizedName("PhasedFieldGenerator");
phasedFieldGeneratorItem.setCreativeTab(RFTools.tabRfTools);
GameRegistry.registerItem(phasedFieldGeneratorItem, "phasedFieldGeneratorItem");
dimensionalShard = new DimensionalShard();
dimensionalShard.setUnlocalizedName("DimensionalShard");
dimensionalShard.setCreativeTab(RFTools.tabRfTools);
dimensionalShard.setTextureName(RFTools.MODID + ":dimensionalShardItem");
GameRegistry.registerItem(dimensionalShard, "dimensionalShardItem");
infusedDiamond = new InfusedDiamond();
infusedDiamond.setUnlocalizedName("InfusedDiamond");
infusedDiamond.setCreativeTab(RFTools.tabRfTools);
infusedDiamond.setTextureName(RFTools.MODID + ":infusedDiamond");
GameRegistry.registerItem(infusedDiamond, "infusedDiamondItem");
}
public static void setupCrafting() {
Object inkSac = Item.itemRegistry.getObjectById(351);
GameRegistry.addSmelting(dimensionalShardBlock, new ItemStack(dimensionalShard, 4), 1.0f);
GameRegistry.addRecipe(new ItemStack(dimletResearcherBlock), "rur", "cMc", "iii", 'r', Items.redstone, 'u', unknownDimlet, 'c', Items.comparator,
'M', ModBlocks.machineFrame, 'i', Items.iron_ingot);
GameRegistry.addRecipe(new ItemStack(dimletScramblerBlock), "uru", "cMc", "iii", 'r', Items.redstone, 'u', unknownDimlet, 'c', Items.repeater,
'M', ModBlocks.machineFrame, 'i', Items.iron_ingot);
GameRegistry.addRecipe(new ItemStack(dimensionEnscriberBlock), "rpr", "bMb", "iii", 'r', Items.redstone, 'p', Items.paper, 'b', inkSac,
'M', ModBlocks.machineFrame, 'i', Items.iron_ingot);
if (GeneralConfiguration.enableDimensionBuilderRecipe) {
GameRegistry.addRecipe(new ItemStack(dimensionBuilderBlock), "oEo", "DMD", "ggg", 'o', Items.ender_pearl, 'E', Items.emerald, 'D', Items.diamond,
'M', ModBlocks.machineFrame, 'g', Items.gold_ingot);
}
if (GeneralConfiguration.enableDimensionEditorRecipe) {
GameRegistry.addRecipe(new ItemStack(dimensionEditorBlock), "oEo", "DMD", "ggg", 'o', Items.redstone, 'E', Items.emerald, 'D', Items.diamond,
'M', ModBlocks.machineFrame, 'g', Items.gold_ingot);
}
GameRegistry.addRecipe(new ItemStack(activityProbeBlock), "sss", "oMo", "sss", 'o', Items.ender_pearl, 's', dimensionalShard,
'M', ModBlocks.machineFrame);
GameRegistry.addRecipe(new ItemStack(energyExtractorBlock), "RoR", "sMs", "RsR", 'o', Items.ender_pearl, 's', dimensionalShard,
'M', ModBlocks.machineFrame, 'R', Blocks.redstone_block);
GameRegistry.addRecipe(new ItemStack(dimensionalBlankBlock, 8), "bbb", "b*b", "bbb", 'b', Blocks.stone, '*', dimensionalShard);
GameRegistry.addShapelessRecipe(new ItemStack(dimensionalBlock), new ItemStack(dimensionalBlankBlock));
GameRegistry.addRecipe(new ItemStack(dimensionalSmallBlocks, 4), "bb ", "bb ", " ", 'b', dimensionalBlankBlock);
GameRegistry.addRecipe(new ItemStack(dimensionalCrossBlock, 5), " b ", "bbb", " b ", 'b', dimensionalBlankBlock);
GameRegistry.addRecipe(new ItemStack(dimensionalCross2Block, 5), "b b", " b ", "b b", 'b', dimensionalBlankBlock);
GameRegistry.addRecipe(new ItemStack(dimensionalPattern1Block, 7), "bxb", "bbb", "bxb", 'b', dimensionalBlankBlock, 'x', inkSac);
ItemStack bonemealStack = new ItemStack(Items.dye, 1, 15);
GameRegistry.addRecipe(new ItemStack(dimensionalPattern2Block, 7), "bxb", "bbb", "bxb", 'b', dimensionalBlankBlock, 'x', bonemealStack);
Object redstoneTorch = Item.itemRegistry.getObject("redstone_torch");
GameRegistry.addRecipe(new ItemStack(DimletSetup.dimensionMonitorBlock), " u ", "TMT", "rCr", 'u', unknownDimlet, 'r', Items.redstone, 'T', redstoneTorch, 'M', ModBlocks.machineBase,
'C', Items.comparator);
GameRegistry.addRecipe(new ItemStack(emptyDimensionTab), "prp", "rpr", "prp", 'p', Items.paper, 'r', Items.redstone);
GameRegistry.addRecipe(new ItemStack(dimensionMonitorItem), " u ", "rCr", " u ", 'u', unknownDimlet, 'r', Items.redstone, 'C', Items.comparator);
GameRegistry.addRecipe(new ItemStack(phasedFieldGeneratorItem), "rsr", "sEs", "rsr", 'E', Items.ender_eye, 'r', Items.redstone, 's', dimensionalShard);
GameRegistry.addRecipe(new ItemStack(dimletTemplate), "sss", "sps", "sss", 's', dimensionalShard, 'p', Items.paper);
GameRegistry.addRecipe(new ItemStack(infusedDiamond), "sss", "sds", "sss", 's', dimensionalShard, 'd', Items.diamond);
if (DimletConfiguration.dimensionalShardRecipe) {
GameRegistry.addRecipe(new ItemStack(dimensionalShard, 8), "deg", "irG", "qcL", 'd', Items.diamond, 'e', Items.emerald, 'g', Items.gold_ingot,
'i', Items.iron_ingot, 'r', Items.redstone, 'G', Items.glowstone_dust, 'q', Items.quartz, 'c', Items.coal, 'L', Blocks.glass);
}
}
}