Added temporary recipes, fixed NEI handlers, general improvements

This commit is contained in:
HbmMods 2017-09-01 12:40:00 +02:00
parent 21909b1ef2
commit 171f7de3c0
13 changed files with 638 additions and 610 deletions

File diff suppressed because it is too large Load Diff

View File

@ -69,6 +69,7 @@ public class ModBlocks {
public static Block ore_unobtainium;
public static Block ore_daffergon;
public static Block ore_verticium;
public static Block ore_rare;
public static Block ore_oil;
public static Block ore_oil_empty;
@ -468,6 +469,7 @@ public class ModBlocks {
ore_unobtainium = new BlockGeneric(Material.rock).setBlockName("ore_unobtainium").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_unobtainium");
ore_daffergon = new BlockGeneric(Material.rock).setBlockName("ore_daffergon").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_daffergon");
ore_verticium = new BlockGeneric(Material.rock).setBlockName("ore_verticium").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_verticium");
ore_rare = new BlockOre(Material.rock).setBlockName("ore_rare").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_rare");
ore_oil = new BlockOre(Material.rock).setBlockName("ore_oil").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_oil");
ore_oil_empty = new BlockGeneric(Material.rock).setBlockName("ore_oil_empty").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_oil_empty");
@ -789,6 +791,7 @@ public class ModBlocks {
GameRegistry.registerBlock(ore_unobtainium, ItemOreBlock.class, ore_unobtainium.getUnlocalizedName());
GameRegistry.registerBlock(ore_daffergon, ItemOreBlock.class, ore_daffergon.getUnlocalizedName());
GameRegistry.registerBlock(ore_verticium, ItemOreBlock.class, ore_verticium.getUnlocalizedName());
GameRegistry.registerBlock(ore_rare, ItemOreBlock.class, ore_rare.getUnlocalizedName());
//Nether Ores
GameRegistry.registerBlock(ore_nether_uranium, ore_nether_uranium.getUnlocalizedName());

View File

@ -71,6 +71,17 @@ public class BlockOre extends Block {
{
return rand.nextInt(10) == 0 ? ModItems.plate_dalekanium : Item.getItemFromBlock(ModBlocks.block_meteor);
}
if(this == ModBlocks.ore_rare)
{
switch(rand.nextInt(6)) {
case 0: return ModItems.fragment_actinium;
case 1: return ModItems.fragment_cerium;
case 2: return ModItems.fragment_cobalt;
case 3: return ModItems.fragment_lanthanium;
case 4: return ModItems.fragment_neodymium;
case 5: return ModItems.fragment_niobium;
}
}
return Item.getItemFromBlock(this);
}
@ -94,6 +105,10 @@ public class BlockOre extends Block {
{
return 2 + p_149745_1_.nextInt(3);
}
if(this == ModBlocks.ore_rare)
{
return 2 + p_149745_1_.nextInt(4);
}
return 1;
}

View File

@ -78,7 +78,12 @@ public abstract class EntityMissileBaseAdvanced extends Entity {
@Override
protected void readEntityFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
motionX = nbt.getDouble("moX");
motionY = nbt.getDouble("moY");
motionZ = nbt.getDouble("moZ");
posX = nbt.getDouble("poX");
posY = nbt.getDouble("poY");
posZ = nbt.getDouble("poZ");
decelY = nbt.getDouble("decel");
accelXZ = nbt.getDouble("accel");
targetX = nbt.getInteger("tX");
@ -89,7 +94,12 @@ public abstract class EntityMissileBaseAdvanced extends Entity {
@Override
protected void writeEntityToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
nbt.setDouble("moX", motionX);
nbt.setDouble("moY", motionY);
nbt.setDouble("moZ", motionZ);
nbt.setDouble("poX", posX);
nbt.setDouble("poY", posY);
nbt.setDouble("poZ", posZ);
nbt.setDouble("decel", decelY);
nbt.setDouble("accel", accelXZ);
nbt.setInteger("tX", targetX);

View File

@ -59,10 +59,10 @@ public class MultiblockHandler {
public static final int[] fluidTankDimensionNS = new int[] { 1, 1, 2, 0, 2, 2 };
public static final int[] fluidTankDimensionEW = new int[] { 2, 2, 2, 0, 1, 1 };
public static final int[] refineryDimensions = new int[] { 1, 1, 9, 0, 1, 1 };
public static final int[] pumpjackDimensionNorth = new int[] { 1, 1, 4, 0, 5, 0 };
public static final int[] pumpjackDimensionEast = new int[] { 0, 5, 4, 0, 1, 1 };
public static final int[] pumpjackDimensionSouth = new int[] { 1, 1, 4, 0, 0, 5 };
public static final int[] pumpjackDimensionWest = new int[] { 5, 0, 4, 0, 1, 1 };
public static final int[] pumpjackDimensionNorth = new int[] { 1, 1, 4, 0, 6, 0 };
public static final int[] pumpjackDimensionEast = new int[] { 0, 6, 4, 0, 1, 1 };
public static final int[] pumpjackDimensionSouth = new int[] { 1, 1, 4, 0, 0, 6 };
public static final int[] pumpjackDimensionWest = new int[] { 6, 0, 4, 0, 1, 1 };
//Approved!
public static boolean checkSpace(World world, int x, int y, int z, int[] i) {

View File

@ -130,8 +130,8 @@ public class ChemplantRecipeHandler extends TemplateRecipeHandler {
public void loadCraftingRecipes(ItemStack result) {
Map<Object[], Object[]> recipes = MachineRecipes.instance().getChemistryRecipes();
for (Map.Entry<Object[], Object[]> recipe : recipes.entrySet()) {
if (NEIServerUtils.areStacksSameType(result, (ItemStack)recipe.getValue()[0]) ||
NEIServerUtils.areStacksSameType(result, (ItemStack)recipe.getValue()[1]) ||
if (compareFluidStacks(result, (ItemStack)recipe.getValue()[0]) ||
compareFluidStacks(result, (ItemStack)recipe.getValue()[1]) ||
NEIServerUtils.areStacksSameType(result, (ItemStack)recipe.getValue()[2]) ||
NEIServerUtils.areStacksSameType(result, (ItemStack)recipe.getValue()[3]) ||
NEIServerUtils.areStacksSameType(result, (ItemStack)recipe.getValue()[4]) ||
@ -166,8 +166,8 @@ public class ChemplantRecipeHandler extends TemplateRecipeHandler {
public void loadUsageRecipes(ItemStack ingredient) {
Map<Object[], Object[]> recipes = MachineRecipes.instance().getChemistryRecipes();
for (Map.Entry<Object[], Object[]> recipe : recipes.entrySet()) {
if (NEIServerUtils.areStacksSameType(ingredient, (ItemStack)recipe.getKey()[0]) ||
NEIServerUtils.areStacksSameType(ingredient, (ItemStack)recipe.getKey()[1]) ||
if (compareFluidStacks(ingredient, (ItemStack)recipe.getKey()[0]) ||
compareFluidStacks(ingredient, (ItemStack)recipe.getKey()[1]) ||
NEIServerUtils.areStacksSameType(ingredient, (ItemStack)recipe.getKey()[2]) ||
NEIServerUtils.areStacksSameType(ingredient, (ItemStack)recipe.getKey()[3]) ||
NEIServerUtils.areStacksSameType(ingredient, (ItemStack)recipe.getKey()[4]) ||
@ -190,6 +190,10 @@ public class ChemplantRecipeHandler extends TemplateRecipeHandler {
}
}
private boolean compareFluidStacks(ItemStack sta1, ItemStack sta2) {
return sta1.getItem() == sta2.getItem() && sta1.getItemDamage() == sta2.getItemDamage();
}
@Override
public Class<? extends GuiContainer> getGuiClass() {
//return GUITestDiFurnace.class;

View File

@ -90,7 +90,10 @@ public class RefineryRecipeHandler extends TemplateRecipeHandler {
if ((outputId.equals("refinery")) && getClass() == RefineryRecipeHandler.class) {
Map<Object, Object[]> recipes = MachineRecipes.instance().getRefineryRecipe();
for (Map.Entry<Object, Object[]> recipe : recipes.entrySet()) {
this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey(), (ItemStack)recipe.getValue()[0], (ItemStack)recipe.getValue()[1], (ItemStack)recipe.getValue()[2], (ItemStack)recipe.getValue()[3], (ItemStack)recipe.getValue()[4]));
this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey(),
(ItemStack)recipe.getValue()[0], (ItemStack)recipe.getValue()[1],
(ItemStack)recipe.getValue()[2], (ItemStack)recipe.getValue()[3],
(ItemStack)recipe.getValue()[4]));
}
} else {
super.loadCraftingRecipes(outputId, results);
@ -101,8 +104,15 @@ public class RefineryRecipeHandler extends TemplateRecipeHandler {
public void loadCraftingRecipes(ItemStack result) {
Map<Object, Object[]> recipes = MachineRecipes.instance().getRefineryRecipe();
for (Map.Entry<Object, Object[]> recipe : recipes.entrySet()) {
if (NEIServerUtils.areStacksSameType((ItemStack)recipe.getValue()[0], result) || NEIServerUtils.areStacksSameType((ItemStack)recipe.getValue()[1], result) || NEIServerUtils.areStacksSameType((ItemStack)recipe.getValue()[2], result) || NEIServerUtils.areStacksSameType((ItemStack)recipe.getValue()[3], result) || NEIServerUtils.areStacksSameType((ItemStack)recipe.getValue()[4], result))
this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey(), (ItemStack)recipe.getValue()[0], (ItemStack)recipe.getValue()[1], (ItemStack)recipe.getValue()[2], (ItemStack)recipe.getValue()[3], (ItemStack)recipe.getValue()[4]));
if (compareFluidStacks((ItemStack)recipe.getValue()[0], result) ||
compareFluidStacks((ItemStack)recipe.getValue()[1], result) ||
compareFluidStacks((ItemStack)recipe.getValue()[2], result) ||
compareFluidStacks((ItemStack)recipe.getValue()[3], result) ||
compareFluidStacks((ItemStack)recipe.getValue()[4], result))
this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey(),
(ItemStack)recipe.getValue()[0], (ItemStack)recipe.getValue()[1],
(ItemStack)recipe.getValue()[2], (ItemStack)recipe.getValue()[3],
(ItemStack)recipe.getValue()[4]));
}
}
@ -119,11 +129,18 @@ public class RefineryRecipeHandler extends TemplateRecipeHandler {
public void loadUsageRecipes(ItemStack ingredient) {
Map<Object, Object[]> recipes = MachineRecipes.instance().getRefineryRecipe();
for (Map.Entry<Object, Object[]> recipe : recipes.entrySet()) {
if (NEIServerUtils.areStacksSameType(ingredient, (ItemStack)recipe.getKey()))
this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey(), (ItemStack)recipe.getValue()[0], (ItemStack)recipe.getValue()[1], (ItemStack)recipe.getValue()[2], (ItemStack)recipe.getValue()[3], (ItemStack)recipe.getValue()[4]));
if (compareFluidStacks(ingredient, (ItemStack)recipe.getKey()))
this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey(),
(ItemStack)recipe.getValue()[0], (ItemStack)recipe.getValue()[1],
(ItemStack)recipe.getValue()[2], (ItemStack)recipe.getValue()[3],
(ItemStack)recipe.getValue()[4]));
}
}
private boolean compareFluidStacks(ItemStack sta1, ItemStack sta2) {
return sta1.getItem() == sta2.getItem() && sta1.getItemDamage() == sta2.getItemDamage();
}
@Override
public void drawExtras(int recipe) {
drawProgressBar(83 - (18 * 4) - 9 + 1, 6, 0, 86, 16, 18 * 3 - 2, 480, 7);

View File

@ -18,6 +18,7 @@ import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.oredict.OreDictionary;
public class MachineRecipes {
@ -2463,7 +2464,7 @@ public class MachineRecipes {
case REFINERY:
output = new ItemStack(ModBlocks.machine_refinery, 1);
break;
case CHEMPLANT:
/*case CHEMPLANT:
output = new ItemStack(ModBlocks.machine_refinery, 1);
break;
case TANK:
@ -2612,7 +2613,7 @@ public class MachineRecipes {
break;
case MISSILE_BUSTER_2:
output = new ItemStack(ModItems.missile_buster_strong, 1);
break;
break;*/
default:
output = new ItemStack(Items.stick, 1);
break;
@ -2693,11 +2694,31 @@ public class MachineRecipes {
Map<Object, Object[]> recipes = new HashMap<Object, Object[]>();
recipes.put(new ItemStack(ModItems.canister_oil, 1) , new ItemStack[] {
new ItemStack(ModItems.canister_heavyoil, 1),
new ItemStack(ModItems.canister_naphtha, 1),
new ItemStack(ModItems.canister_lightoil, 1),
new ItemStack(ModItems.gas_petroleum, 1),
ItemStack oil = new ItemStack(ModItems.fluid_icon, 1, Arrays.asList(FluidType.values()).indexOf(FluidType.OIL));
oil.stackTagCompound = new NBTTagCompound();
oil.stackTagCompound.setInteger("fill", 1000);
ItemStack heavy = new ItemStack(ModItems.fluid_icon, 1, Arrays.asList(FluidType.values()).indexOf(FluidType.HEAVYOIL));
heavy.stackTagCompound = new NBTTagCompound();
heavy.stackTagCompound.setInteger("fill", 500);
ItemStack naphtha = new ItemStack(ModItems.fluid_icon, 1, Arrays.asList(FluidType.values()).indexOf(FluidType.NAPHTHA));
naphtha.stackTagCompound = new NBTTagCompound();
naphtha.stackTagCompound.setInteger("fill", 250);
ItemStack light = new ItemStack(ModItems.fluid_icon, 1, Arrays.asList(FluidType.values()).indexOf(FluidType.LIGHTOIL));
light.stackTagCompound = new NBTTagCompound();
light.stackTagCompound.setInteger("fill", 150);
ItemStack petroleum = new ItemStack(ModItems.fluid_icon, 1, Arrays.asList(FluidType.values()).indexOf(FluidType.PETROLEUM));
petroleum.stackTagCompound = new NBTTagCompound();
petroleum.stackTagCompound.setInteger("fill", 100);
recipes.put(oil , new ItemStack[] {
heavy,
naphtha,
light,
petroleum,
new ItemStack(ModItems.sulfur, 1) });
return recipes;

View File

@ -31,12 +31,12 @@ public class ItemAssemblyTemplate extends Item {
LIMITER, ANGRY_METAL, CMB_TILE, CMB_BRICKS, HATCH_FRAME, HATCH_CONTROLLER, CENTRIFUGE,
BREEDING_REACTOR, RTG_FURNACE, DIESEL_GENERATOR, NUCLEAR_GENERATOR, INDUSTRIAL_GENERATOR, CYCLOTRON,
RT_GENERATOR, BATTERY, HE_TO_RF, RF_TO_HE, SHREDDER, DERRICK, FLARE_STACK,
REFINERY, CHEMPLANT, TANK, MINER, SCHRABTRANS, CMB_FURNACE, FA_HULL, FA_HATCH, FA_CORE, FA_PORT,
REFINERY; /*, CHEMPLANT, TANK, MINER, SCHRABTRANS, CMB_FURNACE, FA_HULL, FA_HATCH, FA_CORE, FA_PORT,
LR_ELEMENT, LR_HATCH, LR_PORT, LR_CORE, LF_MAGNET, LF_CENTER, LF_MOTOR, LF_HEATER, LF_HATCH, LF_CORE,
LW_ELEMENT, LW_CONTROL, LW_COOLER, LW_STRUTURE, LW_HATCH, LW_PORT, LW_CORE, FW_MAGNET, FW_COMPUTER,
FW_CORE, GADGET, LITTLE_BOY, FAT_MAN, IVY_MIKE, TSAR_BOMB, PROTOTYPE, FLEIJA, CUSTOM_NUKE, BOMB_LEV,
BOMB_ENDO, BOMB_EXO, LAUNCH_PAD, HUNTER_CHOPPER, MISSILE_HE_1, MISSILE_FIRE_1, MISSILE_CLUSTER_1,
MISSILE_BUSTER_1, MISSILE_HE_2, MISSILE_FIRE_2, MISSILE_CLUSTER_2, MISSILE_BUSTER_2;
MISSILE_BUSTER_1, MISSILE_HE_2, MISSILE_FIRE_2, MISSILE_CLUSTER_2, MISSILE_BUSTER_2;*/
//private final int value;
//private EnumAssemblyTemplate(int value) {
@ -311,7 +311,7 @@ public class ItemAssemblyTemplate extends Item {
return 200;
case REFINERY:
return 350;
case CHEMPLANT:
/*case CHEMPLANT:
return 200;
case TANK:
return 150;
@ -410,7 +410,7 @@ public class ItemAssemblyTemplate extends Item {
case MISSILE_CLUSTER_2:
return 250;
case MISSILE_BUSTER_2:
return 250;
return 250;*/
default:
return 100;
}

View File

@ -1,5 +1,7 @@
package com.hbm.items.tool;
import java.util.List;
import com.hbm.items.ModItems;
import com.hbm.main.MainRegistry;
@ -21,4 +23,11 @@ public class ItemTemplateFolder extends Item {
return stack;
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool)
{
list.add("Machine Templates: Paper + Dye");
list.add("Fluid IDs: Iron Plate + Dye");
}
}

View File

@ -180,6 +180,14 @@ public class HbmWorldGen implements IWorldGenerator {
(new WorldGenMinable(ModBlocks.ore_verticium, 16)).generate(world, rand, randPosX, randPosY, randPosZ);
}
for (int k = 0; k < MainRegistry.niterSpawn; k++) {
int randPosX = i + rand.nextInt(16);
int randPosY = rand.nextInt(25);
int randPosZ = j + rand.nextInt(16);
(new WorldGenMinable(ModBlocks.ore_rare, 5)).generate(world, rand, randPosX, randPosY, randPosZ);
}
if (MainRegistry.enableBarrels && rand.nextInt(5) == 0) {
for (int k = 0; k < 1; k++) {
int randPosX = i + rand.nextInt(16);

View File

@ -3,7 +3,7 @@ package com.hbm.lib;
public class RefStrings {
public static final String MODID = "hbm";
public static final String NAME = "Hbm's Nuclear Tech Mod";
public static final String VERSION = "1.0.26 BETA (Selena-Luna-X01)";
public static final String VERSION = "1.0.26 BETA (Astatine-Actinium-X02)";
//HBM's Beta Naming Convention:
//V T (X-Y-Z)
//V -> next release version

View File

@ -823,15 +823,15 @@ public class CraftingManager {
GameRegistry.addRecipe(new ItemStack(ModItems.schrabidium_axe, 1), new Object[] { "II", "IS", " S", 'I', ModItems.ingot_schrabidium, 'S', Items.stick });
GameRegistry.addRecipe(new ItemStack(ModItems.schrabidium_shovel, 1), new Object[] { "I", "S", "S", 'I', ModItems.ingot_schrabidium, 'S', Items.stick });
GameRegistry.addRecipe(new ItemStack(ModItems.schrabidium_hoe, 1), new Object[] { "II", " S", " S", 'I', ModItems.ingot_schrabidium, 'S', Items.stick });
GameRegistry.addRecipe(new ItemStack(ModItems.steel_helmet, 1), new Object[] { "EEE", "E E", 'E', ModItems.ingot_steel });
GameRegistry.addRecipe(new ItemStack(ModItems.steel_plate, 1), new Object[] { "E E", "EEE", "EEE", 'E', ModItems.ingot_steel });
GameRegistry.addRecipe(new ItemStack(ModItems.steel_legs, 1), new Object[] { "EEE", "E E", "E E", 'E', ModItems.ingot_steel });
GameRegistry.addRecipe(new ItemStack(ModItems.steel_boots, 1), new Object[] { "E E", "E E", 'E', ModItems.ingot_steel });
GameRegistry.addRecipe(new ItemStack(ModItems.steel_sword, 1), new Object[] { "I", "I", "S", 'I', ModItems.ingot_steel, 'S', Items.stick });
GameRegistry.addRecipe(new ItemStack(ModItems.steel_pickaxe, 1), new Object[] { "III", " S ", " S ", 'I', ModItems.ingot_steel, 'S', Items.stick });
GameRegistry.addRecipe(new ItemStack(ModItems.steel_axe, 1), new Object[] { "II", "IS", " S", 'I', ModItems.ingot_steel, 'S', Items.stick });
GameRegistry.addRecipe(new ItemStack(ModItems.steel_shovel, 1), new Object[] { "I", "S", "S", 'I', ModItems.ingot_steel, 'S', Items.stick });
GameRegistry.addRecipe(new ItemStack(ModItems.steel_hoe, 1), new Object[] { "II", " S", " S", 'I', ModItems.ingot_steel, 'S', Items.stick });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.steel_helmet, 1), new Object[] { "EEE", "E E", 'E', "ingotSteel" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.steel_plate, 1), new Object[] { "E E", "EEE", "EEE", 'E', "ingotSteel" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.steel_legs, 1), new Object[] { "EEE", "E E", "E E", 'E', "ingotSteel" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.steel_boots, 1), new Object[] { "E E", "E E", 'E', "ingotSteel" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.steel_sword, 1), new Object[] { "I", "I", "S", 'I', "ingotSteel", 'S', Items.stick }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.steel_pickaxe, 1), new Object[] { "III", " S ", " S ", 'I', "ingotSteel", 'S', Items.stick }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.steel_axe, 1), new Object[] { "II", "IS", " S", 'I', "ingotSteel", 'S', Items.stick }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.steel_shovel, 1), new Object[] { "I", "S", "S", 'I', "ingotSteel", 'S', Items.stick }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.steel_hoe, 1), new Object[] { "II", " S", " S", 'I', "ingotSteel", 'S', Items.stick }));
GameRegistry.addRecipe(new ItemStack(ModItems.titanium_helmet, 1), new Object[] { "EEE", "E E", 'E', ModItems.ingot_titanium });
GameRegistry.addRecipe(new ItemStack(ModItems.titanium_plate, 1), new Object[] { "E E", "EEE", "EEE", 'E', ModItems.ingot_titanium });
GameRegistry.addRecipe(new ItemStack(ModItems.titanium_legs, 1), new Object[] { "EEE", "E E", "E E", 'E', ModItems.ingot_titanium });
@ -976,6 +976,27 @@ public class CraftingManager {
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.crystal_charred, 1), new Object[] { ModItems.powder_strontium, ModItems.powder_cobalt, ModItems.powder_bromine, ModItems.powder_niobium, ModItems.powder_tennessine, ModItems.powder_cerium, ModBlocks.block_meteor, ModBlocks.block_aluminium, Items.water_bucket });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.crystal_virus, 1), new Object[] { "STS", "THT", "STS", 'S', ModItems.cell_sas3, 'T', "dustTungsten", 'H', ModItems.crystal_horn }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.crystal_pulsar, 32), new Object[] { "STS", "THT", "STS", 'S', ModItems.cell_uf6, 'T', "dustAluminum", 'H', ModItems.crystal_charred }));
//TEMPORARY
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.fluid_duct, 8), new Object[] { "SAS", " ", "SAS", 'S', "plateSteel", 'A', "plateAluminum" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_assembler, 1), new Object[] { "WWW", "MCM", "ISI", 'W', ModItems.coil_copper, 'M', ModItems.motor, 'C', ModItems.circuit_aluminium, 'I', "blockIron", 'S', "blockSteel" }));
GameRegistry.addRecipe(new ItemStack(ModBlocks.machine_chemplant, 1), new Object[] { "HTT", "HPP", "DCD", 'H', ModItems.hull_big_steel, 'T', ModItems.tank_steel, 'P', Blocks.piston, 'D', ModBlocks.fluid_duct, 'C', ModItems.circuit_red_copper });
GameRegistry.addRecipe(new ItemStack(ModBlocks.machine_fluidtank, 1), new Object[] { "HHH", "HHH", "D D", 'H', ModItems.hull_big_steel, 'D', ModBlocks.fluid_duct });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_pumpjack, 1), new Object[] { "BBB", "PSM", "PST", 'B', "blockSteel", 'P', ModItems.pipes_steel, 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'T', ModItems.tank_steel }));
GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_drill), 1), new Object[] { "MPM", "GPG", "GDG", 'P', ModItems.ingot_dura_steel, 'M', ModItems.motor, 'G', ModBlocks.steel_scaffold, 'D', ModItems.drill_titanium });
GameRegistry.addRecipe(new ItemStack(ModItems.template_folder, 1), new Object[] { "LPL", "BPB", "LPL", 'P', Items.paper, 'L', new ItemStack(Items.dye, 1, 4), 'B', new ItemStack(Items.dye, 1, 15) });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.turret_light, 1), new Object[] { "PPR", " I ", "BCB", 'P', "plateSteel", 'R', Items.redstone, 'I', "ingotSteel", 'B', "blockSteel", 'C', ModItems.circuit_aluminium }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.turret_heavy, 1), new Object[] { "IIR", " I ", "BCB", 'P', "plateSteel", 'R', Items.redstone, 'I', "ingotSteel", 'B', "blockSteel", 'C', ModItems.circuit_aluminium }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.turret_rocket, 1), new Object[] { "BBR", " I ", "BCB", 'P', "plateSteel", 'R', Items.redstone, 'I', "ingotSteel", 'B', "blockSteel", 'C', ModItems.circuit_aluminium }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.turret_flamer, 1), new Object[] { "NIR", " I ", "BCB", 'P', "plateSteel", 'R', Items.redstone, 'I', "ingotSteel", 'B', "blockSteel", 'C', ModItems.circuit_aluminium, 'N', ModItems.pipes_steel }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.turret_tau, 1), new Object[] { "ADR", " I ", "BCB", 'P', "plateSteel", 'R', Items.redstone, 'I', "ingotSteel", 'B', "blockSteel", 'C', ModItems.circuit_aluminium, 'A', ModItems.coil_advanced_alloy, 'D', ModItems.coil_advanced_torus }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_control, 1), new Object[] { "R12", "PPI", " I", 'R', Items.redstone, '1', ModItems.circuit_aluminium, '2', ModItems.circuit_red_copper, 'P', "plateSteel", 'I', "ingotSteel" }));
GameRegistry.addRecipe(new ItemStack(ModItems.pellet_antimatter, 1), new Object[] { "###", "###", "###", '#', ModItems.cell_antimatter });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.fluid_tank_empty, 8), new Object[] { "121", "1 1", "121", '1', "plateAluminum", '2', "plateIron" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.fluid_barrel_empty, 2), new Object[] { "121", "1 1", "121", '1', "plateSteel", '2', "plateAluminum" }));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.powder_desh_mix, 1), new Object[] { ModItems.powder_actinium_tiny, ModItems.powder_actinium_tiny, ModItems.powder_lanthanium_tiny, ModItems.powder_lanthanium_tiny, ModItems.powder_cerium_tiny, ModItems.powder_cobalt_tiny, ModItems.powder_lithium_tiny, ModItems.powder_neodymium_tiny, ModItems.powder_niobium_tiny });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.powder_desh_mix, 9), new Object[] { ModItems.powder_actinium, ModItems.powder_actinium, ModItems.powder_lanthanium, ModItems.powder_lanthanium, ModItems.powder_cerium, ModItems.powder_cobalt, ModItems.powder_lithium, ModItems.powder_neodymium, ModItems.powder_niobium });
}
public static void AddSmeltingRec()