mirror of
https://github.com/GTNewHorizons/AE2FluidCraft-Rework.git
synced 2026-11-11 15:57:55 +00:00
443 lines
18 KiB
Java
443 lines
18 KiB
Java
package com.glodblock.github.loader;
|
|
|
|
import static com.glodblock.github.loader.ItemAndBlockHolder.*;
|
|
import static net.minecraft.init.Blocks.redstone_torch;
|
|
import static net.minecraft.init.Items.fish;
|
|
|
|
import net.minecraft.init.Blocks;
|
|
import net.minecraft.init.Items;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraftforge.oredict.OreDictionary;
|
|
import net.minecraftforge.oredict.ShapedOreRecipe;
|
|
import net.minecraftforge.oredict.ShapelessOreRecipe;
|
|
|
|
import com.glodblock.github.common.Config;
|
|
import com.glodblock.github.common.item.ItemBasicFluidStorageCell;
|
|
import com.glodblock.github.common.storage.CellType;
|
|
import com.glodblock.github.util.ModAndClassUtil;
|
|
|
|
import cpw.mods.fml.common.registry.GameRegistry;
|
|
import extracells.registries.ItemEnum;
|
|
|
|
public class RecipeLoader implements Runnable {
|
|
|
|
public static final ItemStack AE2_INTERFACE = GameRegistry
|
|
.findItemStack("appliedenergistics2", "tile.BlockInterface", 1);
|
|
public static final ItemStack AE2_PROCESS_ENG = new ItemStack(
|
|
GameRegistry.findItem("appliedenergistics2", "item.ItemMultiMaterial"),
|
|
1,
|
|
24);
|
|
public static final ItemStack AE2_STORAGE_BUS = new ItemStack(
|
|
GameRegistry.findItem("appliedenergistics2", "item.ItemMultiPart"),
|
|
1,
|
|
220);
|
|
public static final ItemStack AE2_CONDENSER = GameRegistry
|
|
.findItemStack("appliedenergistics2", "tile.BlockCondenser", 1);
|
|
public static final ItemStack AE2_GLASS_CABLE = new ItemStack(
|
|
GameRegistry.findItem("appliedenergistics2", "item.ItemMultiPart"),
|
|
1,
|
|
16);
|
|
public static final ItemStack AE2_PROCESS_CAL = new ItemStack(
|
|
GameRegistry.findItem("appliedenergistics2", "item.ItemMultiMaterial"),
|
|
1,
|
|
23);
|
|
public static final ItemStack AE2_WORK_BENCH = GameRegistry
|
|
.findItemStack("appliedenergistics2", "tile.BlockCellWorkbench", 1);
|
|
public static final ItemStack AE2_PATTERN_TERM = new ItemStack(
|
|
GameRegistry.findItem("appliedenergistics2", "item.ItemMultiPart"),
|
|
1,
|
|
340);
|
|
public static final ItemStack AE2_PROCESS_LOG = new ItemStack(
|
|
GameRegistry.findItem("appliedenergistics2", "item.ItemMultiMaterial"),
|
|
1,
|
|
22);
|
|
public static final ItemStack AE2_PURE_CERTUS = new ItemStack(
|
|
GameRegistry.findItem("appliedenergistics2", "item.ItemMultiMaterial"),
|
|
1,
|
|
10);
|
|
public static final ItemStack AE2_QUARTZ_GLASS = GameRegistry
|
|
.findItemStack("appliedenergistics2", "tile.BlockQuartzGlass", 1);
|
|
public static final ItemStack AE2_LAMP_GLASS = GameRegistry
|
|
.findItemStack("appliedenergistics2", "tile.BlockQuartzLamp", 1);
|
|
public static final ItemStack AE2_CELL_HOUSING = new ItemStack(
|
|
GameRegistry.findItem("appliedenergistics2", "item.ItemMultiMaterial"),
|
|
1,
|
|
39);
|
|
public static final ItemStack AE2_CELL_1K = new ItemStack(
|
|
GameRegistry.findItem("appliedenergistics2", "item.ItemMultiMaterial"),
|
|
1,
|
|
35);
|
|
public static final ItemStack AE2_CORE_ANN = new ItemStack(
|
|
GameRegistry.findItem("appliedenergistics2", "item.ItemMultiMaterial"),
|
|
1,
|
|
44);
|
|
public static final ItemStack AE2_CORE_FOM = new ItemStack(
|
|
GameRegistry.findItem("appliedenergistics2", "item.ItemMultiMaterial"),
|
|
1,
|
|
43);
|
|
public static final ItemStack PISTON = new ItemStack(Blocks.piston, 1);
|
|
public static final ItemStack STICKY_PISTON = new ItemStack(Blocks.sticky_piston, 1);
|
|
public static final ItemStack AE2_BLANK_PATTERN = new ItemStack(
|
|
GameRegistry.findItem("appliedenergistics2", "item.ItemMultiMaterial"),
|
|
1,
|
|
52);
|
|
public static final ItemStack AE2_TERMINAL = new ItemStack(
|
|
GameRegistry.findItem("appliedenergistics2", "item.ItemMultiPart"),
|
|
1,
|
|
380);
|
|
public static final ItemStack AE2_CRAFTING_CP_UNIT = new ItemStack(
|
|
GameRegistry.findItem("appliedenergistics2", "tile.BlockCraftingUnit"),
|
|
1,
|
|
1);
|
|
public static final ItemStack AE2_PATTERN_CAPACITY_CARD = new ItemStack(
|
|
GameRegistry.findItem("appliedenergistics2", "item.ItemMultiMaterial"),
|
|
1,
|
|
54);
|
|
public static final ItemStack AE2_ME_CHEST = GameRegistry
|
|
.findItemStack("appliedenergistics2", "tile.BlockChest", 1);
|
|
public static final ItemStack AE2_ENERGY_CELL = GameRegistry
|
|
.findItemStack("appliedenergistics2", "tile.BlockEnergyCell", 1);
|
|
public static final ItemStack BUCKET = new ItemStack(Items.bucket, 1);
|
|
public static final ItemStack IRON_BAR = new ItemStack(Blocks.iron_bars, 1);
|
|
|
|
@Override
|
|
public void run() {
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
PORTABLE_FLUID_CELL.stack(),
|
|
"ABC",
|
|
'A',
|
|
AE2_ME_CHEST,
|
|
'B',
|
|
CellType.Cell1kPart.stack(1),
|
|
'C',
|
|
AE2_ENERGY_CELL));
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
INTERFACE.stack(),
|
|
"IPI",
|
|
"GEG",
|
|
"IPI",
|
|
'I',
|
|
"ingotIron",
|
|
'P',
|
|
"dyeBlue",
|
|
'G',
|
|
"blockGlass",
|
|
'E',
|
|
AE2_INTERFACE));
|
|
GameRegistry.addShapelessRecipe(FLUID_INTERFACE.stack(), INTERFACE.stack());
|
|
GameRegistry.addShapelessRecipe(INTERFACE.stack(), FLUID_INTERFACE.stack());
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
DISCRETIZER.stack(),
|
|
"IPI",
|
|
"TMT",
|
|
"IPI",
|
|
'I',
|
|
"ingotIron",
|
|
'P',
|
|
AE2_PROCESS_ENG,
|
|
'T',
|
|
AE2_STORAGE_BUS,
|
|
'M',
|
|
AE2_CONDENSER));
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
DECODER.stack(),
|
|
"IHI",
|
|
"CFC",
|
|
"IPI",
|
|
'I',
|
|
"ingotIron",
|
|
'H',
|
|
Blocks.hopper,
|
|
'C',
|
|
AE2_GLASS_CABLE,
|
|
'F',
|
|
INTERFACE,
|
|
'P',
|
|
AE2_PROCESS_CAL));
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
ENCODER.stack(),
|
|
"LPL",
|
|
"IWI",
|
|
"III",
|
|
'I',
|
|
"ingotIron",
|
|
'L',
|
|
"blockLapis",
|
|
'P',
|
|
AE2_PROCESS_ENG,
|
|
'W',
|
|
AE2_WORK_BENCH));
|
|
GameRegistry.addShapelessRecipe(FLUID_STORAGE_BUS.stack(), FLUID_INTERFACE, STICKY_PISTON, PISTON);
|
|
GameRegistry.addShapelessRecipe(FLUID_STORAGE_BUS.stack(), INTERFACE, STICKY_PISTON, PISTON);
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
FLUID_STORAGE_MONITOR.stack(),
|
|
"EIP",
|
|
"P ",
|
|
'I',
|
|
"itemIlluminatedPanel",
|
|
'E',
|
|
FLUID_LEVEL_EMITTER,
|
|
'P',
|
|
"dyeBlue"));
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
FLUID_CONVERSION_MONITOR.stack(),
|
|
"ASF",
|
|
'A',
|
|
AE2_CORE_ANN,
|
|
'S',
|
|
FLUID_STORAGE_MONITOR,
|
|
'F',
|
|
AE2_CORE_FOM));
|
|
GameRegistry.addShapelessRecipe(FLUID_TERMINAL.stack(), AE2_PATTERN_TERM, ENCODER);
|
|
GameRegistry.addShapelessRecipe(
|
|
FLUID_TERMINAL_EX.stack(),
|
|
FLUID_TERMINAL.stack(),
|
|
AE2_PROCESS_CAL,
|
|
AE2_PROCESS_ENG,
|
|
AE2_PROCESS_LOG);
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
BUFFER.stack(),
|
|
"ILI",
|
|
"AGF",
|
|
"IBI",
|
|
'I',
|
|
"ingotIron",
|
|
'G',
|
|
AE2_QUARTZ_GLASS,
|
|
'L',
|
|
AE2_CELL_1K,
|
|
'A',
|
|
AE2_CORE_ANN,
|
|
'F',
|
|
AE2_CORE_FOM,
|
|
'B',
|
|
BUCKET));
|
|
GameRegistry.addRecipe(new ShapedOreRecipe(WALRUS, "FFF", "F F", "FFF", 'F', fish));
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
FLUID_LEVEL_EMITTER.stack(),
|
|
"RPD",
|
|
'R',
|
|
redstone_torch,
|
|
'P',
|
|
AE2_PROCESS_CAL,
|
|
'D',
|
|
"dyeBlue"));
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
LARGE_BUFFER.stack(),
|
|
"BGB",
|
|
"GEG",
|
|
"BGB",
|
|
'B',
|
|
BUFFER.stack(),
|
|
'G',
|
|
AE2_QUARTZ_GLASS,
|
|
'E',
|
|
AE2_PROCESS_ENG));
|
|
GameRegistry.addShapelessRecipe(AE2_BLANK_PATTERN, PATTERN.stack());
|
|
GameRegistry.addShapelessRecipe(FLUID_TERM.stack(), AE2_TERMINAL, BUFFER);
|
|
GameRegistry.addShapelessRecipe(
|
|
FLUID_BUFFER.stack(),
|
|
LARGE_BUFFER.stack(),
|
|
Config.fluidCells ? CELL1K.getComponent()
|
|
: ModAndClassUtil.EC2 ? ItemEnum.STORAGECOMPONENT.getDamagedStack(4) : null);
|
|
GameRegistry
|
|
.addShapelessRecipe(LEVEL_MAINTAINER.stack(), AE2_CRAFTING_CP_UNIT, ENCODER, AE2_PATTERN_CAPACITY_CARD);
|
|
if (Config.fluidCells) {
|
|
OreDictionary.registerOre("anyCertusCrystal", AE2_PURE_CERTUS);
|
|
for (ItemStack it : OreDictionary.getOres("crystalCertusQuartz"))
|
|
OreDictionary.registerOre("anyCertusCrystal", it);
|
|
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
CellType.Cell1kPart.stack(1),
|
|
"DCD",
|
|
"CEC",
|
|
"DCD",
|
|
'D',
|
|
"dyeRed",
|
|
'C',
|
|
"anyCertusCrystal",
|
|
'E',
|
|
AE2_PROCESS_ENG));
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
CellType.Cell4kPart.stack(1),
|
|
"DPD",
|
|
"CGC",
|
|
"DCD",
|
|
'D',
|
|
"dyeRed",
|
|
'C',
|
|
CellType.Cell1kPart.stack(1),
|
|
'P',
|
|
AE2_PROCESS_CAL,
|
|
'G',
|
|
AE2_QUARTZ_GLASS));
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
CellType.Cell16kPart.stack(1),
|
|
"DPD",
|
|
"CGC",
|
|
"DCD",
|
|
'D',
|
|
"dyeRed",
|
|
'C',
|
|
CellType.Cell4kPart.stack(1),
|
|
'P',
|
|
AE2_PROCESS_LOG,
|
|
'G',
|
|
AE2_QUARTZ_GLASS));
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
CellType.Cell64kPart.stack(1),
|
|
"DPD",
|
|
"CGC",
|
|
"DCD",
|
|
'D',
|
|
"dyeRed",
|
|
'C',
|
|
CellType.Cell16kPart.stack(1),
|
|
'P',
|
|
AE2_PROCESS_ENG,
|
|
'G',
|
|
AE2_QUARTZ_GLASS));
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
CellType.Cell256kPart.stack(1),
|
|
"DPD",
|
|
"CGC",
|
|
"DCD",
|
|
'D',
|
|
"dyeRed",
|
|
'C',
|
|
CellType.Cell64kPart.stack(1),
|
|
'P',
|
|
AE2_PROCESS_CAL,
|
|
'G',
|
|
AE2_LAMP_GLASS));
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
CellType.Cell1024kPart.stack(1),
|
|
"DPD",
|
|
"CGC",
|
|
"DCD",
|
|
'D',
|
|
"dyeRed",
|
|
'C',
|
|
CellType.Cell256kPart.stack(1),
|
|
'P',
|
|
AE2_PROCESS_LOG,
|
|
'G',
|
|
AE2_LAMP_GLASS));
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
CellType.Cell4096kPart.stack(1),
|
|
"DPD",
|
|
"CGC",
|
|
"DCD",
|
|
'D',
|
|
"dyeRed",
|
|
'C',
|
|
CellType.Cell1024kPart.stack(1),
|
|
'P',
|
|
AE2_PROCESS_CAL,
|
|
'G',
|
|
AE2_LAMP_GLASS));
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
CellType.Cell16384kPart.stack(1),
|
|
"DPD",
|
|
"CGC",
|
|
"DCD",
|
|
'D',
|
|
"dyeRed",
|
|
'C',
|
|
CellType.Cell4096kPart.stack(1),
|
|
'P',
|
|
AE2_PROCESS_ENG,
|
|
'G',
|
|
AE2_LAMP_GLASS));
|
|
|
|
ItemBasicFluidStorageCell[] cells = new ItemBasicFluidStorageCell[] { CELL1K, CELL4K, CELL16K, CELL64K,
|
|
CELL256K, CELL1024K, CELL4096K, CELL16384K };
|
|
|
|
for (ItemBasicFluidStorageCell cell : cells) {
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
cell,
|
|
"GDG",
|
|
"DCD",
|
|
"III",
|
|
'D',
|
|
"dustRedstone",
|
|
'G',
|
|
AE2_QUARTZ_GLASS,
|
|
'C',
|
|
cell.getComponent(),
|
|
'I',
|
|
"ingotIron"));
|
|
GameRegistry.addRecipe(new ShapelessOreRecipe(cell, AE2_CELL_HOUSING, cell.getComponent()));
|
|
}
|
|
}
|
|
|
|
if (Config.fluidIOBus) {
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
FLUID_EXPORT_BUS,
|
|
"ICI",
|
|
"BPB",
|
|
'B',
|
|
"dyeBlue",
|
|
'I',
|
|
"ingotIron",
|
|
'P',
|
|
PISTON,
|
|
'C',
|
|
AE2_CORE_FOM));
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
FLUID_IMPORT_BUS,
|
|
"BCB",
|
|
"IPI",
|
|
'B',
|
|
"dyeBlue",
|
|
'I',
|
|
"ingotIron",
|
|
'P',
|
|
PISTON,
|
|
'C',
|
|
AE2_CORE_ANN));
|
|
}
|
|
|
|
if (ModAndClassUtil.OC) {
|
|
ItemStack CHIP_T1 = new ItemStack(GameRegistry.findItem("OpenComputers", "item"), 1, 24);
|
|
GameRegistry.addRecipe(
|
|
new ShapedOreRecipe(
|
|
OC_EDITOR,
|
|
"IMI",
|
|
"CBC",
|
|
"IPI",
|
|
'I',
|
|
IRON_BAR,
|
|
'M',
|
|
CHIP_T1,
|
|
'C',
|
|
"oc:cable",
|
|
'B',
|
|
BUCKET,
|
|
'P',
|
|
AE2_BLANK_PATTERN));
|
|
}
|
|
}
|
|
}
|