Files
TinkersConstruct/src/main/java/tconstruct/common/TRecipes.java
T

1629 lines
112 KiB
Java
Raw Normal View History

2013-11-29 23:16:32 -05:00
package tconstruct.common;
2013-11-29 23:46:55 -05:00
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
2013-12-12 21:05:26 -08:00
import java.util.EnumSet;
2013-11-29 23:46:55 -05:00
import java.util.HashMap;
import java.util.List;
2013-12-09 14:48:18 +00:00
import mantle.blocks.abstracts.MultiServantLogic;
2013-11-29 23:46:55 -05:00
import net.minecraft.block.Block;
import net.minecraft.block.BlockDispenser;
2013-12-31 14:11:05 -05:00
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
2013-11-29 23:16:32 -05:00
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
2013-11-29 23:46:55 -05:00
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraft.item.crafting.ShapedRecipes;
2014-04-16 17:36:23 +02:00
import net.minecraft.util.StatCollector;
2013-11-29 23:46:55 -05:00
import net.minecraftforge.fluids.Fluid;
2013-11-29 23:16:32 -05:00
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.OreDictionary;
2013-11-29 23:46:55 -05:00
import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe;
import tconstruct.TConstruct;
2014-02-05 10:28:54 -05:00
import tconstruct.blocks.logic.AdaptiveDrainLogic;
import tconstruct.blocks.logic.AdaptiveSmelteryLogic;
import tconstruct.blocks.logic.CastingBasinLogic;
import tconstruct.blocks.logic.CastingChannelLogic;
import tconstruct.blocks.logic.CastingTableLogic;
import tconstruct.blocks.logic.CraftingStationLogic;
import tconstruct.blocks.logic.DryingRackLogic;
import tconstruct.blocks.logic.FaucetLogic;
import tconstruct.blocks.logic.FrypanLogic;
import tconstruct.blocks.logic.FurnaceLogic;
import tconstruct.blocks.logic.LavaTankLogic;
import tconstruct.blocks.logic.PartBuilderLogic;
import tconstruct.blocks.logic.PatternChestLogic;
import tconstruct.blocks.logic.SmelteryDrainLogic;
import tconstruct.blocks.logic.SmelteryLogic;
import tconstruct.blocks.logic.StencilTableLogic;
import tconstruct.blocks.logic.TankAirLogic;
import tconstruct.blocks.logic.TileEntityLandmine;
import tconstruct.blocks.logic.ToolForgeLogic;
import tconstruct.blocks.logic.ToolStationLogic;
import tconstruct.items.blocks.BarricadeItem;
import tconstruct.items.blocks.CastingChannelItem;
import tconstruct.items.blocks.CraftedSoilItemBlock;
import tconstruct.items.blocks.CraftingSlabItemBlock;
import tconstruct.items.blocks.GlassBlockItem;
import tconstruct.items.blocks.GlassPaneItem;
import tconstruct.items.blocks.GravelOreItem;
import tconstruct.items.blocks.HamboneItemBlock;
import tconstruct.items.blocks.ItemBlockLandmine;
import tconstruct.items.blocks.LavaTankItemBlock;
import tconstruct.items.blocks.MetadataItemBlock;
import tconstruct.items.blocks.MetalItemBlock;
import tconstruct.items.blocks.MetalOreItemBlock;
import tconstruct.items.blocks.MultiBrickFancyItem;
import tconstruct.items.blocks.MultiBrickItem;
import tconstruct.items.blocks.OreberryBushItem;
import tconstruct.items.blocks.OreberryBushSecondItem;
import tconstruct.items.blocks.SearedSlabItem;
import tconstruct.items.blocks.SearedTableItemBlock;
import tconstruct.items.blocks.SlimeGelItemBlock;
import tconstruct.items.blocks.SlimeGrassItemBlock;
import tconstruct.items.blocks.SlimeLeavesItemBlock;
import tconstruct.items.blocks.SlimeSaplingItemBlock;
import tconstruct.items.blocks.SlimeTallGrassItem;
import tconstruct.items.blocks.SmelteryItemBlock;
import tconstruct.items.blocks.SpeedBlockItem;
import tconstruct.items.blocks.SpeedSlabItem;
import tconstruct.items.blocks.StainedGlassClearItem;
import tconstruct.items.blocks.StainedGlassClearPaneItem;
import tconstruct.items.blocks.ToolStationItemBlock;
import tconstruct.items.blocks.WoolSlab1Item;
import tconstruct.items.blocks.WoolSlab2Item;
2013-11-29 23:16:32 -05:00
import tconstruct.library.TConstructRegistry;
2013-12-12 21:05:26 -08:00
import tconstruct.library.armor.EnumArmorPart;
2013-11-29 23:46:55 -05:00
import tconstruct.library.client.TConstructClientRegistry;
2014-02-05 10:28:54 -05:00
import tconstruct.library.crafting.Detailing;
2014-02-21 10:01:59 -05:00
import tconstruct.library.crafting.Detailing.DetailInput;
2014-02-05 10:28:54 -05:00
import tconstruct.library.crafting.DryingRackRecipes;
import tconstruct.library.crafting.FluidType;
import tconstruct.library.crafting.LiquidCasting;
import tconstruct.library.crafting.PatternBuilder;
import tconstruct.library.crafting.Smeltery;
import tconstruct.library.crafting.ToolBuilder;
2013-11-29 23:46:55 -05:00
import tconstruct.library.util.IPattern;
2014-02-05 10:28:54 -05:00
import tconstruct.modifiers.armor.AModDamageBoost;
2014-02-08 13:30:19 -05:00
import tconstruct.modifiers.armor.AModDoubleJump;
2014-02-05 10:28:54 -05:00
import tconstruct.modifiers.armor.AModHealthBoost;
import tconstruct.modifiers.armor.AModKnockbackResistance;
2013-12-12 21:05:26 -08:00
import tconstruct.modifiers.armor.AModMoveSpeed;
2014-02-05 10:28:54 -05:00
import tconstruct.modifiers.armor.AModProtection;
import tconstruct.modifiers.tools.ModAntiSpider;
import tconstruct.modifiers.tools.ModAttack;
import tconstruct.modifiers.tools.ModAutoSmelt;
import tconstruct.modifiers.tools.ModBlaze;
import tconstruct.modifiers.tools.ModButtertouch;
2014-04-02 20:38:48 -04:00
import tconstruct.modifiers.tools.ModCreativeToolModifier;
2014-02-05 10:28:54 -05:00
import tconstruct.modifiers.tools.ModDurability;
import tconstruct.modifiers.tools.ModExtraModifier;
import tconstruct.modifiers.tools.ModFlux;
import tconstruct.modifiers.tools.ModInteger;
import tconstruct.modifiers.tools.ModLapis;
import tconstruct.modifiers.tools.ModPiston;
import tconstruct.modifiers.tools.ModRedstone;
import tconstruct.modifiers.tools.ModReinforced;
import tconstruct.modifiers.tools.ModRepair;
import tconstruct.modifiers.tools.ModSmite;
import tconstruct.modifiers.tools.TActiveOmniMod;
2013-11-29 23:46:55 -05:00
import tconstruct.util.RecipeRemover;
import tconstruct.util.TDispenserBehaviorArrow;
import tconstruct.util.TDispenserBehaviorSpawnEgg;
2013-11-29 23:16:32 -05:00
import tconstruct.util.config.PHConstruct;
2013-11-29 23:46:55 -05:00
import cpw.mods.fml.common.Loader;
2013-11-29 23:16:32 -05:00
import cpw.mods.fml.common.registry.GameRegistry;
public class TRecipes
{
static void registerBlockRecipes ()
{
2014-02-16 14:23:50 -05:00
// Tool Tables
2013-11-29 23:16:32 -05:00
GameRegistry.registerBlock(TRepo.toolStationWood, ToolStationItemBlock.class, "ToolStationBlock");
GameRegistry.registerTileEntity(ToolStationLogic.class, "ToolStation");
GameRegistry.registerTileEntity(PartBuilderLogic.class, "PartCrafter");
GameRegistry.registerTileEntity(PatternChestLogic.class, "PatternHolder");
GameRegistry.registerTileEntity(StencilTableLogic.class, "PatternShaper");
GameRegistry.registerBlock(TRepo.toolForge, MetadataItemBlock.class, "ToolForgeBlock");
GameRegistry.registerTileEntity(ToolForgeLogic.class, "ToolForge");
GameRegistry.registerBlock(TRepo.craftingStationWood, "CraftingStation");
GameRegistry.registerTileEntity(CraftingStationLogic.class, "CraftingStation");
GameRegistry.registerBlock(TRepo.craftingSlabWood, CraftingSlabItemBlock.class, "CraftingSlab");
GameRegistry.registerBlock(TRepo.furnaceSlab, "FurnaceSlab");
GameRegistry.registerTileEntity(FurnaceLogic.class, "TConstruct.Furnace");
GameRegistry.registerBlock(TRepo.heldItemBlock, "HeldItemBlock");
GameRegistry.registerTileEntity(FrypanLogic.class, "FrypanLogic");
GameRegistry.registerBlock(TRepo.craftedSoil, CraftedSoilItemBlock.class, "CraftedSoil");
GameRegistry.registerBlock(TRepo.searedSlab, SearedSlabItem.class, "SearedSlab");
GameRegistry.registerBlock(TRepo.speedSlab, SpeedSlabItem.class, "SpeedSlab");
GameRegistry.registerBlock(TRepo.metalBlock, MetalItemBlock.class, "MetalBlock");
GameRegistry.registerBlock(TRepo.meatBlock, HamboneItemBlock.class, "MeatBlock");
OreDictionary.registerOre("hambone", new ItemStack(TRepo.meatBlock));
2013-12-31 14:11:05 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.meatBlock), "mmm", "mbm", "mmm", 'b', new ItemStack(Items.bone), 'm', new ItemStack(Items.porkchop));
2013-11-29 23:16:32 -05:00
GameRegistry.registerBlock(TRepo.glueBlock, "GlueBlock");
OreDictionary.registerOre("blockRubber", new ItemStack(TRepo.glueBlock));
2014-04-08 18:30:38 -04:00
GameRegistry.registerBlock(TRepo.woolSlab1, WoolSlab1Item.class, "WoolSlab1");
GameRegistry.registerBlock(TRepo.woolSlab2, WoolSlab2Item.class, "WoolSlab2");
2013-11-29 23:16:32 -05:00
2014-02-16 14:23:50 -05:00
// Smeltery stuff
2013-11-29 23:16:32 -05:00
GameRegistry.registerBlock(TRepo.smeltery, SmelteryItemBlock.class, "Smeltery");
2013-12-11 23:47:07 -05:00
GameRegistry.registerBlock(TRepo.smelteryNether, SmelteryItemBlock.class, "SmelteryNether");
2013-11-29 23:16:32 -05:00
if (PHConstruct.newSmeltery)
{
GameRegistry.registerTileEntity(AdaptiveSmelteryLogic.class, "TConstruct.Smeltery");
GameRegistry.registerTileEntity(AdaptiveDrainLogic.class, "TConstruct.SmelteryDrain");
}
else
{
GameRegistry.registerTileEntity(SmelteryLogic.class, "TConstruct.Smeltery");
GameRegistry.registerTileEntity(SmelteryDrainLogic.class, "TConstruct.SmelteryDrain");
}
GameRegistry.registerTileEntity(MultiServantLogic.class, "TConstruct.Servants");
GameRegistry.registerBlock(TRepo.lavaTank, LavaTankItemBlock.class, "LavaTank");
2013-12-12 00:13:21 -05:00
GameRegistry.registerBlock(TRepo.lavaTankNether, LavaTankItemBlock.class, "LavaTankNether");
2013-11-29 23:16:32 -05:00
GameRegistry.registerTileEntity(LavaTankLogic.class, "TConstruct.LavaTank");
GameRegistry.registerBlock(TRepo.searedBlock, SearedTableItemBlock.class, "SearedBlock");
2013-12-12 00:13:21 -05:00
GameRegistry.registerBlock(TRepo.searedBlockNether, SearedTableItemBlock.class, "SearedBlockNether");
2013-11-29 23:16:32 -05:00
GameRegistry.registerTileEntity(CastingTableLogic.class, "CastingTable");
GameRegistry.registerTileEntity(FaucetLogic.class, "Faucet");
GameRegistry.registerTileEntity(CastingBasinLogic.class, "CastingBasin");
GameRegistry.registerBlock(TRepo.castingChannel, CastingChannelItem.class, "CastingChannel");
GameRegistry.registerTileEntity(CastingChannelLogic.class, "CastingChannel");
GameRegistry.registerBlock(TRepo.tankAir, "TankAir");
GameRegistry.registerTileEntity(TankAirLogic.class, "tconstruct.tank.air");
2014-02-16 14:23:50 -05:00
// Traps
2013-11-29 23:16:32 -05:00
GameRegistry.registerBlock(TRepo.landmine, ItemBlockLandmine.class, "Redstone.Landmine");
GameRegistry.registerTileEntity(TileEntityLandmine.class, "Landmine");
GameRegistry.registerBlock(TRepo.punji, "trap.punji");
GameRegistry.registerBlock(TRepo.barricadeOak, BarricadeItem.class, "trap.barricade.oak");
GameRegistry.registerBlock(TRepo.barricadeSpruce, BarricadeItem.class, "trap.barricade.spruce");
GameRegistry.registerBlock(TRepo.barricadeBirch, BarricadeItem.class, "trap.barricade.birch");
GameRegistry.registerBlock(TRepo.barricadeJungle, BarricadeItem.class, "trap.barricade.jungle");
GameRegistry.registerBlock(TRepo.slimeExplosive, MetadataItemBlock.class, "explosive.slime");
GameRegistry.registerBlock(TRepo.dryingRack, "Armor.DryingRack");
GameRegistry.registerTileEntity(DryingRackLogic.class, "Armor.DryingRack");
2014-02-16 14:23:50 -05:00
// fluids
2013-11-29 23:16:32 -05:00
2014-02-16 14:23:50 -05:00
// Slime Islands
2013-11-29 23:16:32 -05:00
GameRegistry.registerBlock(TRepo.slimeGel, SlimeGelItemBlock.class, "slime.gel");
GameRegistry.registerBlock(TRepo.slimeGrass, SlimeGrassItemBlock.class, "slime.grass");
GameRegistry.registerBlock(TRepo.slimeTallGrass, SlimeTallGrassItem.class, "slime.grass.tall");
GameRegistry.registerBlock(TRepo.slimeLeaves, SlimeLeavesItemBlock.class, "slime.leaves");
GameRegistry.registerBlock(TRepo.slimeSapling, SlimeSaplingItemBlock.class, "slime.sapling");
GameRegistry.registerBlock(TRepo.slimeChannel, "slime.channel");
2013-12-11 23:47:07 -05:00
GameRegistry.registerBlock(TRepo.bloodChannel, "blood.channel");
2013-11-29 23:16:32 -05:00
GameRegistry.registerBlock(TRepo.slimePad, "slime.pad");
2014-02-16 14:23:50 -05:00
// TODO fix this
/*
* TConstructRegistry.drawbridgeState[TRepo.slimePad] = 1;
* TConstructRegistry.drawbridgeState[TRepo.bloodChannel] = 1;
*/
2013-11-29 23:16:32 -05:00
2014-02-16 14:23:50 -05:00
// Decoration
2013-11-29 23:16:32 -05:00
GameRegistry.registerBlock(TRepo.stoneTorch, "decoration.stonetorch");
GameRegistry.registerBlock(TRepo.stoneLadder, "decoration.stoneladder");
GameRegistry.registerBlock(TRepo.multiBrick, MultiBrickItem.class, "decoration.multibrick");
GameRegistry.registerBlock(TRepo.multiBrickFancy, MultiBrickFancyItem.class, "decoration.multibrickfancy");
2014-02-16 14:23:50 -05:00
// Ores
2013-11-29 23:16:32 -05:00
GameRegistry.registerBlock(TRepo.oreBerry, OreberryBushItem.class, "ore.berries.one");
GameRegistry.registerBlock(TRepo.oreBerrySecond, OreberryBushSecondItem.class, "ore.berries.two");
GameRegistry.registerBlock(TRepo.oreSlag, MetalOreItemBlock.class, "SearedBrick");
GameRegistry.registerBlock(TRepo.oreGravel, GravelOreItem.class, "GravelOre");
GameRegistry.registerBlock(TRepo.speedBlock, SpeedBlockItem.class, "SpeedBlock");
2014-02-16 14:23:50 -05:00
// Glass
2013-11-29 23:16:32 -05:00
GameRegistry.registerBlock(TRepo.clearGlass, GlassBlockItem.class, "GlassBlock");
GameRegistry.registerBlock(TRepo.glassPane, GlassPaneItem.class, "GlassPane");
GameRegistry.registerBlock(TRepo.stainedGlassClear, StainedGlassClearItem.class, "GlassBlock.StainedClear");
GameRegistry.registerBlock(TRepo.stainedGlassClearPane, StainedGlassClearPaneItem.class, "GlassPaneClearStained");
2014-02-16 14:23:50 -05:00
// Rail
2013-11-29 23:16:32 -05:00
GameRegistry.registerBlock(TRepo.woodenRail, "rail.wood");
}
static void registerItemRecipes ()
{
}
public void addOreDictionarySmelteryRecipes ()
2013-11-29 23:46:55 -05:00
{
2014-02-04 21:21:50 -05:00
List<FluidType> exceptions = Arrays.asList(new FluidType[] { FluidType.Water, FluidType.Stone, FluidType.Ender, FluidType.Glass, FluidType.Slime, FluidType.Obsidian });
2013-11-29 23:46:55 -05:00
for (FluidType ft : FluidType.values())
{
if (exceptions.contains(ft))
continue;
// Nuggets
Smeltery.addDictionaryMelting("nugget" + ft.toString(), ft, -100, TConstruct.nuggetLiquidValue);
// Ingots, Dust
registerIngotCasting(ft);
Smeltery.addDictionaryMelting("ingot" + ft.toString(), ft, -50, TConstruct.ingotLiquidValue);
Smeltery.addDictionaryMelting("dust" + ft.toString(), ft, -75, TConstruct.ingotLiquidValue);
// Factorization support
Smeltery.addDictionaryMelting("crystalline" + ft.toString(), ft, -50, TConstruct.ingotLiquidValue);
// Ores
2013-12-06 11:37:06 -08:00
Smeltery.addDictionaryMelting("ore" + ft.toString(), ft, 0, (int) (TConstruct.ingotLiquidValue * PHConstruct.ingotsPerOre));
2013-11-29 23:46:55 -05:00
// NetherOres support
2013-12-06 11:37:06 -08:00
Smeltery.addDictionaryMelting("oreNether" + ft.toString(), ft, 75, (int) (TConstruct.ingotLiquidValue * PHConstruct.ingotsPerOre * 2));
2013-11-29 23:46:55 -05:00
// Blocks
Smeltery.addDictionaryMelting("block" + ft.toString(), ft, 100, TConstruct.blockLiquidValue);
if (ft.isToolpart)
{
registerPatternMaterial("ingot" + ft.toString(), 2, ft.toString());
registerPatternMaterial("block" + ft.toString(), 18, ft.toString());
}
}
2014-02-16 14:23:50 -05:00
// Obsidian, different dust amount
2014-02-04 21:21:50 -05:00
{
FluidType ft = FluidType.Obsidian;
Smeltery.addDictionaryMelting("nugget" + ft.toString(), ft, -100, TConstruct.nuggetLiquidValue);
// Ingots, Dust
registerIngotCasting(ft);
Smeltery.addDictionaryMelting("ingot" + ft.toString(), ft, -50, TConstruct.ingotLiquidValue);
Smeltery.addDictionaryMelting("dust" + ft.toString(), ft, -75, TConstruct.ingotLiquidValue / 4);
// Factorization support
Smeltery.addDictionaryMelting("crystalline" + ft.toString(), ft, -50, TConstruct.ingotLiquidValue);
// Ores
Smeltery.addDictionaryMelting("ore" + ft.toString(), ft, 0, ((int) TConstruct.ingotLiquidValue * (int) PHConstruct.ingotsPerOre));
// NetherOres support
Smeltery.addDictionaryMelting("oreNether" + ft.toString(), ft, 75, ((int) TConstruct.ingotLiquidValue * (int) PHConstruct.ingotsPerOre * 2));
// Blocks
Smeltery.addDictionaryMelting("block" + ft.toString(), ft, 100, TConstruct.blockLiquidValue);
if (ft.isToolpart)
{
registerPatternMaterial("ingot" + ft.toString(), 2, ft.toString());
registerPatternMaterial("block" + ft.toString(), 18, ft.toString());
}
}
2013-11-29 23:46:55 -05:00
2014-02-16 14:23:50 -05:00
// Compressed materials
2013-11-29 23:46:55 -05:00
for (int i = 1; i <= 8; i++)
{
Smeltery.addDictionaryMelting("compressedCobblestone" + i + "x", FluidType.Stone, 0, TConstruct.ingotLiquidValue / 18 * (9 ^ i));
}
Smeltery.addDictionaryMelting("compressedSand1x", FluidType.Glass, 175, FluidContainerRegistry.BUCKET_VOLUME * 9);
registerPatternMaterial("plankWood", 2, "Wood");
registerPatternMaterial("stickWood", 1, "Wood");
registerPatternMaterial("slabWood", 1, "Wood");
registerPatternMaterial("compressedCobblestone1x", 18, "Stone");
}
2013-11-29 23:46:55 -05:00
protected static void addRecipesForToolBuilder ()
{
ToolBuilder tb = ToolBuilder.instance;
tb.addNormalToolRecipe(TRepo.pickaxe, TRepo.pickaxeHead, TRepo.toolRod, TRepo.binding);
tb.addNormalToolRecipe(TRepo.broadsword, TRepo.swordBlade, TRepo.toolRod, TRepo.wideGuard);
tb.addNormalToolRecipe(TRepo.hatchet, TRepo.hatchetHead, TRepo.toolRod);
tb.addNormalToolRecipe(TRepo.shovel, TRepo.shovelHead, TRepo.toolRod);
tb.addNormalToolRecipe(TRepo.longsword, TRepo.swordBlade, TRepo.toolRod, TRepo.handGuard);
tb.addNormalToolRecipe(TRepo.rapier, TRepo.swordBlade, TRepo.toolRod, TRepo.crossbar);
tb.addNormalToolRecipe(TRepo.frypan, TRepo.frypanHead, TRepo.toolRod);
tb.addNormalToolRecipe(TRepo.battlesign, TRepo.signHead, TRepo.toolRod);
tb.addNormalToolRecipe(TRepo.mattock, TRepo.hatchetHead, TRepo.toolRod, TRepo.shovelHead);
tb.addNormalToolRecipe(TRepo.dagger, TRepo.knifeBlade, TRepo.toolRod, TRepo.crossbar);
tb.addNormalToolRecipe(TRepo.cutlass, TRepo.swordBlade, TRepo.toolRod, TRepo.fullGuard);
tb.addNormalToolRecipe(TRepo.chisel, TRepo.chiselHead, TRepo.toolRod);
tb.addNormalToolRecipe(TRepo.scythe, TRepo.scytheBlade, TRepo.toughRod, TRepo.toughBinding, TRepo.toughRod);
tb.addNormalToolRecipe(TRepo.lumberaxe, TRepo.broadAxeHead, TRepo.toughRod, TRepo.largePlate, TRepo.toughBinding);
tb.addNormalToolRecipe(TRepo.cleaver, TRepo.largeSwordBlade, TRepo.toughRod, TRepo.largePlate, TRepo.toughRod);
tb.addNormalToolRecipe(TRepo.excavator, TRepo.excavatorHead, TRepo.toughRod, TRepo.largePlate, TRepo.toughBinding);
tb.addNormalToolRecipe(TRepo.hammer, TRepo.hammerHead, TRepo.toughRod, TRepo.largePlate, TRepo.largePlate);
tb.addNormalToolRecipe(TRepo.battleaxe, TRepo.broadAxeHead, TRepo.toughRod, TRepo.broadAxeHead, TRepo.toughBinding);
BowRecipe recipe = new BowRecipe(TRepo.toolRod, TRepo.bowstring, TRepo.toolRod, TRepo.shortbow);
tb.addCustomToolRecipe(recipe);
tb.addNormalToolRecipe(TRepo.arrow, TRepo.arrowhead, TRepo.toolRod, TRepo.fletching);
2013-12-31 14:11:05 -05:00
ItemStack diamond = new ItemStack(Items.diamond);
2013-11-29 23:46:55 -05:00
tb.registerToolMod(new ModRepair());
2014-04-16 17:36:23 +02:00
tb.registerToolMod(new ModDurability(new ItemStack[] { diamond }, 0, 500, 0f, 3, StatCollector.translateToLocal("gui.modifier.diamond"), "\u00a7b" + StatCollector.translateToLocal("modifier.tool.diamond"), "\u00a7b"));
tb.registerToolMod(new ModDurability(new ItemStack[] { new ItemStack(Items.emerald) }, 1, 0, 0.5f, 2, StatCollector.translateToLocal("gui.modifier.emerald"), "\u00a72" + StatCollector.translateToLocal("modifier.tool.emerald"), "\u00a72"));
2013-11-29 23:46:55 -05:00
2013-12-12 03:08:05 -08:00
TRepo.modFlux = new ModFlux();
tb.registerToolMod(TRepo.modFlux);
2013-11-29 23:46:55 -05:00
2013-12-31 14:11:05 -05:00
ItemStack redstoneItem = new ItemStack(Items.redstone);
ItemStack redstoneBlock = new ItemStack(Blocks.redstone_block);
tb.registerToolMod(new ModRedstone(2, new ItemStack[] { redstoneItem, redstoneBlock }, new int[] { 1, 9 }));
2013-11-29 23:46:55 -05:00
2014-01-10 21:14:54 -05:00
ItemStack lapisItem = new ItemStack(Items.dye, 1, 4);
2013-12-31 14:11:05 -05:00
ItemStack lapisBlock = new ItemStack(Blocks.lapis_block);
TRepo.modLapis = new ModLapis(10, new ItemStack[] { lapisItem, lapisBlock }, new int[] { 1, 9 });
2013-12-12 03:08:05 -08:00
tb.registerToolMod(TRepo.modLapis);
2013-11-29 23:46:55 -05:00
2014-04-16 17:36:23 +02:00
tb.registerToolMod(new ModInteger(new ItemStack[] { new ItemStack(TRepo.materials, 1, 6) }, 4, StatCollector.translateToLocal("gui.modifier.moss"), 3, "\u00a72", StatCollector.translateToLocal("modifier.tool.moss")));
2013-12-31 14:11:05 -05:00
ItemStack blazePowder = new ItemStack(Items.blaze_powder);
tb.registerToolMod(new ModBlaze(7, new ItemStack[] { blazePowder }, new int[] { 1 }));
2014-04-16 17:36:23 +02:00
tb.registerToolMod(new ModAutoSmelt(new ItemStack[] { new ItemStack(TRepo.materials, 1, 7) }, 6, StatCollector.translateToLocal("gui.modifier.lava"), "\u00a74", StatCollector.translateToLocal("modifier.tool.lava")));
tb.registerToolMod(new ModInteger(new ItemStack[] { new ItemStack(TRepo.materials, 1, 8) }, 8, StatCollector.translateToLocal("gui.modifier.necro"), 1, "\u00a78", StatCollector.translateToLocal("modifier.tool.necro")));
2013-11-29 23:46:55 -05:00
2014-04-16 17:36:23 +02:00
TRepo.modAttack = new ModAttack(StatCollector.translateToLocal("gui.modifier.quartz"), 11, new ItemStack[] { new ItemStack(Items.quartz), new ItemStack(Blocks.quartz_block, 1, Short.MAX_VALUE) }, new int[] { 1, 4 });
2013-12-12 03:08:05 -08:00
tb.registerToolMod(TRepo.modAttack);
2013-11-29 23:46:55 -05:00
2013-12-31 14:11:05 -05:00
tb.registerToolMod(new ModExtraModifier(new ItemStack[] { diamond, new ItemStack(Blocks.gold_block) }, "Tier1Free"));
tb.registerToolMod(new ModExtraModifier(new ItemStack[] { new ItemStack(Blocks.diamond_block), new ItemStack(Items.golden_apple, 1, 1) }, "Tier1.5Free"));
tb.registerToolMod(new ModExtraModifier(new ItemStack[] { new ItemStack(Items.nether_star) }, "Tier2Free"));
2014-04-02 20:38:48 -04:00
tb.registerToolMod(new ModCreativeToolModifier(new ItemStack[] { new ItemStack(TRepo.creativeModifier) }));
2013-11-29 23:46:55 -05:00
ItemStack silkyJewel = new ItemStack(TRepo.materials, 1, 26);
tb.registerToolMod(new ModButtertouch(new ItemStack[] { silkyJewel }, 12));
2013-12-31 14:11:05 -05:00
ItemStack piston = new ItemStack(Blocks.piston);
tb.registerToolMod(new ModPiston(3, new ItemStack[] { piston }, new int[] { 1 }));
2013-11-29 23:46:55 -05:00
2014-04-16 17:36:23 +02:00
tb.registerToolMod(new ModInteger(new ItemStack[] { new ItemStack(Blocks.obsidian), new ItemStack(Items.ender_pearl) }, 13, StatCollector.translateToLocal("modifier.tool.beheading"), 1, "\u00a7d", StatCollector.translateToLocal("modifier.tool.beheading")));
2013-11-29 23:46:55 -05:00
ItemStack holySoil = new ItemStack(TRepo.craftedSoil, 1, 4);
2014-04-16 17:36:23 +02:00
tb.registerToolMod(new ModSmite(StatCollector.translateToLocal("modifier.tool.smite"), 14, new ItemStack[] { holySoil }, new int[] { 1 }));
2013-11-29 23:46:55 -05:00
2013-12-31 14:11:05 -05:00
ItemStack spidereyeball = new ItemStack(Items.fermented_spider_eye);
2014-04-16 17:36:23 +02:00
tb.registerToolMod(new ModAntiSpider(StatCollector.translateToLocal("gui.modifier.spider"), 15, new ItemStack[] { spidereyeball }, new int[] { 1 }));
2013-11-29 23:46:55 -05:00
ItemStack obsidianPlate = new ItemStack(TRepo.largePlate, 1, 6);
tb.registerToolMod(new ModReinforced(new ItemStack[] { obsidianPlate }, 16, 1));
2014-02-04 20:40:58 -05:00
EnumSet<EnumArmorPart> allArmors = EnumSet.of(EnumArmorPart.HELMET, EnumArmorPart.CHEST, EnumArmorPart.PANTS, EnumArmorPart.SHOES);
EnumSet<EnumArmorPart> chest = EnumSet.of(EnumArmorPart.CHEST);
tb.registerArmorMod(new AModMoveSpeed(0, allArmors, new ItemStack[] { redstoneItem, redstoneBlock }, new int[] { 1, 9 }, false));
tb.registerArmorMod(new AModKnockbackResistance(1, allArmors, new ItemStack[] { new ItemStack(Items.gold_ingot), new ItemStack(Blocks.gold_block) }, new int[] { 1, 9 }, false));
tb.registerArmorMod(new AModHealthBoost(2, allArmors, new ItemStack[] { new ItemStack(TRepo.heartCanister, 1, 2) }, new int[] { 2 }, true));
tb.registerArmorMod(new AModDamageBoost(3, allArmors, new ItemStack[] { new ItemStack(Items.diamond), new ItemStack(Blocks.diamond_block) }, new int[] { 1, 9 }, false, 3, 0.05));
tb.registerArmorMod(new AModDamageBoost(4, chest, new ItemStack[] { new ItemStack(Blocks.quartz_block, 1, Short.MAX_VALUE) }, new int[] { 1 }, true, 5, 1));
tb.registerArmorMod(new AModProtection(5, allArmors, new ItemStack[] { new ItemStack(TRepo.largePlate, 1, 2) }, new int[] { 2 }));
2014-02-08 13:30:19 -05:00
tb.registerArmorMod(new AModDoubleJump(new ItemStack[] { new ItemStack(Items.ghast_tear), new ItemStack(TRepo.slimeGel, 1, 0), new ItemStack(TRepo.slimeGel, 1, 1) }));
2013-11-29 23:46:55 -05:00
TConstructRegistry.registerActiveToolMod(new TActiveOmniMod());
}
2013-11-29 23:46:55 -05:00
protected static void addPartMapping ()
{
/* Tools */
TRepo.patternOutputs = new Item[] { TRepo.toolRod, TRepo.pickaxeHead, TRepo.shovelHead, TRepo.hatchetHead, TRepo.swordBlade, TRepo.wideGuard, TRepo.handGuard, TRepo.crossbar, TRepo.binding,
TRepo.frypanHead, TRepo.signHead, TRepo.knifeBlade, TRepo.chiselHead, TRepo.toughRod, TRepo.toughBinding, TRepo.largePlate, TRepo.broadAxeHead, TRepo.scytheBlade, TRepo.excavatorHead,
TRepo.largeSwordBlade, TRepo.hammerHead, TRepo.fullGuard, null, null, TRepo.arrowhead, null };
int[] nonMetals = { 0, 1, 3, 4, 5, 6, 7, 8, 9, 17 };
if (PHConstruct.craftMetalTools)
{
for (int mat = 0; mat < 18; mat++)
{
for (int meta = 0; meta < TRepo.patternOutputs.length; meta++)
{
if (TRepo.patternOutputs[meta] != null)
2013-12-31 14:11:05 -05:00
TConstructRegistry.addPartMapping(TRepo.woodPattern, meta + 1, mat, new ItemStack(TRepo.patternOutputs[meta], 1, mat));
2013-11-29 23:46:55 -05:00
}
}
}
else
{
for (int mat = 0; mat < nonMetals.length; mat++)
{
for (int meta = 0; meta < TRepo.patternOutputs.length; meta++)
{
if (TRepo.patternOutputs[meta] != null)
2013-12-31 14:11:05 -05:00
TConstructRegistry.addPartMapping(TRepo.woodPattern, meta + 1, nonMetals[mat], new ItemStack(TRepo.patternOutputs[meta], 1, nonMetals[mat]));
2013-11-29 23:46:55 -05:00
}
}
}
}
protected static void addRecipesForTableCasting ()
{
/* Smeltery */
ItemStack ingotcast = new ItemStack(TRepo.metalPattern, 1, 0);
ItemStack gemcast = new ItemStack(TRepo.metalPattern, 1, 26);
LiquidCasting tableCasting = TConstructRegistry.instance.getTableCasting();
2014-02-16 14:23:50 -05:00
// Blank
2013-11-29 23:46:55 -05:00
tableCasting.addCastingRecipe(new ItemStack(TRepo.blankPattern, 1, 1), new FluidStack(TRepo.moltenAlubrassFluid, TConstruct.ingotLiquidValue), 80);
tableCasting.addCastingRecipe(new ItemStack(TRepo.blankPattern, 1, 2), new FluidStack(TRepo.moltenGoldFluid, TConstruct.ingotLiquidValue * 2), 80);
2013-12-31 14:11:05 -05:00
tableCasting.addCastingRecipe(gemcast, new FluidStack(TRepo.moltenAlubrassFluid, TConstruct.ingotLiquidValue), new ItemStack(Items.emerald), 80);
tableCasting.addCastingRecipe(gemcast, new FluidStack(TRepo.moltenGoldFluid, TConstruct.ingotLiquidValue * 2), new ItemStack(Items.emerald), 80);
2013-11-29 23:46:55 -05:00
2014-02-16 14:23:50 -05:00
// Ingots
tableCasting.addCastingRecipe(new ItemStack(TRepo.materials, 1, 2), new FluidStack(TRepo.moltenStoneFluid, TConstruct.ingotLiquidValue / 4), ingotcast, 80); // stone
2013-11-29 23:46:55 -05:00
2014-02-16 14:23:50 -05:00
// Misc
2013-12-31 14:11:05 -05:00
tableCasting.addCastingRecipe(new ItemStack(Items.emerald), new FluidStack(TRepo.moltenEmeraldFluid, 640), gemcast, 80);
2013-11-29 23:46:55 -05:00
tableCasting.addCastingRecipe(new ItemStack(TRepo.materials, 1, 36), new FluidStack(TRepo.glueFluid, TConstruct.ingotLiquidValue), null, 50);
2013-12-11 23:47:07 -05:00
tableCasting.addCastingRecipe(new ItemStack(TRepo.strangeFood, 1, 1), new FluidStack(TRepo.bloodFluid, 160), null, 50);
2013-11-29 23:46:55 -05:00
2014-02-16 14:23:50 -05:00
// Buckets
2014-01-01 08:47:10 -05:00
ItemStack bucket = new ItemStack(Items.bucket);
2013-11-29 23:46:55 -05:00
for (int sc = 0; sc < 24; sc++)
{
tableCasting.addCastingRecipe(new ItemStack(TRepo.buckets, 1, sc), new FluidStack(TRepo.fluids[sc], FluidContainerRegistry.BUCKET_VOLUME), bucket, true, 10);
}
tableCasting.addCastingRecipe(new ItemStack(TRepo.buckets, 1, 26), new FluidStack(TRepo.fluids[26], FluidContainerRegistry.BUCKET_VOLUME), bucket, true, 10);
// Clear glass pane casting
tableCasting.addCastingRecipe(new ItemStack(TRepo.glassPane), new FluidStack(TRepo.moltenGlassFluid, 250), null, 80);
// Metal toolpart casting
TRepo.liquids = new FluidStack[] { new FluidStack(TRepo.moltenIronFluid, 1), new FluidStack(TRepo.moltenCopperFluid, 1), new FluidStack(TRepo.moltenCobaltFluid, 1),
new FluidStack(TRepo.moltenArditeFluid, 1), new FluidStack(TRepo.moltenManyullynFluid, 1), new FluidStack(TRepo.moltenBronzeFluid, 1), new FluidStack(TRepo.moltenAlumiteFluid, 1),
new FluidStack(TRepo.moltenObsidianFluid, 1), new FluidStack(TRepo.moltenSteelFluid, 1), new FluidStack(TRepo.pigIronFluid, 1) };
2014-02-16 14:23:50 -05:00
int[] liquidDamage = new int[] { 2, 13, 10, 11, 12, 14, 15, 6, 16, 18 }; // ItemStack
// damage
// value
2013-11-29 23:46:55 -05:00
int fluidAmount = 0;
Fluid fs = null;
for (int iter = 0; iter < TRepo.patternOutputs.length; iter++)
{
if (TRepo.patternOutputs[iter] != null)
{
ItemStack cast = new ItemStack(TRepo.metalPattern, 1, iter + 1);
tableCasting.addCastingRecipe(cast, new FluidStack(TRepo.moltenAlubrassFluid, TConstruct.ingotLiquidValue), new ItemStack(TRepo.patternOutputs[iter], 1, Short.MAX_VALUE), false, 50);
tableCasting.addCastingRecipe(cast, new FluidStack(TRepo.moltenGoldFluid, TConstruct.ingotLiquidValue * 2), new ItemStack(TRepo.patternOutputs[iter], 1, Short.MAX_VALUE), false, 50);
for (int iterTwo = 0; iterTwo < TRepo.liquids.length; iterTwo++)
{
fs = TRepo.liquids[iterTwo].getFluid();
fluidAmount = ((IPattern) TRepo.metalPattern).getPatternCost(cast) * TConstruct.ingotLiquidValue / 2;
ItemStack metalCast = new ItemStack(TRepo.patternOutputs[iter], 1, liquidDamage[iterTwo]);
tableCasting.addCastingRecipe(metalCast, new FluidStack(fs, fluidAmount), cast, 50);
Smeltery.addMelting(FluidType.getFluidType(fs), metalCast, 0, fluidAmount);
}
}
}
2014-02-02 10:52:13 -05:00
ItemStack[] ingotShapes = { new ItemStack(Items.brick), new ItemStack(Items.netherbrick), new ItemStack(TRepo.materials, 1, 2), new ItemStack(TRepo.materials, 1, 37) };
2013-11-29 23:46:55 -05:00
for (int i = 0; i < ingotShapes.length; i++)
{
tableCasting.addCastingRecipe(ingotcast, new FluidStack(TRepo.moltenAlubrassFluid, TConstruct.ingotLiquidValue), ingotShapes[i], false, 50);
tableCasting.addCastingRecipe(ingotcast, new FluidStack(TRepo.moltenGoldFluid, TConstruct.ingotLiquidValue * 2), ingotShapes[i], false, 50);
}
ItemStack fullguardCast = new ItemStack(TRepo.metalPattern, 1, 22);
tableCasting.addCastingRecipe(fullguardCast, new FluidStack(TRepo.moltenAlubrassFluid, TConstruct.ingotLiquidValue), new ItemStack(TRepo.fullGuard, 1, Short.MAX_VALUE), false, 50);
tableCasting.addCastingRecipe(fullguardCast, new FluidStack(TRepo.moltenGoldFluid, TConstruct.ingotLiquidValue * 2), new ItemStack(TRepo.fullGuard, 1, Short.MAX_VALUE), false, 50);
// Golden Food Stuff
FluidStack goldAmount = null;
if (PHConstruct.goldAppleRecipe)
{
goldAmount = new FluidStack(TRepo.moltenGoldFluid, TConstruct.ingotLiquidValue * 8);
}
else
{
goldAmount = new FluidStack(TRepo.moltenGoldFluid, TConstruct.nuggetLiquidValue * 8);
}
2013-12-31 14:11:05 -05:00
tableCasting.addCastingRecipe(new ItemStack(Items.golden_apple, 1), goldAmount, new ItemStack(Items.apple), true, 50);
tableCasting.addCastingRecipe(new ItemStack(Items.golden_carrot, 1), goldAmount, new ItemStack(Items.carrot), true, 50);
tableCasting.addCastingRecipe(new ItemStack(Items.speckled_melon, 1), goldAmount, new ItemStack(Items.melon), true, 50);
tableCasting.addCastingRecipe(new ItemStack(TRepo.goldHead), goldAmount, new ItemStack(Items.skull, 1, 3), true, 50);
2013-11-29 23:46:55 -05:00
}
protected static void addRecipesForFurnace ()
{
2014-02-24 16:36:08 -05:00
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.craftedSoil, 1, 3), new ItemStack(TRepo.craftedSoil, 1, 4), 0.2f); // Concecrated
// Soil
2014-02-16 14:23:50 -05:00
2014-02-24 16:36:08 -05:00
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.craftedSoil, 1, 0), new ItemStack(TRepo.materials, 1, 1), 2f); // Slime
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.craftedSoil, 1, 1), new ItemStack(TRepo.materials, 1, 2), 2f); // Seared brick item
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.craftedSoil, 1, 2), new ItemStack(TRepo.materials, 1, 17), 2f); // Blue Slime
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.craftedSoil, 1, 6), new ItemStack(TRepo.materials, 1, 37), 2f); // Nether seared
// brick
2014-02-16 14:23:50 -05:00
// FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.oreSlag,
// 1, new ItemStack(TRepo.materials, 1, 3), 3f);
// FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.oreSlag,
// 2, new ItemStack(TRepo.materials, 1, 4), 3f);
2014-02-24 16:36:08 -05:00
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.oreSlag, 1, 3), new ItemStack(TRepo.materials, 1, 9), 0.5f);
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.oreSlag, 1, 4), new ItemStack(TRepo.materials, 1, 10), 0.5f);
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.oreSlag, 1, 5), new ItemStack(TRepo.materials, 1, 11), 0.5f);
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.oreBerries, 1, 0), new ItemStack(TRepo.materials, 1, 19), 0.2f);
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.oreBerries, 1, 1), new ItemStack(Items.gold_nugget), 0.2f);
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.oreBerries, 1, 2), new ItemStack(TRepo.materials, 1, 20), 0.2f);
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.oreBerries, 1, 3), new ItemStack(TRepo.materials, 1, 21), 0.2f);
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.oreBerries, 1, 4), new ItemStack(TRepo.materials, 1, 22), 0.2f);
2014-02-16 14:23:50 -05:00
// FurnaceRecipes.smelting().func_151394_a(new
// ItemStack(TRepo.oreBerries, 5, new ItemStack(TRepo.materials, 1, 23),
// 0.2f);
2014-02-24 16:36:08 -05:00
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.oreGravel, 1, 0), new ItemStack(Items.iron_ingot), 0.2f);
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.oreGravel, 1, 1), new ItemStack(Items.gold_ingot), 0.2f);
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.oreGravel, 1, 2), new ItemStack(TRepo.materials, 1, 9), 0.2f);
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.oreGravel, 1, 3), new ItemStack(TRepo.materials, 1, 10), 0.2f);
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.oreGravel, 1, 4), new ItemStack(TRepo.materials, 1, 11), 0.2f);
2014-02-24 16:36:08 -05:00
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.speedBlock, 1, 0), new ItemStack(TRepo.speedBlock, 1, 2), 0.2f);
2013-11-29 23:46:55 -05:00
}
protected static void addRecipesForCraftingTable ()
{
String[] patBlock = { "###", "###", "###" };
String[] patSurround = { "###", "#m#", "###" };
2013-12-31 14:11:05 -05:00
Object[] toolForgeBlocks = { "blockIron", "blockGold", Blocks.diamond_block, Blocks.emerald_block, "blockCobalt", "blockArdite", "blockManyullyn", "blockCopper", "blockBronze", "blockTin",
2013-11-29 23:46:55 -05:00
"blockAluminum", "blockAluminumBrass", "blockAlumite", "blockSteel" };
// ToolForge Recipes (Metal Version)
for (int sc = 0; sc < toolForgeBlocks.length; sc++)
{
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.toolForge, 1, sc), "bbb", "msm", "m m", 'b', new ItemStack(TRepo.smeltery, 1, 2), 's', new ItemStack(TRepo.toolStationWood,
1, 0), 'm', toolForgeBlocks[sc]));
// adding slab version recipe
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.craftingSlabWood, 1, 5), "bbb", "msm", "m m", 'b', new ItemStack(TRepo.smeltery, 1, 2), 's', new ItemStack(
TRepo.craftingSlabWood, 1, 1), 'm', toolForgeBlocks[sc]));
}
// ToolStation Recipes (Wooden Version)
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.toolStationWood, 1, 0), "p", "w", 'p', new ItemStack(TRepo.blankPattern, 1, 0), 'w', "crafterWood"));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.toolStationWood, 1, 0), "p", "w", 'p', new ItemStack(TRepo.blankPattern, 1, 0), 'w', "craftingTableWood"));
GameRegistry.addRecipe(new ItemStack(TRepo.toolStationWood, 1, 0), "p", "w", 'p', new ItemStack(TRepo.blankPattern, 1, 0), 'w', new ItemStack(TRepo.craftingStationWood, 1, 0));
GameRegistry.addRecipe(new ItemStack(TRepo.toolStationWood, 1, 0), "p", "w", 'p', new ItemStack(TRepo.blankPattern, 1, 0), 'w', new ItemStack(TRepo.craftingSlabWood, 1, 0));
2013-12-31 14:11:05 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.toolStationWood, 1, 2), "p", "w", 'p', new ItemStack(TRepo.blankPattern, 1, 0), 'w', new ItemStack(Blocks.log, 1, 1));
GameRegistry.addRecipe(new ItemStack(TRepo.toolStationWood, 1, 3), "p", "w", 'p', new ItemStack(TRepo.blankPattern, 1, 0), 'w', new ItemStack(Blocks.log, 1, 2));
GameRegistry.addRecipe(new ItemStack(TRepo.toolStationWood, 1, 4), "p", "w", 'p', new ItemStack(TRepo.blankPattern, 1, 0), 'w', new ItemStack(Blocks.log, 1, 3));
GameRegistry.addRecipe(new ItemStack(TRepo.toolStationWood, 1, 5), "p", "w", 'p', new ItemStack(TRepo.blankPattern, 1, 0), 'w', Blocks.chest);
2013-11-29 23:46:55 -05:00
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.toolStationWood, 1, 1), "p", "w", 'p', new ItemStack(TRepo.blankPattern, 1, 0), 'w', "logWood"));
if (PHConstruct.stencilTableCrafting)
{
2013-12-31 14:11:05 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.toolStationWood, 1, 10), "p", "w", 'p', new ItemStack(TRepo.blankPattern, 1, 0), 'w', new ItemStack(Blocks.planks, 1, 0));
GameRegistry.addRecipe(new ItemStack(TRepo.toolStationWood, 1, 11), "p", "w", 'p', new ItemStack(TRepo.blankPattern, 1, 0), 'w', new ItemStack(Blocks.planks, 1, 1));
GameRegistry.addRecipe(new ItemStack(TRepo.toolStationWood, 1, 12), "p", "w", 'p', new ItemStack(TRepo.blankPattern, 1, 0), 'w', new ItemStack(Blocks.planks, 1, 2));
GameRegistry.addRecipe(new ItemStack(TRepo.toolStationWood, 1, 13), "p", "w", 'p', new ItemStack(TRepo.blankPattern, 1, 0), 'w', new ItemStack(Blocks.planks, 1, 3));
2013-11-29 23:46:55 -05:00
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.toolStationWood, 1, 10), "p", "w", 'p', new ItemStack(TRepo.blankPattern, 1, 0), 'w', "plankWood"));
}
2013-12-31 14:11:05 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.furnaceSlab, 1, 0), "###", "# #", "###", '#', new ItemStack(Blocks.stone_slab, 1, 3));
2013-11-29 23:46:55 -05:00
// Blank Pattern Recipe
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.blankPattern, 1, 0), "ps", "sp", 'p', "plankWood", 's', "stickWood"));
// Manual Book Recipes
2013-12-31 14:11:05 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.manualBook), "wp", 'w', new ItemStack(TRepo.blankPattern, 1, 0), 'p', Items.paper);
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.manualBook, 2, 0), new ItemStack(TRepo.manualBook, 1, 0), Items.book);
2013-11-29 23:46:55 -05:00
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.manualBook, 1, 1), new ItemStack(TRepo.manualBook, 1, 0));
2013-12-31 14:11:05 -05:00
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.manualBook, 2, 1), new ItemStack(TRepo.manualBook, 1, 1), Items.book);
2013-11-29 23:46:55 -05:00
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.manualBook, 1, 2), new ItemStack(TRepo.manualBook, 1, 1));
2013-12-31 14:11:05 -05:00
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.manualBook, 2, 2), new ItemStack(TRepo.manualBook, 1, 2), Items.book);
2013-11-29 23:46:55 -05:00
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.manualBook, 1, 3), new ItemStack(TRepo.manualBook, 1, 2));
// alternative Vanilla Book Recipe
2013-12-31 14:11:05 -05:00
GameRegistry.addShapelessRecipe(new ItemStack(Items.book), Items.paper, Items.paper, Items.paper, Items.string, TRepo.blankPattern, TRepo.blankPattern);
2014-02-04 20:40:58 -05:00
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.name_tag), "P~ ", "~O ", " ~", '~', Items.string, 'P', Items.paper, 'O', "slimeball"));
2013-11-29 23:46:55 -05:00
// Paperstack Recipe
2013-12-31 14:11:05 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 1, 0), "pp", "pp", 'p', Items.paper);
2013-11-29 23:46:55 -05:00
// Mossball Recipe
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.materials, 1, 6), patBlock, '#', "stoneMossy"));
// LavaCrystal Recipes -Auto-smelt
2014-01-01 08:47:10 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 1, 7), "xcx", "cbc", "xcx", 'b', Items.lava_bucket, 'c', Items.fire_charge, 'x', Items.blaze_rod);
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 1, 7), "xcx", "cbc", "xcx", 'b', Items.lava_bucket, 'x', Items.fire_charge, 'c', Items.blaze_rod);
2013-11-29 23:46:55 -05:00
// Slimy sand Recipes
2013-12-31 14:11:05 -05:00
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.craftedSoil, 1, 0), Items.slime_ball, Items.slime_ball, Items.slime_ball, Items.slime_ball, Blocks.sand, Blocks.dirt);
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.craftedSoil, 1, 2), TRepo.strangeFood, TRepo.strangeFood, TRepo.strangeFood, TRepo.strangeFood, Blocks.sand, Blocks.dirt);
2013-11-29 23:46:55 -05:00
// Grout Recipes
2013-12-31 14:11:05 -05:00
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.craftedSoil, 2, 1), Items.clay_ball, Blocks.sand, Blocks.gravel);
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.craftedSoil, 8, 1), new ItemStack(Blocks.clay, 1, Short.MAX_VALUE), Blocks.sand, Blocks.sand, Blocks.sand, Blocks.sand, Blocks.gravel,
Blocks.gravel, Blocks.gravel, Blocks.gravel);
2014-01-30 04:47:45 -05:00
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.craftedSoil, 2, 6), Items.nether_wart, Blocks.soul_sand, Blocks.gravel);
2013-11-29 23:46:55 -05:00
// Graveyard Soil Recipes
2014-01-10 21:14:54 -05:00
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.craftedSoil, 1, 3), Blocks.dirt, Items.rotten_flesh, new ItemStack(Items.dye, 1, 15));
2013-11-29 23:46:55 -05:00
// Silky Cloth Recipes
2013-12-31 14:11:05 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 1, 25), patSurround, 'm', new ItemStack(TRepo.materials, 1, 24), '#', new ItemStack(Items.string));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.materials, 1, 25), patSurround, 'm', "nuggetGold", '#', new ItemStack(Items.string)));
2013-11-29 23:46:55 -05:00
// Silky Jewel Recipes
2013-12-31 14:11:05 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 1, 26), " c ", "cec", " c ", 'c', new ItemStack(TRepo.materials, 1, 25), 'e', new ItemStack(Items.emerald));
2014-02-04 20:40:58 -05:00
// Armor Recipes
Object[] helm = new String[] { "www", "w w" };
Object[] chest = new String[] { "w w", "www", "www" };
Object[] pants = new String[] { "www", "w w", "w w" };
Object[] shoes = new String[] { "w w", "w w" };
GameRegistry.addRecipe(new ShapedOreRecipe(TRepo.helmetWood, helm, 'w', "logWood"));
GameRegistry.addRecipe(new ShapedOreRecipe(TRepo.chestplateWood, chest, 'w', "logWood"));
GameRegistry.addRecipe(new ShapedOreRecipe(TRepo.leggingsWood, pants, 'w', "logWood"));
GameRegistry.addRecipe(new ShapedOreRecipe(TRepo.bootsWood, shoes, 'w', "logWood"));
ItemStack exoGoggleStack = new ItemStack(TRepo.exoGoggles);
ItemStack exoChestStack = new ItemStack(TRepo.exoChest);
ItemStack exoPantsStack = new ItemStack(TRepo.exoPants);
ItemStack exoShoesStack = new ItemStack(TRepo.exoShoes);
2014-04-18 00:49:00 -04:00
if (!PHConstruct.exoCraftingEnabled)
{
ToolBuilder.instance.addArmorTag(exoGoggleStack);
ToolBuilder.instance.addArmorTag(exoChestStack);
ToolBuilder.instance.addArmorTag(exoPantsStack);
ToolBuilder.instance.addArmorTag(exoShoesStack);
GameRegistry.addShapedRecipe(exoGoggleStack, helm, 'w', new ItemStack(TRepo.largePlate, 1, 14));
GameRegistry.addShapedRecipe(exoChestStack, chest, 'w', new ItemStack(TRepo.largePlate, 1, 14));
GameRegistry.addShapedRecipe(exoPantsStack, pants, 'w', new ItemStack(TRepo.largePlate, 1, 14));
GameRegistry.addShapedRecipe(exoShoesStack, shoes, 'w', new ItemStack(TRepo.largePlate, 1, 14));
}
2014-02-04 20:40:58 -05:00
2013-11-29 23:46:55 -05:00
// Metal conversion Recipes
GameRegistry.addRecipe(new ItemStack(TRepo.metalBlock, 1, 3), patBlock, '#', new ItemStack(TRepo.materials, 1, 9)); // Copper
GameRegistry.addRecipe(new ItemStack(TRepo.metalBlock, 1, 5), patBlock, '#', new ItemStack(TRepo.materials, 1, 10)); // Tin
GameRegistry.addRecipe(new ItemStack(TRepo.metalBlock, 1, 6), patBlock, '#', new ItemStack(TRepo.materials, 1, 11)); // Aluminum
2014-02-16 14:23:50 -05:00
// GameRegistry.addRecipe(new ItemStack(TRepo.metalBlock, 1, 6),
// patBlock, '#', new ItemStack(TRepo.materials, 1, 12)); // Aluminum
2013-11-29 23:46:55 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.metalBlock, 1, 4), patBlock, '#', new ItemStack(TRepo.materials, 1, 13)); // Bronze
GameRegistry.addRecipe(new ItemStack(TRepo.metalBlock, 1, 7), patBlock, '#', new ItemStack(TRepo.materials, 1, 14)); // AluBrass
GameRegistry.addRecipe(new ItemStack(TRepo.metalBlock, 1, 0), patBlock, '#', new ItemStack(TRepo.materials, 1, 3)); // Cobalt
GameRegistry.addRecipe(new ItemStack(TRepo.metalBlock, 1, 1), patBlock, '#', new ItemStack(TRepo.materials, 1, 4)); // Ardite
GameRegistry.addRecipe(new ItemStack(TRepo.metalBlock, 1, 2), patBlock, '#', new ItemStack(TRepo.materials, 1, 5)); // Manyullyn
GameRegistry.addRecipe(new ItemStack(TRepo.metalBlock, 1, 8), patBlock, '#', new ItemStack(TRepo.materials, 1, 15)); // Alumite
GameRegistry.addRecipe(new ItemStack(TRepo.metalBlock, 1, 9), patBlock, '#', new ItemStack(TRepo.materials, 1, 16)); // Steel
2014-04-02 20:38:48 -04:00
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 1, 11), "#", '#', new ItemStack(TRepo.materials, 1, 12)); // Aluminum raw ->
// ingot
2014-02-16 14:23:50 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 9), "m", 'm', new ItemStack(TRepo.metalBlock, 1, 3)); // Copper
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 10), "m", 'm', new ItemStack(TRepo.metalBlock, 1, 5)); // Tin
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 11), "m", 'm', new ItemStack(TRepo.metalBlock, 1, 6)); // Aluminum
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 13), "m", 'm', new ItemStack(TRepo.metalBlock, 1, 4)); // Bronze
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 14), "m", 'm', new ItemStack(TRepo.metalBlock, 1, 7)); // AluBrass
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 3), "m", 'm', new ItemStack(TRepo.metalBlock, 1, 0)); // Cobalt
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 4), "m", 'm', new ItemStack(TRepo.metalBlock, 1, 1)); // Ardite
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 5), "m", 'm', new ItemStack(TRepo.metalBlock, 1, 2)); // Manyullyn
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 15), "m", 'm', new ItemStack(TRepo.metalBlock, 1, 8)); // Alumite
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 16), "m", 'm', new ItemStack(TRepo.metalBlock, 1, 9)); // Steel
GameRegistry.addRecipe(new ItemStack(Items.iron_ingot), patBlock, '#', new ItemStack(TRepo.materials, 1, 19)); // Iron
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 1, 9), patBlock, '#', new ItemStack(TRepo.materials, 1, 20)); // Copper
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 1, 10), patBlock, '#', new ItemStack(TRepo.materials, 1, 21)); // Tin
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 1, 11), patBlock, '#', new ItemStack(TRepo.materials, 1, 22)); // Aluminum
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 1, 14), patBlock, '#', new ItemStack(TRepo.materials, 1, 24)); // Aluminum Brass
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 1, 18), patBlock, '#', new ItemStack(TRepo.materials, 1, 27)); // Obsidian
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 1, 3), patBlock, '#', new ItemStack(TRepo.materials, 1, 28)); // Cobalt
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 1, 4), patBlock, '#', new ItemStack(TRepo.materials, 1, 29)); // Ardite
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 1, 5), patBlock, '#', new ItemStack(TRepo.materials, 1, 30)); // Manyullyn
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 1, 13), patBlock, '#', new ItemStack(TRepo.materials, 1, 31)); // Bronze
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 1, 15), patBlock, '#', new ItemStack(TRepo.materials, 1, 32)); // Alumite
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 1, 16), patBlock, '#', new ItemStack(TRepo.materials, 1, 33)); // Steel
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 19), "m", 'm', new ItemStack(Items.iron_ingot)); // Iron
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 20), "m", 'm', new ItemStack(TRepo.materials, 1, 9)); // Copper
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 21), "m", 'm', new ItemStack(TRepo.materials, 1, 10)); // Tin
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 22), "m", 'm', new ItemStack(TRepo.materials, 1, 11)); // Aluminum
// GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 22), "m",
// 'm', new ItemStack(TRepo.materials, 1, 12)); //Aluminum
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 24), "m", 'm', new ItemStack(TRepo.materials, 1, 14)); // Aluminum Brass
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 27), "m", 'm', new ItemStack(TRepo.materials, 1, 18)); // Obsidian
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 28), "m", 'm', new ItemStack(TRepo.materials, 1, 3)); // Cobalt
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 29), "m", 'm', new ItemStack(TRepo.materials, 1, 4)); // Ardite
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 30), "m", 'm', new ItemStack(TRepo.materials, 1, 5)); // Manyullyn
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 31), "m", 'm', new ItemStack(TRepo.materials, 1, 13)); // Bronze
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 32), "m", 'm', new ItemStack(TRepo.materials, 1, 15)); // Alumite
GameRegistry.addRecipe(new ItemStack(TRepo.materials, 9, 33), "m", 'm', new ItemStack(TRepo.materials, 1, 16)); // Steel
2013-11-29 23:46:55 -05:00
// stained Glass Recipes
String[] dyeTypes = { "dyeBlack", "dyeRed", "dyeGreen", "dyeBrown", "dyeBlue", "dyePurple", "dyeCyan", "dyeLightGray", "dyeGray", "dyePink", "dyeLime", "dyeYellow", "dyeLightBlue",
"dyeMagenta", "dyeOrange", "dyeWhite" };
String color = "";
for (int i = 0; i < 16; i++)
{
color = dyeTypes[15 - i];
2014-01-01 08:47:10 -05:00
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Blocks.wool, 8, i), patSurround, 'm', color, '#', new ItemStack(Blocks.wool, 1, Short.MAX_VALUE)));
2013-11-29 23:46:55 -05:00
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.stainedGlassClear, 8, i), patSurround, 'm', color, '#', TRepo.clearGlass));
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(TRepo.stainedGlassClear, 1, i), color, TRepo.clearGlass));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.stainedGlassClear, 8, i), patSurround, 'm', color, '#', new ItemStack(TRepo.stainedGlassClear, 1, Short.MAX_VALUE)));
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(TRepo.stainedGlassClear, 1, i), color, new ItemStack(TRepo.stainedGlassClear, 1, Short.MAX_VALUE)));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.stainedGlassClearPane, 8, i), patSurround, 'm', color, '#', TRepo.glassPane));
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(TRepo.stainedGlassClearPane, 1, i), color, TRepo.glassPane));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.stainedGlassClearPane, 8, i), patSurround, 'm', color, '#', new ItemStack(TRepo.stainedGlassClearPane, 1, Short.MAX_VALUE)));
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(TRepo.stainedGlassClearPane, 1, i), color, new ItemStack(TRepo.stainedGlassClearPane, 1, Short.MAX_VALUE)));
}
// Glass Recipes
2013-12-31 14:11:05 -05:00
GameRegistry.addRecipe(new ItemStack(Items.glass_bottle, 3), new Object[] { "# #", " # ", '#', TRepo.clearGlass });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Blocks.daylight_detector), new Object[] { "GGG", "QQQ", "WWW", 'G', "blockGlass", 'Q', Items.quartz, 'W', "slabWood" }));
2013-12-31 14:11:05 -05:00
GameRegistry.addRecipe(new ItemStack(Blocks.beacon, 1), new Object[] { "GGG", "GSG", "OOO", 'G', TRepo.clearGlass, 'S', Items.nether_star, 'O', Blocks.obsidian });
2013-11-29 23:46:55 -05:00
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.glassPane, 16, 0), "GGG", "GGG", 'G', TRepo.clearGlass));
// Smeltery Components Recipes
ItemStack searedBrick = new ItemStack(TRepo.materials, 1, 2);
2014-02-16 14:23:50 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.smeltery, 1, 0), "bbb", "b b", "bbb", 'b', searedBrick); // Controller
GameRegistry.addRecipe(new ItemStack(TRepo.smeltery, 1, 1), "b b", "b b", "b b", 'b', searedBrick); // Drain
GameRegistry.addRecipe(new ItemStack(TRepo.smeltery, 1, 2), "bb", "bb", 'b', searedBrick); // Bricks
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.lavaTank, 1, 0), patSurround, '#', searedBrick, 'm', "blockGlass")); // Tank
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.lavaTank, 1, 1), "bgb", "ggg", "bgb", 'b', searedBrick, 'g', "blockGlass")); // Glass
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.lavaTank, 1, 2), "bgb", "bgb", "bgb", 'b', searedBrick, 'g', "blockGlass")); // Window
2014-02-16 14:23:50 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.searedBlock, 1, 0), "bbb", "b b", "b b", 'b', searedBrick); // Table
GameRegistry.addRecipe(new ItemStack(TRepo.searedBlock, 1, 1), "b b", " b ", 'b', searedBrick); // Faucet
GameRegistry.addRecipe(new ItemStack(TRepo.searedBlock, 1, 2), "b b", "b b", "bbb", 'b', searedBrick); // Basin
GameRegistry.addRecipe(new ItemStack(TRepo.castingChannel, 4, 0), "b b", "bbb", 'b', searedBrick); // Channel
2013-11-29 23:46:55 -05:00
2013-12-11 23:47:07 -05:00
searedBrick = new ItemStack(TRepo.materials, 1, 37);
2014-02-16 14:23:50 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.smelteryNether, 1, 0), "bbb", "b b", "bbb", 'b', searedBrick); // Controller
GameRegistry.addRecipe(new ItemStack(TRepo.smelteryNether, 1, 1), "b b", "b b", "b b", 'b', searedBrick); // Drain
GameRegistry.addRecipe(new ItemStack(TRepo.smelteryNether, 1, 2), "bb", "bb", 'b', searedBrick); // Bricks
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.lavaTankNether, 1, 0), patSurround, '#', searedBrick, 'm', "blockGlass")); // Tank
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.lavaTankNether, 1, 1), "bgb", "ggg", "bgb", 'b', searedBrick, 'g', "blockGlass")); // Glass
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.lavaTankNether, 1, 2), "bgb", "bgb", "bgb", 'b', searedBrick, 'g', "blockGlass")); // Window
2014-02-16 14:23:50 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.searedBlockNether, 1, 0), "bbb", "b b", "b b", 'b', searedBrick); // Table
GameRegistry.addRecipe(new ItemStack(TRepo.searedBlockNether, 1, 1), "b b", " b ", 'b', searedBrick); // Faucet
GameRegistry.addRecipe(new ItemStack(TRepo.searedBlockNether, 1, 2), "b b", "b b", "bbb", 'b', searedBrick); // Basin
GameRegistry.addRecipe(new ItemStack(TRepo.castingChannel, 4, 0), "b b", "bbb", 'b', searedBrick); // Channel
2013-12-11 23:47:07 -05:00
2013-11-29 23:46:55 -05:00
// Jack o'Latern Recipe - Stone Torch
2013-12-31 14:11:05 -05:00
GameRegistry.addRecipe(new ItemStack(Blocks.lit_pumpkin, 1, 0), "p", "s", 'p', new ItemStack(Blocks.pumpkin), 's', new ItemStack(TRepo.stoneTorch));
2013-11-29 23:46:55 -05:00
// Stone Torch Recipe
2013-12-31 14:11:05 -05:00
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.stoneTorch, 4), "p", "w", 'p', new ItemStack(Items.coal, 1, Short.MAX_VALUE), 'w', "stoneRod"));
2013-11-29 23:46:55 -05:00
// Stone Ladder Recipe
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.stoneLadder, 3), "w w", "www", "w w", 'w', "stoneRod"));
// Wooden Rail Recipe
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.woodenRail, 4, 0), "b b", "bxb", "b b", 'b', "plankWood", 'x', "stickWood"));
// Stonesticks Recipes
2013-12-31 14:11:05 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.toolRod, 4, 1), "c", "c", 'c', new ItemStack(Blocks.stone));
GameRegistry.addRecipe(new ItemStack(TRepo.toolRod, 2, 1), "c", "c", 'c', new ItemStack(Blocks.cobblestone));
2014-02-16 14:23:50 -05:00
//
2013-11-29 23:46:55 -05:00
ItemStack aluBrass = new ItemStack(TRepo.materials, 1, 14);
// Clock Recipe - Vanilla alternativ
2014-01-29 00:09:45 -05:00
GameRegistry.addRecipe(new ItemStack(Items.clock), " i ", "iri", " i ", 'i', aluBrass, 'r', new ItemStack(Items.redstone));
2014-02-16 14:23:50 -05:00
// Gold Pressure Plate - Vanilla alternativ
2014-01-29 00:09:45 -05:00
GameRegistry.addRecipe(new ItemStack(Blocks.light_weighted_pressure_plate), "ii", 'i', aluBrass);
2014-02-16 14:23:50 -05:00
// Accessories
2013-11-29 23:46:55 -05:00
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.heartCanister, 1, 0), "##", "##", '#', "ingotAluminum"));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.heartCanister, 1, 0), "##", "##", '#', "ingotAluminium"));
2014-02-16 14:23:50 -05:00
// GameRegistry.addRecipe(new ShapedOreRecipe(new
// ItemStack(TRepo.heartCanister, 1, 0), "##", "##", '#',
// "ingotNaturalAluminum"));
2013-12-31 14:11:05 -05:00
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.heartCanister, 1, 0), " # ", "#B#", " # ", '#', "ingotTin", 'B', Items.bone));
2013-12-11 23:47:07 -05:00
2013-12-31 14:11:05 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.diamondApple), " d ", "d#d", " d ", 'd', new ItemStack(Items.diamond), '#', new ItemStack(Items.apple));
2013-11-29 23:46:55 -05:00
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.heartCanister, 1, 2), new ItemStack(TRepo.diamondApple), new ItemStack(TRepo.materials, 1, 8), new ItemStack(TRepo.heartCanister, 1, 0),
new ItemStack(TRepo.heartCanister, 1, 1));
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.heartCanister, 1, 4), new ItemStack(TRepo.heartCanister, 1, 2), new ItemStack(TRepo.heartCanister, 1, 3), new ItemStack(Items.golden_apple,
1, 1));
//GameRegistry.addShapelessRecipe(new ItemStack(heartCanister, 1, 6), new ItemStack(heartCanister, 1, 0), new ItemStack(heartCanister, 1, 4), new ItemStack(heartCanister, 1, 5));
2013-12-31 14:11:05 -05:00
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.knapsack, 1, 0), "###", "rmr", "###", '#', new ItemStack(Items.leather), 'r', new ItemStack(TRepo.toughRod, 1, 2), 'm',
2013-11-29 23:46:55 -05:00
"ingotGold"));
2013-12-31 14:11:05 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.knapsack, 1, 0), "###", "rmr", "###", '#', new ItemStack(Items.leather), 'r', new ItemStack(TRepo.toughRod, 1, 2), 'm', aluBrass);
2013-11-29 23:46:55 -05:00
// Drying Rack Recipes
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.dryingRack, 1, 0), "bbb", 'b', "slabWood"));
2014-02-16 14:23:50 -05:00
// Landmine Recipes
2013-12-31 14:11:05 -05:00
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.landmine, 1, 0), "mcm", "rpr", 'm', "plankWood", 'c', new ItemStack(TRepo.blankPattern, 1, 1), 'r', Items.redstone, 'p',
Blocks.stone_pressure_plate));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.landmine, 1, 1), "mcm", "rpr", 'm', Blocks.stone, 'c', new ItemStack(TRepo.blankPattern, 1, 1), 'r', Items.redstone, 'p',
Blocks.stone_pressure_plate));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.landmine, 1, 2), "mcm", "rpr", 'm', Blocks.obsidian, 'c', new ItemStack(TRepo.blankPattern, 1, 1), 'r', Items.redstone, 'p',
Blocks.stone_pressure_plate));
2014-02-04 20:40:58 -05:00
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.landmine, 1, 3), "mcm", "rpr", 'm', Items.repeater, 'c', new ItemStack(TRepo.blankPattern, 1, 1), 'r', Items.redstone, 'p',
Blocks.stone_pressure_plate));
2013-11-29 23:46:55 -05:00
2014-02-16 14:23:50 -05:00
// Ultra hardcore recipes
2014-01-01 08:47:10 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.goldHead), patSurround, '#', new ItemStack(Items.gold_ingot), 'm', new ItemStack(Items.skull, 1, 3));
2013-11-29 23:46:55 -05:00
// Slab Smeltery Components Recipes
for (int i = 0; i < 7; i++)
{
GameRegistry.addRecipe(new ItemStack(TRepo.speedSlab, 6, i), "bbb", 'b', new ItemStack(TRepo.speedBlock, 1, i));
}
GameRegistry.addRecipe(new ItemStack(TRepo.searedSlab, 6, 0), "bbb", 'b', new ItemStack(TRepo.smeltery, 1, 2));
GameRegistry.addRecipe(new ItemStack(TRepo.searedSlab, 6, 1), "bbb", 'b', new ItemStack(TRepo.smeltery, 1, 4));
GameRegistry.addRecipe(new ItemStack(TRepo.searedSlab, 6, 2), "bbb", 'b', new ItemStack(TRepo.smeltery, 1, 5));
GameRegistry.addRecipe(new ItemStack(TRepo.searedSlab, 6, 3), "bbb", 'b', new ItemStack(TRepo.smeltery, 1, 6));
GameRegistry.addRecipe(new ItemStack(TRepo.searedSlab, 6, 4), "bbb", 'b', new ItemStack(TRepo.smeltery, 1, 8));
GameRegistry.addRecipe(new ItemStack(TRepo.searedSlab, 6, 5), "bbb", 'b', new ItemStack(TRepo.smeltery, 1, 9));
GameRegistry.addRecipe(new ItemStack(TRepo.searedSlab, 6, 6), "bbb", 'b', new ItemStack(TRepo.smeltery, 1, 10));
GameRegistry.addRecipe(new ItemStack(TRepo.searedSlab, 6, 7), "bbb", 'b', new ItemStack(TRepo.smeltery, 1, 11));
// Wool Slab Recipes
2014-04-08 18:30:38 -04:00
for (int sc = 0; sc <= 7; sc++)
2013-11-29 23:46:55 -05:00
{
2014-01-01 08:47:10 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.woolSlab1, 6, sc), "www", 'w', new ItemStack(Blocks.wool, 1, sc));
GameRegistry.addRecipe(new ItemStack(TRepo.woolSlab2, 6, sc), "www", 'w', new ItemStack(Blocks.wool, 1, sc + 8));
2013-11-29 23:46:55 -05:00
2014-01-01 08:47:10 -05:00
GameRegistry.addShapelessRecipe(new ItemStack(Blocks.wool, 1, sc), new ItemStack(TRepo.woolSlab1, 1, sc), new ItemStack(TRepo.woolSlab1, 1, sc));
GameRegistry.addShapelessRecipe(new ItemStack(Blocks.wool, 1, sc + 8), new ItemStack(TRepo.woolSlab2, 1, sc), new ItemStack(TRepo.woolSlab2, 1, sc));
2013-11-29 23:46:55 -05:00
}
2014-04-08 18:30:38 -04:00
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(Blocks.wool, 1, 0), "slabCloth", "slabCloth"));
2014-02-16 14:23:50 -05:00
// Trap Recipes
2014-01-01 08:47:10 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.punji, 5, 0), "b b", " b ", "b b", 'b', new ItemStack(Items.reeds));
GameRegistry.addRecipe(new ItemStack(TRepo.barricadeSpruce, 1, 0), "b", "b", 'b', new ItemStack(Blocks.log, 1, 1));
GameRegistry.addRecipe(new ItemStack(TRepo.barricadeBirch, 1, 0), "b", "b", 'b', new ItemStack(Blocks.log, 1, 2));
GameRegistry.addRecipe(new ItemStack(TRepo.barricadeJungle, 1, 0), "b", "b", 'b', new ItemStack(Blocks.log, 1, 3));
2013-11-29 23:46:55 -05:00
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.barricadeOak, 1, 0), "b", "b", 'b', "logWood"));
// Advanced WorkBench Recipes
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.craftingStationWood, 1, 0), "b", 'b', "crafterWood"));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.craftingStationWood, 1, 0), "b", 'b', "craftingTableWood"));
2014-02-16 14:23:50 -05:00
// Slab crafters
2013-11-29 23:46:55 -05:00
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.craftingSlabWood, 6, 0), "bbb", 'b', "crafterWood"));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(TRepo.craftingSlabWood, 6, 0), "bbb", 'b', "craftingTableWood"));
GameRegistry.addRecipe(new ItemStack(TRepo.craftingSlabWood, 1, 0), "b", 'b', new ItemStack(TRepo.craftingStationWood, 1, 0));
GameRegistry.addRecipe(new ItemStack(TRepo.craftingSlabWood, 1, 1), "b", 'b', new ItemStack(TRepo.toolStationWood, 1, 0));
GameRegistry.addRecipe(new ItemStack(TRepo.craftingSlabWood, 1, 2), "b", 'b', new ItemStack(TRepo.toolStationWood, 1, 1));
GameRegistry.addRecipe(new ItemStack(TRepo.craftingSlabWood, 1, 2), "b", 'b', new ItemStack(TRepo.toolStationWood, 1, 2));
GameRegistry.addRecipe(new ItemStack(TRepo.craftingSlabWood, 1, 2), "b", 'b', new ItemStack(TRepo.toolStationWood, 1, 3));
GameRegistry.addRecipe(new ItemStack(TRepo.craftingSlabWood, 1, 2), "b", 'b', new ItemStack(TRepo.toolStationWood, 1, 4));
GameRegistry.addRecipe(new ItemStack(TRepo.craftingSlabWood, 1, 4), "b", 'b', new ItemStack(TRepo.toolStationWood, 1, 5));
GameRegistry.addRecipe(new ItemStack(TRepo.craftingSlabWood, 1, 3), "b", 'b', new ItemStack(TRepo.toolStationWood, 1, 10));
GameRegistry.addRecipe(new ItemStack(TRepo.craftingSlabWood, 1, 3), "b", 'b', new ItemStack(TRepo.toolStationWood, 1, 11));
GameRegistry.addRecipe(new ItemStack(TRepo.craftingSlabWood, 1, 3), "b", 'b', new ItemStack(TRepo.toolStationWood, 1, 12));
GameRegistry.addRecipe(new ItemStack(TRepo.craftingSlabWood, 1, 3), "b", 'b', new ItemStack(TRepo.toolStationWood, 1, 13));
GameRegistry.addRecipe(new ItemStack(TRepo.craftingSlabWood, 1, 5), "b", 'b', new ItemStack(TRepo.toolForge, 1, Short.MAX_VALUE));
// EssenceExtractor Recipe
2014-02-16 14:23:50 -05:00
// Slime Recipes
2013-11-29 23:46:55 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.slimeGel, 1, 0), "##", "##", '#', TRepo.strangeFood);
GameRegistry.addRecipe(new ItemStack(TRepo.strangeFood, 4, 0), "#", '#', new ItemStack(TRepo.slimeGel, 1, 0));
2014-01-01 08:47:10 -05:00
GameRegistry.addRecipe(new ItemStack(TRepo.slimeGel, 1, 1), "##", "##", '#', Items.slime_ball);
GameRegistry.addRecipe(new ItemStack(Items.slime_ball, 4, 0), "#", '#', new ItemStack(TRepo.slimeGel, 1, 1));
2014-02-16 14:23:50 -05:00
// slimeExplosive
2014-01-01 08:47:10 -05:00
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.slimeExplosive, 1, 0), Items.slime_ball, Blocks.tnt);
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.slimeExplosive, 1, 2), TRepo.strangeFood, Blocks.tnt);
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(TRepo.slimeExplosive, 1, 0), "slimeball", Blocks.tnt));
2013-11-29 23:46:55 -05:00
2013-12-31 14:11:05 -05:00
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.slimeChannel, 1, 0), new ItemStack(TRepo.slimeGel, 1, Short.MAX_VALUE), new ItemStack(Items.redstone));
2013-12-11 23:47:07 -05:00
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.bloodChannel, 1, 0), new ItemStack(TRepo.strangeFood, 1, 1), new ItemStack(TRepo.strangeFood, 1, 1),
2013-12-31 14:11:05 -05:00
new ItemStack(TRepo.strangeFood, 1, 1), new ItemStack(TRepo.strangeFood, 1, 1), new ItemStack(Items.redstone));
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(TRepo.slimeChannel, 1, 0), "slimeball", "slimeball", "slimeball", "slimeball", new ItemStack(Items.redstone)));
2013-12-11 23:47:07 -05:00
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(TRepo.slimePad, 1, 0), TRepo.slimeChannel, "slimeball"));
2014-02-24 16:36:08 -05:00
2014-02-21 10:01:59 -05:00
// Crafting Table detailing
Detailing detail = TConstruct.chiselDetailing;
2014-02-24 16:36:08 -05:00
for (DetailInput inp : detail.detailing)
{
GameRegistry.addShapelessRecipe(new ItemStack(inp.output.getItem(), inp.outputMeta), new ItemStack(inp.input.getItem(), inp.inputMeta), TRepo.chisel);
}
2013-11-29 23:46:55 -05:00
}
protected static void addRecipesForDryingRack ()
{
2014-02-16 14:23:50 -05:00
// Drying rack
2013-12-31 15:30:34 -05:00
DryingRackRecipes.addDryingRecipe(Items.beef, 20 * 60 * 5, new ItemStack(TRepo.jerky, 1, 0));
DryingRackRecipes.addDryingRecipe(Items.chicken, 20 * 60 * 5, new ItemStack(TRepo.jerky, 1, 1));
DryingRackRecipes.addDryingRecipe(Items.porkchop, 20 * 60 * 5, new ItemStack(TRepo.jerky, 1, 2));
2014-02-16 14:23:50 -05:00
// DryingRackRecipes.addDryingRecipe(Item.muttonRaw, 20 * 60 * 5, new
// ItemStack(TRepo.jerky, 1, 3));
2013-12-31 15:30:34 -05:00
DryingRackRecipes.addDryingRecipe(Items.fish, 20 * 60 * 5, new ItemStack(TRepo.jerky, 1, 4));
2013-12-31 14:11:05 -05:00
DryingRackRecipes.addDryingRecipe(Items.rotten_flesh, 20 * 60 * 5, new ItemStack(TRepo.jerky, 1, 5));
2013-12-11 23:47:07 -05:00
DryingRackRecipes.addDryingRecipe(new ItemStack(TRepo.strangeFood, 1, 0), 20 * 60 * 5, new ItemStack(TRepo.jerky, 1, 6));
DryingRackRecipes.addDryingRecipe(new ItemStack(TRepo.strangeFood, 1, 1), 20 * 60 * 5, new ItemStack(TRepo.jerky, 1, 7));
2013-11-29 23:46:55 -05:00
2014-02-16 14:23:50 -05:00
// DryingRackRecipes.addDryingRecipe(new ItemStack(TRepo.jerky, 1, 5),
// 20 * 60 * 10, Item.leather);
2013-11-29 23:46:55 -05:00
}
protected static void addRecipesForChisel ()
{
/* Detailing */
Detailing chiseling = TConstructRegistry.getChiselDetailing();
2013-12-31 14:11:05 -05:00
chiseling.addDetailing(Blocks.stone, 0, Blocks.stonebrick, 0, TRepo.chisel);
2013-11-29 23:46:55 -05:00
chiseling.addDetailing(TRepo.speedBlock, 0, TRepo.speedBlock, 1, TRepo.chisel);
chiseling.addDetailing(TRepo.speedBlock, 2, TRepo.speedBlock, 3, TRepo.chisel);
chiseling.addDetailing(TRepo.speedBlock, 3, TRepo.speedBlock, 4, TRepo.chisel);
chiseling.addDetailing(TRepo.speedBlock, 4, TRepo.speedBlock, 5, TRepo.chisel);
chiseling.addDetailing(TRepo.speedBlock, 5, TRepo.speedBlock, 6, TRepo.chisel);
2013-12-31 14:11:05 -05:00
chiseling.addDetailing(Blocks.obsidian, 0, TRepo.multiBrick, 0, TRepo.chisel);
chiseling.addDetailing(Blocks.sandstone, 0, Blocks.sandstone, 2, TRepo.chisel);
chiseling.addDetailing(Blocks.sandstone, 2, Blocks.sandstone, 1, TRepo.chisel);
chiseling.addDetailing(Blocks.sandstone, 1, TRepo.multiBrick, 1, TRepo.chisel);
2014-02-16 14:23:50 -05:00
// chiseling.addDetailing(Block.netherrack, 0, TRepo.multiBrick, 2,
// TRepo.chisel);
// chiseling.addDetailing(Block.stone_refined, 0, TRepo.multiBrick, 3,
// TRepo.chisel);
2013-12-31 14:11:05 -05:00
chiseling.addDetailing(Items.iron_ingot, 0, TRepo.multiBrick, 4, TRepo.chisel);
chiseling.addDetailing(Items.gold_ingot, 0, TRepo.multiBrick, 5, TRepo.chisel);
2014-01-10 21:14:54 -05:00
chiseling.addDetailing(Items.dye, 4, TRepo.multiBrick, 6, TRepo.chisel);
2013-12-31 14:11:05 -05:00
chiseling.addDetailing(Items.diamond, 0, TRepo.multiBrick, 7, TRepo.chisel);
chiseling.addDetailing(Items.redstone, 0, TRepo.multiBrick, 8, TRepo.chisel);
chiseling.addDetailing(Items.bone, 0, TRepo.multiBrick, 9, TRepo.chisel);
chiseling.addDetailing(Items.slime_ball, 0, TRepo.multiBrick, 10, TRepo.chisel);
2013-11-29 23:46:55 -05:00
chiseling.addDetailing(TRepo.strangeFood, 0, TRepo.multiBrick, 11, TRepo.chisel);
2013-12-31 14:11:05 -05:00
chiseling.addDetailing(Blocks.end_stone, 0, TRepo.multiBrick, 12, TRepo.chisel);
2013-11-29 23:46:55 -05:00
chiseling.addDetailing(TRepo.materials, 18, TRepo.multiBrick, 13, TRepo.chisel);
// adding multiBrick / multiBrickFanxy meta 0-13 to list
for (int sc = 0; sc < 14; sc++)
{
chiseling.addDetailing(TRepo.multiBrick, sc, TRepo.multiBrickFancy, sc, TRepo.chisel);
}
2013-12-31 14:11:05 -05:00
chiseling.addDetailing(Blocks.stonebrick, 0, TRepo.multiBrickFancy, 15, TRepo.chisel);
2013-11-29 23:46:55 -05:00
chiseling.addDetailing(TRepo.multiBrickFancy, 15, TRepo.multiBrickFancy, 14, TRepo.chisel);
2013-12-31 14:11:05 -05:00
chiseling.addDetailing(TRepo.multiBrickFancy, 14, Blocks.stonebrick, 3, TRepo.chisel);
2014-02-16 14:23:50 -05:00
/*
* chiseling.addDetailing(TRepo.multiBrick, 14, TRepo.multiBrickFancy,
* 14, TRepo.chisel); chiseling.addDetailing(TRepo.multiBrick, 15,
* TRepo.multiBrickFancy, 15, TRepo.chisel);
*/
2013-11-29 23:46:55 -05:00
chiseling.addDetailing(TRepo.smeltery, 4, TRepo.smeltery, 6, TRepo.chisel);
chiseling.addDetailing(TRepo.smeltery, 6, TRepo.smeltery, 11, TRepo.chisel);
chiseling.addDetailing(TRepo.smeltery, 11, TRepo.smeltery, 2, TRepo.chisel);
chiseling.addDetailing(TRepo.smeltery, 2, TRepo.smeltery, 8, TRepo.chisel);
chiseling.addDetailing(TRepo.smeltery, 8, TRepo.smeltery, 9, TRepo.chisel);
chiseling.addDetailing(TRepo.smeltery, 9, TRepo.smeltery, 10, TRepo.chisel);
}
public void oreRegistry ()
2013-11-29 23:46:55 -05:00
{
OreDictionary.registerOre("oreCobalt", new ItemStack(TRepo.oreSlag, 1, 1));
OreDictionary.registerOre("oreArdite", new ItemStack(TRepo.oreSlag, 1, 2));
OreDictionary.registerOre("oreCopper", new ItemStack(TRepo.oreSlag, 1, 3));
OreDictionary.registerOre("oreTin", new ItemStack(TRepo.oreSlag, 1, 4));
OreDictionary.registerOre("oreAluminum", new ItemStack(TRepo.oreSlag, 1, 5));
OreDictionary.registerOre("oreAluminium", new ItemStack(TRepo.oreSlag, 1, 5));
OreDictionary.registerOre("oreIron", new ItemStack(TRepo.oreGravel, 1, 0));
OreDictionary.registerOre("oreGold", new ItemStack(TRepo.oreGravel, 1, 1));
OreDictionary.registerOre("oreCobalt", new ItemStack(TRepo.oreGravel, 1, 5));
OreDictionary.registerOre("oreCopper", new ItemStack(TRepo.oreGravel, 1, 2));
OreDictionary.registerOre("oreTin", new ItemStack(TRepo.oreGravel, 1, 3));
OreDictionary.registerOre("oreAluminum", new ItemStack(TRepo.oreGravel, 1, 4));
OreDictionary.registerOre("oreAluminium", new ItemStack(TRepo.oreGravel, 1, 4));
OreDictionary.registerOre("ingotCobalt", new ItemStack(TRepo.materials, 1, 3));
OreDictionary.registerOre("ingotArdite", new ItemStack(TRepo.materials, 1, 4));
OreDictionary.registerOre("ingotManyullyn", new ItemStack(TRepo.materials, 1, 5));
OreDictionary.registerOre("ingotCopper", new ItemStack(TRepo.materials, 1, 9));
OreDictionary.registerOre("ingotTin", new ItemStack(TRepo.materials, 1, 10));
OreDictionary.registerOre("ingotAluminum", new ItemStack(TRepo.materials, 1, 11));
OreDictionary.registerOre("ingotAluminium", new ItemStack(TRepo.materials, 1, 11));
OreDictionary.registerOre("ingotBronze", new ItemStack(TRepo.materials, 1, 13));
OreDictionary.registerOre("ingotAluminumBrass", new ItemStack(TRepo.materials, 1, 14));
OreDictionary.registerOre("ingotAluminiumBrass", new ItemStack(TRepo.materials, 1, 14));
OreDictionary.registerOre("ingotAlumite", new ItemStack(TRepo.materials, 1, 15));
OreDictionary.registerOre("ingotSteel", new ItemStack(TRepo.materials, 1, 16));
2013-12-31 14:11:05 -05:00
ensureOreIsRegistered("ingotIron", new ItemStack(Items.iron_ingot));
ensureOreIsRegistered("ingotGold", new ItemStack(Items.gold_ingot));
2013-11-29 23:46:55 -05:00
OreDictionary.registerOre("ingotObsidian", new ItemStack(TRepo.materials, 1, 18));
OreDictionary.registerOre("ingotPigIron", new ItemStack(TRepo.materials, 1, 34));
OreDictionary.registerOre("itemRawRubber", new ItemStack(TRepo.materials, 1, 36));
OreDictionary.registerOre("blockCobalt", new ItemStack(TRepo.metalBlock, 1, 0));
OreDictionary.registerOre("blockArdite", new ItemStack(TRepo.metalBlock, 1, 1));
OreDictionary.registerOre("blockManyullyn", new ItemStack(TRepo.metalBlock, 1, 2));
OreDictionary.registerOre("blockCopper", new ItemStack(TRepo.metalBlock, 1, 3));
OreDictionary.registerOre("blockBronze", new ItemStack(TRepo.metalBlock, 1, 4));
OreDictionary.registerOre("blockTin", new ItemStack(TRepo.metalBlock, 1, 5));
OreDictionary.registerOre("blockAluminum", new ItemStack(TRepo.metalBlock, 1, 6));
OreDictionary.registerOre("blockAluminium", new ItemStack(TRepo.metalBlock, 1, 6));
OreDictionary.registerOre("blockAluminumBrass", new ItemStack(TRepo.metalBlock, 1, 7));
OreDictionary.registerOre("blockAluminiumBrass", new ItemStack(TRepo.metalBlock, 1, 7));
OreDictionary.registerOre("blockAlumite", new ItemStack(TRepo.metalBlock, 1, 8));
OreDictionary.registerOre("blockSteel", new ItemStack(TRepo.metalBlock, 1, 9));
2013-12-31 14:11:05 -05:00
ensureOreIsRegistered("blockIron", new ItemStack(Blocks.iron_block));
ensureOreIsRegistered("blockGold", new ItemStack(Blocks.gold_block));
2013-11-29 23:46:55 -05:00
OreDictionary.registerOre("nuggetIron", new ItemStack(TRepo.materials, 1, 19));
OreDictionary.registerOre("nuggetIron", new ItemStack(TRepo.oreBerries, 1, 0));
OreDictionary.registerOre("nuggetCopper", new ItemStack(TRepo.materials, 1, 20));
OreDictionary.registerOre("nuggetCopper", new ItemStack(TRepo.oreBerries, 1, 2));
OreDictionary.registerOre("nuggetTin", new ItemStack(TRepo.materials, 1, 21));
OreDictionary.registerOre("nuggetTin", new ItemStack(TRepo.oreBerries, 1, 3));
OreDictionary.registerOre("nuggetAluminum", new ItemStack(TRepo.materials, 1, 22));
OreDictionary.registerOre("nuggetAluminum", new ItemStack(TRepo.oreBerries, 1, 4));
OreDictionary.registerOre("nuggetAluminium", new ItemStack(TRepo.materials, 1, 22));
OreDictionary.registerOre("nuggetAluminium", new ItemStack(TRepo.oreBerries, 1, 4));
OreDictionary.registerOre("nuggetAluminumBrass", new ItemStack(TRepo.materials, 1, 24));
OreDictionary.registerOre("nuggetAluminiumBrass", new ItemStack(TRepo.materials, 1, 24));
OreDictionary.registerOre("nuggetObsidian", new ItemStack(TRepo.materials, 1, 27));
OreDictionary.registerOre("nuggetCobalt", new ItemStack(TRepo.materials, 1, 28));
OreDictionary.registerOre("nuggetArdite", new ItemStack(TRepo.materials, 1, 29));
OreDictionary.registerOre("nuggetManyullyn", new ItemStack(TRepo.materials, 1, 30));
OreDictionary.registerOre("nuggetBronze", new ItemStack(TRepo.materials, 1, 31));
OreDictionary.registerOre("nuggetAlumite", new ItemStack(TRepo.materials, 1, 32));
OreDictionary.registerOre("nuggetSteel", new ItemStack(TRepo.materials, 1, 33));
OreDictionary.registerOre("nuggetGold", new ItemStack(TRepo.oreBerries, 1, 1));
2013-12-31 14:11:05 -05:00
ensureOreIsRegistered("nuggetGold", new ItemStack(Items.gold_nugget));
2013-11-29 23:46:55 -05:00
OreDictionary.registerOre("nuggetPigIron", new ItemStack(TRepo.materials, 1, 35));
2014-04-08 18:30:38 -04:00
OreDictionary.registerOre("slabCloth", new ItemStack(TRepo.woolSlab1, 1, Short.MAX_VALUE));
OreDictionary.registerOre("slabCloth", new ItemStack(TRepo.woolSlab2, 1, Short.MAX_VALUE));
2013-11-29 23:46:55 -05:00
2013-12-31 14:11:05 -05:00
ensureOreIsRegistered("stoneMossy", new ItemStack(Blocks.stonebrick, 1, 1));
ensureOreIsRegistered("stoneMossy", new ItemStack(Blocks.mossy_cobblestone));
2013-11-29 23:46:55 -05:00
2013-12-31 14:11:05 -05:00
OreDictionary.registerOre("crafterWood", new ItemStack(Blocks.crafting_table, 1));
OreDictionary.registerOre("craftingTableWood", new ItemStack(Blocks.crafting_table, 1));
2013-11-29 23:46:55 -05:00
OreDictionary.registerOre("torchStone", new ItemStack(TRepo.stoneTorch));
String[] matNames = { "wood", "stone", "iron", "flint", "cactus", "bone", "obsidian", "netherrack", "slime", "paper", "cobalt", "ardite", "manyullyn", "copper", "bronze", "alumite", "steel",
"blueslime" };
for (int i = 0; i < matNames.length; i++)
OreDictionary.registerOre(matNames[i] + "Rod", new ItemStack(TRepo.toolRod, 1, i));
OreDictionary.registerOre("thaumiumRod", new ItemStack(TRepo.toolRod, 1, 31));
String[] glassTypes = { "glassBlack", "glassRed", "glassGreen", "glassBrown", "glassBlue", "glassPurple", "glassCyan", "glassLightGray", "glassGray", "glassPink", "glassLime", "glassYellow",
"glassLightBlue", "glassMagenta", "glassOrange", "glassWhite" };
for (int i = 0; i < 16; i++)
{
OreDictionary.registerOre(glassTypes[15 - i], new ItemStack(TRepo.stainedGlassClear, 1, i));
}
2014-02-05 08:28:53 -05:00
BlockDispenser.dispenseBehaviorRegistry.putObject(TRepo.titleIcon, new TDispenserBehaviorSpawnEgg());
2013-11-29 23:46:55 -05:00
2014-02-05 08:28:53 -05:00
BlockDispenser.dispenseBehaviorRegistry.putObject(TRepo.arrow, new TDispenserBehaviorArrow());
2013-11-29 23:46:55 -05:00
2014-02-16 14:23:50 -05:00
// Vanilla stuff
2014-01-01 08:47:10 -05:00
OreDictionary.registerOre("slimeball", new ItemStack(Items.slime_ball));
2013-11-29 23:46:55 -05:00
OreDictionary.registerOre("slimeball", new ItemStack(TRepo.strangeFood, 1, 0));
2013-12-11 23:47:07 -05:00
OreDictionary.registerOre("slimeball", new ItemStack(TRepo.strangeFood, 1, 1));
2013-11-29 23:46:55 -05:00
OreDictionary.registerOre("slimeball", new ItemStack(TRepo.materials, 1, 36));
OreDictionary.registerOre("blockGlass", new ItemStack(TRepo.clearGlass));
OreDictionary.registerOre("blockGlass", new ItemStack(Blocks.glass));
2014-01-01 08:47:10 -05:00
RecipeRemover.removeShapedRecipe(new ItemStack(Blocks.sticky_piston));
RecipeRemover.removeShapedRecipe(new ItemStack(Items.magma_cream));
RecipeRemover.removeShapedRecipe(new ItemStack(Items.lead));
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(Blocks.sticky_piston), "slimeball", Blocks.piston));
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(Items.magma_cream), "slimeball", Items.blaze_powder));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.lead, 2), "ss ", "sS ", " s", 's', Items.string, 'S', "slimeball"));
2013-11-29 23:46:55 -05:00
}
private static void ensureOreIsRegistered (String oreName, ItemStack is)
{
int oreId = OreDictionary.getOreID(is);
if (oreId == -1)
{
OreDictionary.registerOre(oreName, is);
}
}
public void addShapedRecipeFirst (List recipeList, ItemStack itemstack, Object... objArray)
2013-11-29 23:46:55 -05:00
{
String var3 = "";
int var4 = 0;
int var5 = 0;
int var6 = 0;
if (objArray[var4] instanceof String[])
{
String[] var7 = ((String[]) objArray[var4++]);
for (int var8 = 0; var8 < var7.length; ++var8)
{
String var9 = var7[var8];
++var6;
var5 = var9.length();
var3 = var3 + var9;
}
}
else
{
while (objArray[var4] instanceof String)
{
String var11 = (String) objArray[var4++];
++var6;
var5 = var11.length();
var3 = var3 + var11;
}
}
HashMap var12;
for (var12 = new HashMap(); var4 < objArray.length; var4 += 2)
{
Character var13 = (Character) objArray[var4];
ItemStack var14 = null;
if (objArray[var4 + 1] instanceof Item)
{
var14 = new ItemStack((Item) objArray[var4 + 1]);
}
else if (objArray[var4 + 1] instanceof Block)
{
var14 = new ItemStack((Block) objArray[var4 + 1], 1, Short.MAX_VALUE);
}
else if (objArray[var4 + 1] instanceof ItemStack)
{
var14 = (ItemStack) objArray[var4 + 1];
}
var12.put(var13, var14);
}
ItemStack[] var15 = new ItemStack[var5 * var6];
for (int var16 = 0; var16 < var5 * var6; ++var16)
{
char var10 = var3.charAt(var16);
if (var12.containsKey(Character.valueOf(var10)))
{
var15[var16] = ((ItemStack) var12.get(Character.valueOf(var10))).copy();
}
else
{
var15[var16] = null;
}
}
ShapedRecipes var17 = new ShapedRecipes(var5, var6, var15, itemstack);
recipeList.add(0, var17);
}
public void modRecipes ()
2013-11-29 23:46:55 -05:00
{
if (!TRepo.initRecipes)
{
TRepo.initRecipes = true;
if (PHConstruct.removeVanillaToolRecipes)
{
2013-12-31 14:11:05 -05:00
RecipeRemover.removeAnyRecipe(new ItemStack(Items.wooden_pickaxe));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.wooden_axe));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.wooden_shovel));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.wooden_hoe));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.wooden_sword));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.stone_pickaxe));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.stone_axe));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.stone_shovel));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.stone_hoe));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.stone_sword));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.iron_pickaxe));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.iron_axe));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.iron_shovel));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.iron_hoe));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.iron_sword));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.diamond_pickaxe));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.diamond_axe));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.diamond_shovel));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.diamond_hoe));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.diamond_sword));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.golden_pickaxe));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.golden_axe));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.golden_shovel));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.golden_hoe));
RecipeRemover.removeAnyRecipe(new ItemStack(Items.golden_sword));
2013-11-29 23:46:55 -05:00
}
2014-04-18 00:49:00 -04:00
if (PHConstruct.labotimizeVanillaTools)
{
Items.wooden_pickaxe.setMaxDamage(1);
Items.wooden_axe.setMaxDamage(1);
Items.wooden_shovel.setMaxDamage(1);
Items.wooden_hoe.setMaxDamage(1);
Items.wooden_sword.setMaxDamage(1);
Items.stone_pickaxe.setMaxDamage(1);
Items.stone_axe.setMaxDamage(1);
Items.stone_shovel.setMaxDamage(1);
Items.stone_hoe.setMaxDamage(1);
Items.stone_sword.setMaxDamage(1);
Items.iron_pickaxe.setMaxDamage(1);
Items.iron_axe.setMaxDamage(1);
Items.iron_shovel.setMaxDamage(1);
Items.iron_hoe.setMaxDamage(1);
Items.iron_sword.setMaxDamage(1);
Items.diamond_pickaxe.setMaxDamage(1);
Items.diamond_axe.setMaxDamage(1);
Items.diamond_shovel.setMaxDamage(1);
Items.diamond_hoe.setMaxDamage(1);
Items.diamond_sword.setMaxDamage(1);
Items.golden_pickaxe.setMaxDamage(1);
Items.golden_axe.setMaxDamage(1);
Items.golden_shovel.setMaxDamage(1);
Items.golden_hoe.setMaxDamage(1);
Items.golden_sword.setMaxDamage(1);
}
2013-11-29 23:46:55 -05:00
}
}
private static void registerPatternMaterial (String oreName, int value, String materialName)
{
for (ItemStack ore : OreDictionary.getOres(oreName))
{
PatternBuilder.instance.registerMaterial(ore, value, materialName);
}
}
private static void registerIngotCasting (FluidType ft)
{
ItemStack pattern = new ItemStack(TRepo.metalPattern, 1, 0);
LiquidCasting tableCasting = TConstructRegistry.instance.getTableCasting();
for (ItemStack ore : OreDictionary.getOres("ingot" + ft.toString()))
{
2014-01-01 08:47:10 -05:00
tableCasting.addCastingRecipe(pattern, new FluidStack(TRepo.moltenAlubrassFluid, TConstruct.ingotLiquidValue), new ItemStack(ore.getItem(), 1, ore.getItemDamage()), false, 50);
tableCasting.addCastingRecipe(pattern, new FluidStack(TRepo.moltenGoldFluid, TConstruct.oreLiquidValue), new ItemStack(ore.getItem(), 1, ore.getItemDamage()), false, 50);
tableCasting.addCastingRecipe(new ItemStack(ore.getItem(), 1, ore.getItemDamage()), new FluidStack(ft.fluid, TConstruct.ingotLiquidValue), pattern, 80);
2013-11-29 23:46:55 -05:00
}
}
2013-11-29 23:46:55 -05:00
protected static void addRecipesForBasinCasting ()
{
LiquidCasting basinCasting = TConstructRegistry.getBasinCasting();
// Block Casting
2014-02-16 14:23:50 -05:00
basinCasting.addCastingRecipe(new ItemStack(Blocks.iron_block), new FluidStack(TRepo.moltenIronFluid, TConstruct.blockLiquidValue), null, true, 100); // Iron
basinCasting.addCastingRecipe(new ItemStack(Blocks.gold_block), new FluidStack(TRepo.moltenGoldFluid, TConstruct.blockLiquidValue), null, true, 100); // gold
basinCasting.addCastingRecipe(new ItemStack(TRepo.metalBlock, 1, 3), new FluidStack(TRepo.moltenCopperFluid, TConstruct.blockLiquidValue), null, true, 100); // copper
basinCasting.addCastingRecipe(new ItemStack(TRepo.metalBlock, 1, 5), new FluidStack(TRepo.moltenTinFluid, TConstruct.blockLiquidValue), null, true, 100); // tin
basinCasting.addCastingRecipe(new ItemStack(TRepo.metalBlock, 1, 6), new FluidStack(TRepo.moltenAluminumFluid, TConstruct.blockLiquidValue), null, true, 100); // aluminum
basinCasting.addCastingRecipe(new ItemStack(TRepo.metalBlock, 1, 0), new FluidStack(TRepo.moltenCobaltFluid, TConstruct.blockLiquidValue), null, true, 100); // cobalt
basinCasting.addCastingRecipe(new ItemStack(TRepo.metalBlock, 1, 1), new FluidStack(TRepo.moltenArditeFluid, TConstruct.blockLiquidValue), null, true, 100); // ardite
basinCasting.addCastingRecipe(new ItemStack(TRepo.metalBlock, 1, 4), new FluidStack(TRepo.moltenBronzeFluid, TConstruct.blockLiquidValue), null, true, 100); // bronze
basinCasting.addCastingRecipe(new ItemStack(TRepo.metalBlock, 1, 7), new FluidStack(TRepo.moltenAlubrassFluid, TConstruct.blockLiquidValue), null, true, 100); // albrass
basinCasting.addCastingRecipe(new ItemStack(TRepo.metalBlock, 1, 2), new FluidStack(TRepo.moltenManyullynFluid, TConstruct.blockLiquidValue), null, true, 100); // manyullyn
basinCasting.addCastingRecipe(new ItemStack(TRepo.metalBlock, 1, 8), new FluidStack(TRepo.moltenAlumiteFluid, TConstruct.blockLiquidValue), null, true, 100); // alumite
2013-12-31 14:11:05 -05:00
basinCasting.addCastingRecipe(new ItemStack(Blocks.obsidian), new FluidStack(TRepo.moltenObsidianFluid, TConstruct.oreLiquidValue), null, true, 100);// obsidian
2014-02-16 14:23:50 -05:00
basinCasting.addCastingRecipe(new ItemStack(TRepo.metalBlock, 1, 9), new FluidStack(TRepo.moltenSteelFluid, TConstruct.blockLiquidValue), null, true, 100); // steel
basinCasting.addCastingRecipe(new ItemStack(TRepo.clearGlass, 1, 0), new FluidStack(TRepo.moltenGlassFluid, FluidContainerRegistry.BUCKET_VOLUME), null, true, 100); // glass
basinCasting.addCastingRecipe(new ItemStack(TRepo.smeltery, 1, 4), new FluidStack(TRepo.moltenStoneFluid, TConstruct.ingotLiquidValue), null, true, 100); // seared
// stone
2014-01-01 08:47:10 -05:00
basinCasting.addCastingRecipe(new ItemStack(TRepo.smeltery, 1, 5), new FluidStack(TRepo.moltenStoneFluid, TConstruct.chunkLiquidValue), new ItemStack(Blocks.cobblestone), true, 100);
2014-02-16 14:23:50 -05:00
basinCasting.addCastingRecipe(new ItemStack(Blocks.emerald_block), new FluidStack(TRepo.moltenEmeraldFluid, 640 * 9), null, true, 100); // emerald
basinCasting.addCastingRecipe(new ItemStack(TRepo.speedBlock, 1, 0), new FluidStack(TRepo.moltenTinFluid, TConstruct.nuggetLiquidValue), new ItemStack(Blocks.gravel), true, 100); // brownstone
2014-02-04 20:40:58 -05:00
if (PHConstruct.craftEndstone)
2014-02-04 21:21:50 -05:00
{
basinCasting.addCastingRecipe(new ItemStack(Blocks.end_stone), new FluidStack(TRepo.moltenEnderFluid, 50), new ItemStack(Blocks.obsidian), true, 100);
basinCasting.addCastingRecipe(new ItemStack(Blocks.end_stone), new FluidStack(TRepo.moltenEnderFluid, 250), new ItemStack(Blocks.sandstone), true, 100);
}
2014-02-16 14:23:50 -05:00
basinCasting.addCastingRecipe(new ItemStack(TRepo.metalBlock, 1, 10), new FluidStack(TRepo.moltenEnderFluid, 1000), null, true, 100); // ender
basinCasting.addCastingRecipe(new ItemStack(TRepo.glueBlock), new FluidStack(TRepo.glueFluid, TConstruct.blockLiquidValue), null, true, 100); // glue
// basinCasting.addCastingRecipe(new ItemStack(slimeGel, 1, 0), new
// FluidStack(blueSlimeFluid, FluidContainerRegistry.BUCKET_VOLUME),
// null, true, 100);
// Armor casts
/*
* FluidRenderProperties frp = new
* FluidRenderProperties(Applications.BASIN.minHeight, 0.65F,
* Applications.BASIN); FluidStack aluFlu = new
* FluidStack(TRepo.moltenAlubrassFluid, TConstruct.ingotLiquidValue *
* 10); FluidStack gloFlu = new FluidStack(TRepo.moltenGoldFluid,
* TConstruct.ingotLiquidValue * 10); ItemStack[] armor = { new
* ItemStack(helmetWood), new ItemStack(chestplateWood), new
* ItemStack(leggingsWood), new ItemStack(bootsWood) }; for (int sc = 0;
* sc < armor.length; sc++) { basinCasting.addCastingRecipe(new
* ItemStack(armorPattern, 1, sc), aluFlu, armor[sc], 50, frp);
* basinCasting.addCastingRecipe(new ItemStack(armorPattern, 1, sc),
* gloFlu, armor[sc], 50, frp); }
*/
2013-11-29 23:46:55 -05:00
}
protected static void addRecipesForSmeltery ()
{
2014-02-16 14:23:50 -05:00
// Alloy Smelting
2013-12-06 11:37:06 -08:00
Smeltery.addAlloyMixing(new FluidStack(TRepo.moltenBronzeFluid, (int) (TConstruct.ingotLiquidValue * PHConstruct.ingotsBronzeAlloy)), new FluidStack(TRepo.moltenCopperFluid,
2014-02-16 14:23:50 -05:00
TConstruct.ingotLiquidValue * 3), new FluidStack(TRepo.moltenTinFluid, TConstruct.ingotLiquidValue)); // Bronze
2013-12-06 11:37:06 -08:00
Smeltery.addAlloyMixing(new FluidStack(TRepo.moltenAlubrassFluid, (int) (TConstruct.ingotLiquidValue * PHConstruct.ingotsAluminumBrassAlloy)), new FluidStack(TRepo.moltenAluminumFluid,
2014-02-16 14:23:50 -05:00
TConstruct.ingotLiquidValue * 3), new FluidStack(TRepo.moltenCopperFluid, TConstruct.ingotLiquidValue * 1)); // Aluminum Brass
2013-12-06 11:37:06 -08:00
Smeltery.addAlloyMixing(new FluidStack(TRepo.moltenAlumiteFluid, (int) (TConstruct.ingotLiquidValue * PHConstruct.ingotsAlumiteAlloy)), new FluidStack(TRepo.moltenAluminumFluid,
2014-02-16 14:23:50 -05:00
TConstruct.ingotLiquidValue * 5), new FluidStack(TRepo.moltenIronFluid, TConstruct.ingotLiquidValue * 2), new FluidStack(TRepo.moltenObsidianFluid, TConstruct.ingotLiquidValue * 2)); // Alumite
2013-12-06 11:37:06 -08:00
Smeltery.addAlloyMixing(new FluidStack(TRepo.moltenManyullynFluid, (int) (TConstruct.ingotLiquidValue * PHConstruct.ingotsManyullynAlloy)), new FluidStack(TRepo.moltenCobaltFluid,
2014-02-16 14:23:50 -05:00
TConstruct.ingotLiquidValue), new FluidStack(TRepo.moltenArditeFluid, TConstruct.ingotLiquidValue)); // Manyullyn
2013-12-11 23:47:07 -05:00
Smeltery.addAlloyMixing(new FluidStack(TRepo.pigIronFluid, (int) (TConstruct.ingotLiquidValue * PHConstruct.ingotsPigironAlloy)), new FluidStack(TRepo.moltenIronFluid,
2014-02-16 14:23:50 -05:00
TConstruct.ingotLiquidValue), new FluidStack(TRepo.moltenEmeraldFluid, 640), new FluidStack(TRepo.bloodFluid, 80)); // Pigiron
Smeltery.addAlloyMixing(new FluidStack(TRepo.moltenObsidianFluid, TConstruct.oreLiquidValue), new FluidStack(FluidRegistry.LAVA, 1000), new FluidStack(FluidRegistry.WATER, 1000)); //Obsidian
2013-11-29 23:46:55 -05:00
// Stone parts
for (int sc = 0; sc < TRepo.patternOutputs.length; sc++)
{
if (TRepo.patternOutputs[sc] != null)
{
Smeltery.addMelting(FluidType.Stone, new ItemStack(TRepo.patternOutputs[sc], 1, 1), 1,
(8 * ((IPattern) TRepo.woodPattern).getPatternCost(new ItemStack(TRepo.woodPattern, 1, sc + 1))) / 2);
2013-11-29 23:46:55 -05:00
}
}
// Chunks
Smeltery.addMelting(FluidType.Stone, new ItemStack(TRepo.toolShard, 1, 1), 0, 4);
Smeltery.addMelting(FluidType.Iron, new ItemStack(TRepo.toolShard, 1, 2), 0, TConstruct.chunkLiquidValue);
Smeltery.addMelting(FluidType.Obsidian, new ItemStack(TRepo.toolShard, 1, 6), 0, TConstruct.chunkLiquidValue);
Smeltery.addMelting(FluidType.Cobalt, new ItemStack(TRepo.toolShard, 1, 10), 0, TConstruct.chunkLiquidValue);
Smeltery.addMelting(FluidType.Ardite, new ItemStack(TRepo.toolShard, 1, 11), 0, TConstruct.chunkLiquidValue);
Smeltery.addMelting(FluidType.Manyullyn, new ItemStack(TRepo.toolShard, 1, 12), 0, TConstruct.chunkLiquidValue);
Smeltery.addMelting(FluidType.Copper, new ItemStack(TRepo.toolShard, 1, 13), 0, TConstruct.chunkLiquidValue);
Smeltery.addMelting(FluidType.Bronze, new ItemStack(TRepo.toolShard, 1, 14), 0, TConstruct.chunkLiquidValue);
Smeltery.addMelting(FluidType.Alumite, new ItemStack(TRepo.toolShard, 1, 15), 0, TConstruct.chunkLiquidValue);
Smeltery.addMelting(FluidType.Steel, new ItemStack(TRepo.toolShard, 1, 16), 0, TConstruct.chunkLiquidValue);
// Items
Smeltery.addMelting(FluidType.AluminumBrass, new ItemStack(TRepo.blankPattern, 4, 1), -50, TConstruct.ingotLiquidValue);
Smeltery.addMelting(FluidType.Gold, new ItemStack(TRepo.blankPattern, 4, 2), -50, TConstruct.ingotLiquidValue * 2);
Smeltery.addMelting(FluidType.Glue, new ItemStack(TRepo.materials, 1, 36), 0, TConstruct.ingotLiquidValue);
2014-01-01 08:47:10 -05:00
Smeltery.addMelting(FluidType.Ender, new ItemStack(Items.ender_pearl, 4), 0, 250);
2013-11-29 23:46:55 -05:00
Smeltery.addMelting(TRepo.metalBlock, 10, 50, new FluidStack(TRepo.moltenEnderFluid, 1000));
2013-12-31 14:11:05 -05:00
Smeltery.addMelting(FluidType.Water, new ItemStack(Items.snowball, 1, 0), 0, 125);
2014-01-01 08:47:10 -05:00
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.flint_and_steel, 1, 0), 0, TConstruct.ingotLiquidValue);
2013-12-31 14:11:05 -05:00
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.compass, 1, 0), 0, TConstruct.ingotLiquidValue * 4);
2014-01-01 08:47:10 -05:00
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.bucket), 0, TConstruct.ingotLiquidValue * 3);
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.minecart), 0, TConstruct.ingotLiquidValue * 5);
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.chest_minecart), 0, TConstruct.ingotLiquidValue * 5);
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.hopper_minecart), 50, TConstruct.ingotLiquidValue * 10);
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.iron_door), 0, TConstruct.ingotLiquidValue * 6);
2013-12-31 14:11:05 -05:00
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.cauldron), 0, TConstruct.ingotLiquidValue * 7);
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.shears), 0, TConstruct.ingotLiquidValue * 2);
Smeltery.addMelting(FluidType.Emerald, new ItemStack(Items.emerald), -50, 640);
2013-11-29 23:46:55 -05:00
2014-02-16 14:23:50 -05:00
// Blocks melt as themselves!
// Ore
2014-01-01 08:47:10 -05:00
Smeltery.addMelting(Blocks.iron_ore, 0, 600, new FluidStack(TRepo.moltenIronFluid, TConstruct.ingotLiquidValue * 2));
Smeltery.addMelting(Blocks.gold_ore, 0, 400, new FluidStack(TRepo.moltenGoldFluid, TConstruct.ingotLiquidValue * 2));
2013-11-29 23:46:55 -05:00
Smeltery.addMelting(TRepo.oreGravel, 0, 600, new FluidStack(TRepo.moltenIronFluid, TConstruct.ingotLiquidValue * 2));
Smeltery.addMelting(TRepo.oreGravel, 1, 400, new FluidStack(TRepo.moltenGoldFluid, TConstruct.ingotLiquidValue * 2));
2014-02-16 14:23:50 -05:00
// Blocks
2014-01-01 08:47:10 -05:00
Smeltery.addMelting(Blocks.iron_block, 0, 600, new FluidStack(TRepo.moltenIronFluid, TConstruct.ingotLiquidValue * 9));
Smeltery.addMelting(Blocks.gold_block, 0, 400, new FluidStack(TRepo.moltenGoldFluid, TConstruct.ingotLiquidValue * 9));
Smeltery.addMelting(Blocks.obsidian, 0, 800, new FluidStack(TRepo.moltenObsidianFluid, TConstruct.ingotLiquidValue * 2));
Smeltery.addMelting(Blocks.ice, 0, 75, new FluidStack(FluidRegistry.getFluid("water"), 1000));
Smeltery.addMelting(Blocks.snow, 0, 75, new FluidStack(FluidRegistry.getFluid("water"), 500));
Smeltery.addMelting(Blocks.snow_layer, 0, 75, new FluidStack(FluidRegistry.getFluid("water"), 250));
Smeltery.addMelting(Blocks.sand, 0, 625, new FluidStack(TRepo.moltenGlassFluid, FluidContainerRegistry.BUCKET_VOLUME));
Smeltery.addMelting(Blocks.glass, 0, 625, new FluidStack(TRepo.moltenGlassFluid, FluidContainerRegistry.BUCKET_VOLUME));
Smeltery.addMelting(Blocks.glass_pane, 0, 625, new FluidStack(TRepo.moltenGlassFluid, 250));
Smeltery.addMelting(Blocks.stone, 0, 800, new FluidStack(TRepo.moltenStoneFluid, TConstruct.ingotLiquidValue / 18));
Smeltery.addMelting(Blocks.cobblestone, 0, 800, new FluidStack(TRepo.moltenStoneFluid, TConstruct.ingotLiquidValue / 18));
Smeltery.addMelting(Blocks.emerald_block, 0, 800, new FluidStack(TRepo.moltenEmeraldFluid, 640 * 9));
2013-11-29 23:46:55 -05:00
Smeltery.addMelting(TRepo.glueBlock, 0, 250, new FluidStack(TRepo.glueFluid, TConstruct.blockLiquidValue));
Smeltery.addMelting(TRepo.craftedSoil, 1, 600, new FluidStack(TRepo.moltenStoneFluid, TConstruct.ingotLiquidValue / 4));
Smeltery.addMelting(TRepo.clearGlass, 0, 500, new FluidStack(TRepo.moltenGlassFluid, 1000));
Smeltery.addMelting(TRepo.glassPane, 0, 350, new FluidStack(TRepo.moltenGlassFluid, 250));
for (int i = 0; i < 16; i++)
{
Smeltery.addMelting(TRepo.stainedGlassClear, i, 500, new FluidStack(TRepo.moltenGlassFluid, 1000));
Smeltery.addMelting(TRepo.stainedGlassClearPane, i, 350, new FluidStack(TRepo.moltenGlassFluid, 250));
}
2014-02-16 14:23:50 -05:00
// Bricks
2013-11-29 23:46:55 -05:00
Smeltery.addMelting(TRepo.multiBrick, 4, 600, new FluidStack(TRepo.moltenIronFluid, TConstruct.ingotLiquidValue));
Smeltery.addMelting(TRepo.multiBrickFancy, 4, 600, new FluidStack(TRepo.moltenIronFluid, TConstruct.ingotLiquidValue));
Smeltery.addMelting(TRepo.multiBrick, 5, 400, new FluidStack(TRepo.moltenGoldFluid, TConstruct.ingotLiquidValue));
Smeltery.addMelting(TRepo.multiBrickFancy, 5, 400, new FluidStack(TRepo.moltenGoldFluid, TConstruct.ingotLiquidValue));
Smeltery.addMelting(TRepo.multiBrick, 0, 800, new FluidStack(TRepo.moltenObsidianFluid, TConstruct.ingotLiquidValue * 2));
Smeltery.addMelting(TRepo.multiBrickFancy, 0, 800, new FluidStack(TRepo.moltenObsidianFluid, TConstruct.ingotLiquidValue * 2));
2014-02-16 14:23:50 -05:00
// Vanilla blocks
2014-01-01 08:47:10 -05:00
Smeltery.addMelting(FluidType.Iron, new ItemStack(Blocks.iron_bars), 0, TConstruct.ingotLiquidValue * 6 / 16);
2014-01-29 00:09:45 -05:00
Smeltery.addMelting(FluidType.Iron, new ItemStack(Blocks.heavy_weighted_pressure_plate), 0, TConstruct.oreLiquidValue);
Smeltery.addMelting(FluidType.Gold, new ItemStack(Blocks.light_weighted_pressure_plate, 4), 0, TConstruct.oreLiquidValue);
2014-01-01 08:47:10 -05:00
Smeltery.addMelting(FluidType.Iron, new ItemStack(Blocks.rail), 0, TConstruct.ingotLiquidValue * 6 / 16);
2014-02-02 12:06:48 -05:00
Smeltery.addMelting(FluidType.Gold, new ItemStack(Blocks.golden_rail), 0, TConstruct.ingotLiquidValue);
Smeltery.addMelting(FluidType.Iron, new ItemStack(Blocks.detector_rail), 0, TConstruct.ingotLiquidValue);
Smeltery.addMelting(FluidType.Iron, new ItemStack(Blocks.activator_rail), 0, TConstruct.ingotLiquidValue);
2014-01-01 08:47:10 -05:00
Smeltery.addMelting(FluidType.Obsidian, new ItemStack(Blocks.enchanting_table), 0, TConstruct.ingotLiquidValue * 4);
2014-02-16 14:23:50 -05:00
// Smeltery.addMelting(FluidType.Iron, new ItemStack(Blocks.cauldron),
// 0, TConstruct.ingotLiquidValue * 7);
2014-01-01 08:47:10 -05:00
Smeltery.addMelting(FluidType.Iron, new ItemStack(Blocks.anvil, 1, 0), 200, TConstruct.ingotLiquidValue * 31);
Smeltery.addMelting(FluidType.Iron, new ItemStack(Blocks.anvil, 1, 1), 200, TConstruct.ingotLiquidValue * 31);
Smeltery.addMelting(FluidType.Iron, new ItemStack(Blocks.anvil, 1, 2), 200, TConstruct.ingotLiquidValue * 31);
Smeltery.addMelting(FluidType.Iron, new ItemStack(Blocks.hopper), 0, TConstruct.ingotLiquidValue * 5);
2013-11-29 23:46:55 -05:00
2014-02-16 14:23:50 -05:00
// Vanilla Armor
2014-01-01 08:47:10 -05:00
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.iron_helmet, 1, 0), 50, TConstruct.ingotLiquidValue * 5);
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.iron_chestplate, 1, 0), 50, TConstruct.ingotLiquidValue * 8);
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.iron_leggings, 1, 0), 50, TConstruct.ingotLiquidValue * 7);
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.iron_boots, 1, 0), 50, TConstruct.ingotLiquidValue * 4);
2013-11-29 23:46:55 -05:00
2014-01-01 08:47:10 -05:00
Smeltery.addMelting(FluidType.Gold, new ItemStack(Items.golden_helmet, 1, 0), 50, TConstruct.ingotLiquidValue * 5);
Smeltery.addMelting(FluidType.Gold, new ItemStack(Items.golden_chestplate, 1, 0), 50, TConstruct.ingotLiquidValue * 8);
Smeltery.addMelting(FluidType.Gold, new ItemStack(Items.golden_leggings, 1, 0), 50, TConstruct.ingotLiquidValue * 7);
Smeltery.addMelting(FluidType.Gold, new ItemStack(Items.golden_boots, 1, 0), 50, TConstruct.ingotLiquidValue * 4);
2013-11-29 23:46:55 -05:00
2014-01-01 08:47:10 -05:00
Smeltery.addMelting(FluidType.Steel, new ItemStack(Items.chainmail_helmet, 1, 0), 25, TConstruct.ingotLiquidValue);
Smeltery.addMelting(FluidType.Steel, new ItemStack(Items.chainmail_chestplate, 1, 0), 50, TConstruct.oreLiquidValue);
Smeltery.addMelting(FluidType.Steel, new ItemStack(Items.chainmail_leggings, 1, 0), 50, TConstruct.oreLiquidValue);
Smeltery.addMelting(FluidType.Steel, new ItemStack(Items.chainmail_boots, 1, 0), 25, TConstruct.ingotLiquidValue);
2013-11-29 23:46:55 -05:00
2014-01-01 08:47:10 -05:00
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.iron_horse_armor, 1), 100, TConstruct.ingotLiquidValue * 8);
Smeltery.addMelting(FluidType.Gold, new ItemStack(Items.golden_horse_armor, 1), 100, TConstruct.ingotLiquidValue * 8);
2013-11-29 23:46:55 -05:00
2014-02-16 14:23:50 -05:00
// Vanilla tools
2014-01-01 08:47:10 -05:00
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.iron_hoe, 1, 0), 0, TConstruct.oreLiquidValue);
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.iron_sword, 1, 0), 0, TConstruct.oreLiquidValue);
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.iron_shovel, 1, 0), 0, TConstruct.ingotLiquidValue);
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.iron_pickaxe, 1, 0), 0, TConstruct.ingotLiquidValue * 3);
Smeltery.addMelting(FluidType.Iron, new ItemStack(Items.iron_axe, 1, 0), 0, TConstruct.ingotLiquidValue * 3);
Smeltery.addMelting(FluidType.Gold, new ItemStack(Items.golden_hoe, 1, 0), 0, TConstruct.oreLiquidValue);
Smeltery.addMelting(FluidType.Gold, new ItemStack(Items.golden_sword, 1, 0), 0, TConstruct.oreLiquidValue);
Smeltery.addMelting(FluidType.Gold, new ItemStack(Items.golden_shovel, 1, 0), 0, TConstruct.ingotLiquidValue);
Smeltery.addMelting(FluidType.Gold, new ItemStack(Items.golden_pickaxe, 1, 0), 0, TConstruct.ingotLiquidValue * 3);
Smeltery.addMelting(FluidType.Gold, new ItemStack(Items.golden_axe, 1, 0), 0, TConstruct.ingotLiquidValue * 3);
2013-11-29 23:46:55 -05:00
}
public void modIntegration ()
2013-11-29 23:46:55 -05:00
{
2013-12-11 23:47:07 -05:00
/* Natura */
Block taintedSoil = GameRegistry.findBlock("Natura", "soil.tainted");
Block heatSand = GameRegistry.findBlock("Natura", "heatsand");
if (taintedSoil != null && heatSand != null)
2014-01-29 00:09:45 -05:00
GameRegistry.addShapelessRecipe(new ItemStack(TRepo.craftedSoil, 2, 6), Items.nether_wart, taintedSoil, heatSand);
2013-12-11 23:47:07 -05:00
2013-11-29 23:46:55 -05:00
ItemStack ironpick = ToolBuilder.instance.buildTool(new ItemStack(TRepo.pickaxeHead, 1, 6), new ItemStack(TRepo.toolRod, 1, 2), new ItemStack(TRepo.binding, 1, 6), "");
2014-02-16 14:23:50 -05:00
/* TE3 Flux */
2013-11-29 23:46:55 -05:00
ItemStack batHardened = GameRegistry.findItemStack("ThermalExpansion", "capacitorHardened", 1);
if (batHardened != null)
{
2013-12-12 03:08:05 -08:00
TRepo.modFlux.batteries.add(batHardened);
2013-11-29 23:46:55 -05:00
}
ItemStack basicCell = GameRegistry.findItemStack("ThermalExpansion", "cellBasic", 1);
if (basicCell != null)
{
2013-12-12 03:08:05 -08:00
TRepo.modFlux.batteries.add(basicCell);
2013-11-29 23:46:55 -05:00
}
if (batHardened != null)
TConstructClientRegistry.registerManualModifier("fluxmod", ironpick.copy(), (ItemStack) batHardened);
if (basicCell != null)
TConstructClientRegistry.registerManualModifier("fluxmod2", ironpick.copy(), (ItemStack) basicCell);
/* Thaumcraft */
Object obj = getStaticItem("itemResource", "thaumcraft.common.config.ConfigItems");
if (obj != null)
{
TConstruct.logger.info("Thaumcraft detected. Adding thaumium tools.");
TRepo.thaumcraftAvailable = true;
TConstructClientRegistry.addMaterialRenderMapping(31, "tinker", "thaumium", true);
2014-04-16 17:51:59 +02:00
TConstructRegistry.addToolMaterial(31, "Thaumium", 3, 400, 700, 2, 1.3F, 0, 0f, "\u00A75", StatCollector.translateToLocal("materialtraits.thaumic"));
2014-04-16 18:25:32 +02:00
PatternBuilder.instance.registerFullMaterial(new ItemStack((Item) obj, 1, 2), 2, StatCollector.translateToLocal("gui.partbuilder.material.thaumium"), new ItemStack(TRepo.toolShard, 1, 31), new ItemStack(TRepo.toolRod, 1, 31), 31);
2013-11-29 23:46:55 -05:00
for (int meta = 0; meta < TRepo.patternOutputs.length; meta++)
{
if (TRepo.patternOutputs[meta] != null)
2013-12-31 14:11:05 -05:00
TConstructRegistry.addPartMapping(TRepo.woodPattern, meta + 1, 31, new ItemStack(TRepo.patternOutputs[meta], 1, 31));
2013-11-29 23:46:55 -05:00
}
TConstructRegistry.addBowstringMaterial(1, 2, new ItemStack((Item) obj, 1, 7), new ItemStack(TRepo.bowstring, 1, 1), 1F, 1F, 0.9f);
TConstructRegistry.addBowMaterial(31, 576, 40, 1.2f);
TConstructRegistry.addArrowMaterial(31, 1.8F, 0.5F, 100F);
}
else
{
TConstruct.logger.warn("Thaumcraft not detected.");
2013-11-29 23:46:55 -05:00
}
if (Loader.isModLoaded("Natura"))
{
try
{
Object plantItem = getStaticItem("plantItem", "mods.natura.common.NContent");
TConstructRegistry.addBowstringMaterial(2, 2, new ItemStack((Item) plantItem, 1, 7), new ItemStack(TRepo.bowstring, 1, 2), 1.2F, 0.8F, 1.3f);
}
catch (Exception e)
{
2014-02-16 14:23:50 -05:00
} // No need to handle
2013-11-29 23:46:55 -05:00
}
ItemStack ingotcast = new ItemStack(TRepo.metalPattern, 1, 0);
LiquidCasting tableCasting = TConstructRegistry.instance.getTableCasting();
LiquidCasting basinCasting = TConstructRegistry.instance.getBasinCasting();
/* Thermal Expansion 3 Metals */
ArrayList<ItemStack> ores = OreDictionary.getOres("ingotNickel");
if (ores.size() > 0)
{
tableCasting.addCastingRecipe(ores.get(0), new FluidStack(TRepo.moltenNickelFluid, TConstruct.ingotLiquidValue), ingotcast, 80);
}
ores = OreDictionary.getOres("ingotLead");
if (ores.size() > 0)
{
tableCasting.addCastingRecipe(ores.get(0), new FluidStack(TRepo.moltenLeadFluid, TConstruct.ingotLiquidValue), ingotcast, 80);
}
ores = OreDictionary.getOres("ingotSilver");
if (ores.size() > 0)
{
tableCasting.addCastingRecipe(ores.get(0), new FluidStack(TRepo.moltenSilverFluid, TConstruct.ingotLiquidValue), ingotcast, 80);
}
ores = OreDictionary.getOres("ingotPlatinum");
if (ores.size() > 0)
{
tableCasting.addCastingRecipe(ores.get(0), new FluidStack(TRepo.moltenShinyFluid, TConstruct.ingotLiquidValue), ingotcast, 80);
}
ores = OreDictionary.getOres("ingotInvar");
if (ores.size() > 0)
{
tableCasting.addCastingRecipe(ores.get(0), new FluidStack(TRepo.moltenInvarFluid, TConstruct.ingotLiquidValue), ingotcast, 80);
2014-02-04 21:21:50 -05:00
Smeltery.addAlloyMixing(new FluidStack(TRepo.moltenInvarFluid, TConstruct.ingotLiquidValue * 3), new FluidStack(TRepo.moltenIronFluid, TConstruct.ingotLiquidValue * 2), new FluidStack(
2014-02-16 14:23:50 -05:00
TRepo.moltenNickelFluid, TConstruct.ingotLiquidValue * 1)); // Invar
2013-11-29 23:46:55 -05:00
}
ores = OreDictionary.getOres("ingotElectrum");
if (ores.size() > 0)
{
tableCasting.addCastingRecipe(ores.get(0), new FluidStack(TRepo.moltenElectrumFluid, TConstruct.ingotLiquidValue), ingotcast, 80);
2014-02-04 21:21:50 -05:00
Smeltery.addAlloyMixing(new FluidStack(TRepo.moltenElectrumFluid, TConstruct.ingotLiquidValue * 2), new FluidStack(TRepo.moltenGoldFluid, TConstruct.ingotLiquidValue), new FluidStack(
2014-02-16 14:23:50 -05:00
TRepo.moltenSilverFluid, TConstruct.ingotLiquidValue)); // Electrum
2013-11-29 23:46:55 -05:00
}
ores = OreDictionary.getOres("blockNickel");
if (ores.size() > 0)
{
basinCasting.addCastingRecipe(ores.get(0), new FluidStack(TRepo.moltenNickelFluid, TConstruct.blockLiquidValue), null, 100);
}
ores = OreDictionary.getOres("blockLead");
if (ores.size() > 0)
{
basinCasting.addCastingRecipe(ores.get(0), new FluidStack(TRepo.moltenLeadFluid, TConstruct.blockLiquidValue), null, 100);
}
ores = OreDictionary.getOres("blockSilver");
if (ores.size() > 0)
{
basinCasting.addCastingRecipe(ores.get(0), new FluidStack(TRepo.moltenSilverFluid, TConstruct.blockLiquidValue), null, 100);
}
ores = OreDictionary.getOres("blockPlatinum");
if (ores.size() > 0)
{
basinCasting.addCastingRecipe(ores.get(0), new FluidStack(TRepo.moltenShinyFluid, TConstruct.blockLiquidValue), null, 100);
}
ores = OreDictionary.getOres("blockInvar");
if (ores.size() > 0)
{
basinCasting.addCastingRecipe(ores.get(0), new FluidStack(TRepo.moltenInvarFluid, TConstruct.blockLiquidValue), null, 100);
}
ores = OreDictionary.getOres("blockElectrum");
if (ores.size() > 0)
{
basinCasting.addCastingRecipe(ores.get(0), new FluidStack(TRepo.moltenElectrumFluid, TConstruct.blockLiquidValue), null, 100);
}
/* Extra Utilities */
ores = OreDictionary.getOres("compressedGravel1x");
if (ores.size() > 0)
{
basinCasting.addCastingRecipe(new ItemStack(TRepo.speedBlock, 9), new FluidStack(TRepo.moltenElectrumFluid, TConstruct.blockLiquidValue), ores.get(0), 100);
}
2014-02-16 14:23:50 -05:00
ores = OreDictionary.getOres("compressedGravel2x"); // Higher won't save
// properly
2013-11-29 23:46:55 -05:00
if (ores.size() > 0)
{
basinCasting.addCastingRecipe(new ItemStack(TRepo.speedBlock, 81), new FluidStack(TRepo.moltenElectrumFluid, TConstruct.blockLiquidValue * 9), ores.get(0), 100);
}
/* Rubber */
ores = OreDictionary.getOres("itemRubber");
if (ores.size() > 0)
{
2014-02-24 16:36:08 -05:00
FurnaceRecipes.smelting().func_151394_a(new ItemStack(TRepo.materials, 1, 36), ores.get(0), 0.2f);
2013-11-29 23:46:55 -05:00
}
}
public Object getStaticItem (String name, String classPackage)
2013-11-29 23:46:55 -05:00
{
try
{
Class clazz = Class.forName(classPackage);
Field field = clazz.getDeclaredField(name);
Object ret = field.get(null);
if (ret != null && (ret instanceof ItemStack || ret instanceof Item))
return ret;
return null;
}
catch (Exception e)
{
TConstruct.logger.warn("Could not find " + name + "from " + classPackage);
2013-11-29 23:46:55 -05:00
return null;
}
}
2013-11-29 23:16:32 -05:00
}