package mcjty.rftools.blocks.storage;
import cpw.mods.fml.common.registry.GameRegistry;
import mcjty.lib.container.GenericItemBlock;
import mcjty.rftools.RFTools;
import mcjty.rftools.blocks.ModBlocks;
import mcjty.rftools.blocks.dimlets.DimletSetup;
import mcjty.rftools.crafting.ContainerAndItemRecipe;
import mcjty.rftools.crafting.ContainerToItemRecipe;
import mcjty.rftools.crafting.PreservingShapedRecipe;
import mcjty.rftools.items.storage.*;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
public class ModularStorageSetup {
public static ModularStorageBlock modularStorageBlock;
public static RemoteStorageBlock remoteStorageBlock;
public static StorageModuleTabletItem storageModuleTabletItem;
public static StorageModuleItem storageModuleItem;
public static DimletTypeItem dimletTypeItem;
public static OreDictTypeItem oreDictTypeItem;
public static GenericTypeItem genericTypeItem;
public static StorageFilterItem storageFilterItem;
public static void setupBlocks() {
modularStorageBlock = new ModularStorageBlock();
GameRegistry.registerBlock(modularStorageBlock, GenericItemBlock.class, "modularStorageBlock");
GameRegistry.registerTileEntity(ModularStorageTileEntity.class, "ModularStorageTileEntity");
remoteStorageBlock = new RemoteStorageBlock();
GameRegistry.registerBlock(remoteStorageBlock, GenericItemBlock.class, "remoteStorageBlock");
GameRegistry.registerTileEntity(RemoteStorageTileEntity.class, "RemoteStorageTileEntity");
}
public static void setupItems() {
storageModuleTabletItem = new StorageModuleTabletItem();
storageModuleTabletItem.setUnlocalizedName("StorageModuleTablet");
storageModuleTabletItem.setCreativeTab(RFTools.tabRfTools);
GameRegistry.registerItem(storageModuleTabletItem, "storageModuleTabletItem");
storageModuleItem = new StorageModuleItem();
storageModuleItem.setUnlocalizedName("StorageModule");
storageModuleItem.setCreativeTab(RFTools.tabRfTools);
storageModuleItem.setTextureName(RFTools.MODID + ":storage/storageModule");
GameRegistry.registerItem(storageModuleItem, "storageModuleItem");
dimletTypeItem = new DimletTypeItem();
dimletTypeItem.setUnlocalizedName("DimletModule");
dimletTypeItem.setCreativeTab(RFTools.tabRfTools);
dimletTypeItem.setTextureName(RFTools.MODID + ":storage/dimletModule");
GameRegistry.registerItem(dimletTypeItem, "dimletTypeItem");
oreDictTypeItem = new OreDictTypeItem();
oreDictTypeItem.setUnlocalizedName("OreDictModule");
oreDictTypeItem.setCreativeTab(RFTools.tabRfTools);
oreDictTypeItem.setTextureName(RFTools.MODID + ":storage/oreDictModule");
GameRegistry.registerItem(oreDictTypeItem, "oreDictTypeItem");
genericTypeItem = new GenericTypeItem();
genericTypeItem.setUnlocalizedName("GenericModule");
genericTypeItem.setCreativeTab(RFTools.tabRfTools);
genericTypeItem.setTextureName(RFTools.MODID + ":storage/genericModule");
GameRegistry.registerItem(genericTypeItem, "genericTypeItem");
storageFilterItem = new StorageFilterItem();
storageFilterItem.setUnlocalizedName("FilterModule");
storageFilterItem.setCreativeTab(RFTools.tabRfTools);
storageFilterItem.setTextureName(RFTools.MODID + ":storage/filterModule");
GameRegistry.registerItem(storageFilterItem, "storageFilterItem");
}
public static void setupCrafting() {
GameRegistry.addRecipe(new ItemStack(modularStorageBlock), "rcr", "qMq", "rqr", 'M', ModBlocks.machineFrame, 'c', Blocks.chest, 'r', Items.redstone, 'q', Items.quartz);
GameRegistry.addRecipe(new ItemStack(remoteStorageBlock), "ece", "qMq", "eqe", 'M', ModBlocks.machineFrame, 'c', Blocks.chest, 'e', Items.ender_pearl, 'q', Items.quartz);
GameRegistry.addRecipe(new ItemStack(dimletTypeItem), " u ", "rir", " p ", 'u', DimletSetup.unknownDimlet, 'p', Items.paper, 'r', Items.redstone, 'i', Items.iron_ingot);
GameRegistry.addRecipe(new ItemStack(oreDictTypeItem), " u ", "rir", " p ", 'u', Blocks.iron_ore, 'p', Items.paper, 'r', Items.redstone, 'i', Items.iron_ingot);
GameRegistry.addRecipe(new ItemStack(genericTypeItem), " p ", "rir", " p ", 'p', Items.paper, 'r', Items.redstone, 'i', Items.iron_ingot);
GameRegistry.addRecipe(new ItemStack(storageFilterItem), " h ", "rir", " p ", 'h', Blocks.hopper, 'p', Items.paper, 'r', Items.redstone, 'i', Items.iron_ingot);
GameRegistry.addRecipe(new ItemStack(storageModuleTabletItem, 1, StorageModuleTabletItem.DAMAGE_EMPTY), "geg", "rqr", "grg", 'g', Items.gold_nugget, 'e', Items.emerald, 'r', Blocks.redstone_block, 'q', Blocks.quartz_block);
GameRegistry.addRecipe(new ContainerAndItemRecipe(new ItemStack(storageModuleTabletItem, 1, StorageModuleTabletItem.DAMAGE_EMPTY), new ItemStack(storageModuleItem, 1, StorageModuleItem.STORAGE_TIER1),
new ItemStack(storageModuleTabletItem, 1, StorageModuleTabletItem.DAMAGE_FULL)));
GameRegistry.addRecipe(new ContainerAndItemRecipe(new ItemStack(storageModuleTabletItem, 1, StorageModuleTabletItem.DAMAGE_EMPTY), new ItemStack(storageModuleItem, 1, StorageModuleItem.STORAGE_TIER2),
new ItemStack(storageModuleTabletItem, 1, StorageModuleTabletItem.DAMAGE_FULL)));
GameRegistry.addRecipe(new ContainerAndItemRecipe(new ItemStack(storageModuleTabletItem, 1, StorageModuleTabletItem.DAMAGE_EMPTY), new ItemStack(storageModuleItem, 1, StorageModuleItem.STORAGE_TIER3),
new ItemStack(storageModuleTabletItem, 1, StorageModuleTabletItem.DAMAGE_FULL)));
GameRegistry.addRecipe(new ContainerAndItemRecipe(new ItemStack(storageModuleTabletItem, 1, StorageModuleTabletItem.DAMAGE_EMPTY), new ItemStack(storageModuleItem, 1, StorageModuleItem.STORAGE_REMOTE),
new ItemStack(storageModuleTabletItem, 1, StorageModuleTabletItem.DAMAGE_FULL)));
GameRegistry.addRecipe(new ContainerToItemRecipe(new ItemStack(storageModuleTabletItem, 1, StorageModuleTabletItem.DAMAGE_FULL),
new ItemStack(storageModuleItem)));
GameRegistry.addRecipe(new ItemStack(storageModuleItem, 1, StorageModuleItem.STORAGE_TIER1), " c ", "gig", "qrq", 'r', Items.redstone, 'i', Items.iron_ingot,
'g', Items.gold_nugget, 'c', Blocks.chest, 'q', Items.quartz);
GameRegistry.addRecipe(new PreservingShapedRecipe(3, 3, new ItemStack[]{
null, new ItemStack(Blocks.chest), null,
new ItemStack(Items.gold_ingot), new ItemStack(storageModuleItem, 1, StorageModuleItem.STORAGE_TIER1), new ItemStack(Items.gold_ingot),
new ItemStack(Items.quartz), new ItemStack(Items.redstone), new ItemStack(Items.quartz)},
new ItemStack(storageModuleItem, 1, StorageModuleItem.STORAGE_TIER2), 4));
GameRegistry.addRecipe(new PreservingShapedRecipe(3, 3, new ItemStack[]{
null, new ItemStack(Blocks.chest), null,
new ItemStack(Blocks.gold_block), new ItemStack(storageModuleItem, 1, StorageModuleItem.STORAGE_TIER2), new ItemStack(Blocks.gold_block),
new ItemStack(Blocks.quartz_block), new ItemStack(Blocks.redstone_block), new ItemStack(Blocks.quartz_block)},
new ItemStack(storageModuleItem, 1, StorageModuleItem.STORAGE_TIER3), 4));
GameRegistry.addRecipe(new ItemStack(storageModuleItem, 1, StorageModuleItem.STORAGE_REMOTE), "ece", "gig", "qrq", 'r', Items.redstone, 'i', Items.iron_ingot,
'g', Items.gold_nugget, 'c', Blocks.chest, 'q', Items.quartz, 'e', Items.ender_pearl);
}
}