ActuallyAdditions/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/ItemCrafting.java

613 lines
33 KiB
Java
Raw Normal View History

2015-08-29 14:33:25 +02:00
/*
2016-05-16 22:52:27 +02:00
* This file ("ItemCrafting.java") is part of the Actually Additions mod for Minecraft.
2015-08-29 14:33:25 +02:00
* It is created and owned by Ellpeck and distributed
* under the Actually Additions License to be found at
2016-05-16 22:52:27 +02:00
* http://ellpeck.de/actaddlicense
2015-08-29 14:33:25 +02:00
* View the source code at https://github.com/Ellpeck/ActuallyAdditions
*
2017-01-01 16:23:26 +01:00
* © 2015-2017 Ellpeck
2015-08-29 14:33:25 +02:00
*/
2016-01-05 04:47:35 +01:00
package de.ellpeck.actuallyadditions.mod.crafting;
2018-05-10 11:38:58 +02:00
import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
2016-01-05 04:47:35 +01:00
import de.ellpeck.actuallyadditions.mod.blocks.InitBlocks;
import de.ellpeck.actuallyadditions.mod.blocks.metalists.TheColoredLampColors;
import de.ellpeck.actuallyadditions.mod.blocks.metalists.TheMiscBlocks;
2016-07-26 19:40:28 +02:00
import de.ellpeck.actuallyadditions.mod.config.values.ConfigBoolValues;
2016-01-05 04:47:35 +01:00
import de.ellpeck.actuallyadditions.mod.items.InitItems;
import de.ellpeck.actuallyadditions.mod.items.metalists.*;
2016-03-18 18:41:37 +01:00
import de.ellpeck.actuallyadditions.mod.util.RecipeUtil;
2016-01-05 04:47:35 +01:00
import de.ellpeck.actuallyadditions.mod.util.Util;
2017-06-17 00:48:49 +02:00
import de.ellpeck.actuallyadditions.mod.util.crafting.RecipeHandler;
2016-11-02 18:49:57 +01:00
import net.minecraft.enchantment.EnchantmentData;
import net.minecraft.init.Blocks;
2016-11-02 18:49:57 +01:00
import net.minecraft.init.Enchantments;
import net.minecraft.init.Items;
import net.minecraft.init.PotionTypes;
2017-06-17 00:48:49 +02:00
import net.minecraft.item.ItemEnchantedBook;
import net.minecraft.item.ItemStack;
2015-08-29 15:40:12 +02:00
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.potion.PotionUtils;
2017-06-17 00:48:49 +02:00
import net.minecraft.util.ResourceLocation;
2016-01-07 18:20:59 +01:00
import net.minecraftforge.fml.common.registry.GameRegistry;
2015-06-30 01:58:33 +02:00
import net.minecraftforge.oredict.OreDictionary;
import java.util.ArrayList;
2016-06-17 23:50:38 +02:00
public final class ItemCrafting{
2019-02-27 19:53:05 +01:00
public static final ArrayList<IRecipe> RECIPES_POTION_RINGS = new ArrayList<>();
public static final ArrayList<IRecipe> RECIPES_DRILL_COLORING = new ArrayList<>();
2015-08-29 15:40:12 +02:00
public static IRecipe recipePhantomConnector;
public static IRecipe recipeCoil;
public static IRecipe recipeCoilAdvanced;
public static IRecipe recipeBook;
2015-08-31 10:45:05 +02:00
public static IRecipe recipeTinyCoal;
public static IRecipe recipeTinyChar;
public static IRecipe recipeDrill;
public static IRecipe recipeDrillSpeedI;
public static IRecipe recipeDrillSpeedII;
public static IRecipe recipeDrillSpeedIII;
public static IRecipe recipeDrillFortuneI;
public static IRecipe recipeDrillFortuneII;
public static IRecipe recipeDrillSilk;
public static IRecipe recipeDrillPlacing;
public static IRecipe recipeDrillThree;
public static IRecipe recipeDrillFive;
public static IRecipe recipeBattery;
public static IRecipe recipeBatteryDouble;
public static IRecipe recipeBatteryTriple;
public static IRecipe recipeBatteryQuadruple;
public static IRecipe recipeBatteryQuintuple;
public static IRecipe recipeStaff;
public static IRecipe recipeGrowthRing;
public static IRecipe recipeMagnetRing;
public static IRecipe recipeWaterRing;
public static IRecipe recipeWings;
public static IRecipe recipeCup;
public static IRecipe recipeKnifeHandle;
public static IRecipe recipeKnifeBlade;
public static IRecipe recipeKnife;
public static IRecipe recipeRing;
public static IRecipe recipeDough;
public static IRecipe recipeRiceDough;
public static IRecipe recipeLeafBlower;
public static IRecipe recipeLeafBlowerAdvanced;
public static IRecipe recipeChestToCrateUpgrade;
public static IRecipe recipeSmallToMediumCrateUpgrade;
public static IRecipe recipeMediumToLargeCrateUpgrade;
public static IRecipe recipeLaserWrench;
2015-10-29 20:54:10 +01:00
public static IRecipe recipeDrillCore;
2015-11-03 16:30:13 +01:00
public static IRecipe recipeBlackDye;
public static IRecipe recipeLens;
2015-12-16 15:45:01 +01:00
public static IRecipe recipeCrateKeeper;
public static IRecipe recipeEnderStar;
public static IRecipe recipeSpawnerChanger;
public static IRecipe recipeFilter;
public static IRecipe recipePlayerProbe;
2016-07-20 11:16:27 +02:00
public static IRecipe recipeDisenchantingLens;
2016-10-31 16:56:04 +01:00
public static IRecipe recipeMiningLens;
2016-08-02 20:06:31 +02:00
public static IRecipe recipeBag;
public static IRecipe recipeVoidBag;
2016-11-02 18:49:57 +01:00
public static IRecipe recipeLensMoreDeath;
2016-11-05 16:16:42 +01:00
public static IRecipe recipeFillingWand;
2017-02-14 20:48:01 +01:00
public static IRecipe recipeLaserUpgradeInvisibility;
public static IRecipe recipeLaserUpgradeRange;
public static IRecipe recipeGoggles;
public static IRecipe recipeGogglesAdvanced;
2015-08-29 15:40:12 +02:00
public static void init(){
2017-02-14 20:48:01 +01:00
//Advanced Goggles
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemEngineerGogglesAdvanced),
2017-02-14 20:48:01 +01:00
" R ", "IGI",
'R', new ItemStack(InitItems.itemCrystalEmpowered, 1, TheCrystals.REDSTONE.ordinal()),
'I', new ItemStack(Blocks.IRON_BARS),
2017-06-17 00:48:49 +02:00
'G', new ItemStack(InitItems.itemEngineerGoggles));
2017-02-14 20:48:01 +01:00
recipeGogglesAdvanced = RecipeUtil.lastIRecipe();
//Goggles
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemEngineerGoggles),
2017-02-14 20:48:01 +01:00
" R ", "IGI",
'R', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.REDSTONE.ordinal()),
'I', new ItemStack(Blocks.IRON_BARS),
2017-06-17 00:48:49 +02:00
'G', "blockGlass");
2017-02-14 20:48:01 +01:00
recipeGoggles = RecipeUtil.lastIRecipe();
//Laser Invis Upgrade
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemLaserUpgradeInvisibility, 4),
2017-02-14 20:48:01 +01:00
"GGG", "RCR", "GGG",
'G', "blockGlassBlack",
'R', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.COAL.ordinal()),
2017-06-17 00:48:49 +02:00
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()));
2017-02-14 20:48:01 +01:00
recipeLaserUpgradeInvisibility = RecipeUtil.lastIRecipe();
//Laser Range Upgrade
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemLaserUpgradeRange, 2),
2017-02-14 20:48:01 +01:00
"GGC", "RCR", "CGG",
'R', new ItemStack(Items.COMPASS),
'G', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.REDSTONE.ordinal()),
2017-06-17 00:48:49 +02:00
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()));
2017-02-14 20:48:01 +01:00
recipeLaserUpgradeRange = RecipeUtil.lastIRecipe();
2016-11-05 16:16:42 +01:00
//Filling Wand
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemFillingWand),
"IPI", "DCD", " B ",
'I', new ItemStack(InitItems.itemCrystalEmpowered, 1, TheCrystals.IRON.ordinal()),
'P', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.LAPIS.ordinal()),
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()),
'D', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.DIAMOND.ordinal()),
2017-06-17 00:48:49 +02:00
'B', new ItemStack(InitItems.itemBatteryTriple));
recipeFillingWand = RecipeUtil.lastIRecipe();
2016-11-05 16:16:42 +01:00
2016-08-02 20:06:31 +02:00
//Bag
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemBag),
"SLS", "SCS", "LVL",
'S', new ItemStack(Items.STRING),
'L', new ItemStack(Items.LEATHER),
'C', "chestWood",
2017-06-17 00:48:49 +02:00
'V', new ItemStack(InitBlocks.blockCrystal, 1, TheCrystals.COAL.ordinal()));
recipeBag = RecipeUtil.lastIRecipe();
2016-08-02 20:06:31 +02:00
//Void Bag
2017-06-17 00:48:49 +02:00
RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitItems.itemVoidBag),
new ItemStack(InitItems.itemBag),
new ItemStack(Items.ENDER_PEARL),
new ItemStack(Blocks.OBSIDIAN),
2017-06-17 00:48:49 +02:00
new ItemStack(InitBlocks.blockCrystal, 1, TheCrystals.COAL.ordinal()));
recipeVoidBag = RecipeUtil.lastIRecipe();
2016-08-02 20:06:31 +02:00
//Lens
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.LENS.ordinal()),
"GGG", "GBG", "GGG",
'G', "blockGlass",
2017-06-17 00:48:49 +02:00
'B', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()));
2016-03-18 18:41:37 +01:00
recipeLens = RecipeUtil.lastIRecipe();
2015-12-01 19:48:09 +01:00
//Black Dye
2017-06-17 00:48:49 +02:00
RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitItems.itemMisc, 2, TheMiscItems.BLACK_DYE.ordinal()), new ItemStack(InitBlocks.blockBlackLotus))
;
2016-03-18 18:41:37 +01:00
recipeBlackDye = RecipeUtil.lastIRecipe();
2015-11-03 16:30:13 +01:00
//Booklet
2017-06-17 00:48:49 +02:00
RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitItems.itemBooklet), new ItemStack(InitItems.itemCanolaSeed), new ItemStack(Items.PAPER))
;
2016-03-18 18:41:37 +01:00
recipeBook = RecipeUtil.lastIRecipe();
//Clearing NBT Storage
2017-06-17 00:48:49 +02:00
RecipeHandler.addShapelessRecipe(new ItemStack(InitItems.itemLaserWrench), new ItemStack(InitItems.itemLaserWrench));
RecipeHandler.addShapelessRecipe(new ItemStack(InitItems.itemPhantomConnector), new ItemStack(InitItems.itemPhantomConnector));
RecipeHandler.addShapelessRecipe(new ItemStack(InitItems.itemSpawnerChanger), new ItemStack(InitItems.itemSpawnerChanger));
//Chest To Crate Upgrade
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemChestToCrateUpgrade),
" W ", "WCW", " W ",
'C', new ItemStack(InitBlocks.blockGiantChest),
2017-06-17 00:48:49 +02:00
'W', "plankWood");
recipeChestToCrateUpgrade = RecipeUtil.lastIRecipe();
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemSmallToMediumCrateUpgrade),
" W ", "WCW", " W ",
'C', new ItemStack(InitBlocks.blockGiantChestMedium),
2017-06-17 00:48:49 +02:00
'W', "plankWood");
recipeSmallToMediumCrateUpgrade = RecipeUtil.lastIRecipe();
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemMediumToLargeCrateUpgrade),
" W ", "WCW", " W ",
'C', new ItemStack(InitBlocks.blockGiantChestLarge),
2017-06-17 00:48:49 +02:00
'W', "plankWood");
recipeMediumToLargeCrateUpgrade = RecipeUtil.lastIRecipe();
2016-07-20 11:16:27 +02:00
//Disenchanting Lens
ItemStack crystal = new ItemStack(InitItems.itemCrystalEmpowered, 1, TheCrystals.DIAMOND.ordinal());
2017-06-17 00:48:49 +02:00
RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitItems.itemDisenchantingLens),
new ItemStack(Blocks.ENCHANTING_TABLE),
crystal.copy(),
crystal.copy(),
crystal.copy(),
crystal.copy(),
crystal.copy(),
crystal.copy(),
crystal.copy(),
2017-06-17 00:48:49 +02:00
new ItemStack(InitItems.itemMisc, 1, TheMiscItems.LENS.ordinal()));
recipeDisenchantingLens = RecipeUtil.lastIRecipe();
2016-10-31 16:56:04 +01:00
//Mining Lens
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemMiningLens),
"DGI", "CLB", "QPE",
'D', "gemDiamond",
'G', "ingotGold",
'I', "ingotIron",
'C', "coal",
'L', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.LENS.ordinal()),
'B', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()),
'Q', "gemQuartz",
'P', "gemLapis",
2017-06-17 00:48:49 +02:00
'E', "gemEmerald");
recipeMiningLens = RecipeUtil.lastIRecipe();
2016-11-02 18:49:57 +01:00
//Killer Lens
ItemStack enchBook = new ItemStack(Items.ENCHANTED_BOOK);
2017-06-17 00:48:49 +02:00
ItemEnchantedBook.addEnchantment(enchBook, new EnchantmentData(Enchantments.SHARPNESS, 5));
2017-06-17 00:48:49 +02:00
RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitItems.itemMoreDamageLens),
new ItemStack(Items.DIAMOND_SWORD),
new ItemStack(InitItems.itemDamageLens),
2017-06-17 00:48:49 +02:00
enchBook);
recipeLensMoreDeath = RecipeUtil.lastIRecipe();
2016-11-02 18:49:57 +01:00
//Filter
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemFilter),
"III", "IQI", "III",
'I', new ItemStack(Blocks.IRON_BARS),
2017-06-17 00:48:49 +02:00
'Q', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()));
recipeFilter = RecipeUtil.lastIRecipe();
2015-12-16 15:45:01 +01:00
//Crate Keeper
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemCrateKeeper),
"WIW", "IQI", "WIW",
'I', "ingotIron",
'W', "plankWood",
2017-06-17 00:48:49 +02:00
'Q', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()));
recipeCrateKeeper = RecipeUtil.lastIRecipe();
2015-12-16 15:45:01 +01:00
//Spawner Changer
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemSpawnerChanger),
"MSM", "SDS", "MSM",
'M', new ItemStack(Items.MAGMA_CREAM),
'S', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.SPAWNER_SHARD.ordinal()),
2017-06-17 00:48:49 +02:00
'D', new ItemStack(InitBlocks.blockCrystalEmpowered, 1, TheCrystals.DIAMOND.ordinal()));
recipeSpawnerChanger = RecipeUtil.lastIRecipe();
//Laser Wrench
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemLaserWrench),
"C ", " S ", " S",
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()),
2017-06-17 00:48:49 +02:00
'S', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.IRON.ordinal()));
recipeLaserWrench = RecipeUtil.lastIRecipe();
2015-05-20 22:39:43 +02:00
//Rice Stuff
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(Items.PAPER, 3),
"R ", " R ", " R",
2017-06-17 00:48:49 +02:00
'R', new ItemStack(InitItems.itemFoods, 1, TheFoods.RICE.ordinal()));
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemMisc, 4, TheMiscItems.RICE_SLIME.ordinal()),
" R ", "RBR", " R ",
'R', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.RICE_DOUGH.ordinal()),
2017-06-17 00:48:49 +02:00
'B', Items.WATER_BUCKET);
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemMisc, 4, TheMiscItems.RICE_SLIME.ordinal()),
" R ", "RBR", " R ",
'R', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.RICE_DOUGH.ordinal()),
2017-06-17 00:48:49 +02:00
'B', new ItemStack(Items.POTIONITEM));
2015-05-20 22:39:43 +02:00
2015-06-18 13:14:57 +02:00
//Leaf Blower
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemLeafBlower),
" F", "IP", "IC",
'F', new ItemStack(Items.FLINT),
'I', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.IRON.ordinal()),
'P', new ItemStack(Blocks.PISTON),
2017-06-17 00:48:49 +02:00
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()));
recipeLeafBlower = RecipeUtil.lastIRecipe();
2015-06-21 02:28:49 +02:00
//Drill
ItemStack lightBlueDrill = new ItemStack(InitItems.itemDrill, 1, TheColoredLampColors.LIGHT_BLUE.ordinal());
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(lightBlueDrill.copy(),
"DDD", "CRC", "III",
'D', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.DIAMOND.ordinal()),
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()),
'R', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.DRILL_CORE.ordinal()),
2017-06-17 00:48:49 +02:00
'I', new ItemStack(InitBlocks.blockCrystal, 1, TheCrystals.IRON.ordinal()));
recipeDrill = RecipeUtil.lastIRecipe();
for(int i = 0; i < 16; i++){
if(i != TheColoredLampColors.LIGHT_BLUE.ordinal()){
2018-05-10 11:38:58 +02:00
new RecipeKeepDataShapeless(new ResourceLocation(ActuallyAdditions.MODID, "dril_color_change"+i), new ItemStack(InitItems.itemDrill, 1, i), new ItemStack(InitItems.itemDrill, 1, Util.WILDCARD), lightBlueDrill.copy(), "dye"+TheColoredLampColors.values()[i].oreName);
RECIPES_DRILL_COLORING.add(RecipeUtil.lastIRecipe());
}
2015-08-29 15:40:12 +02:00
}
2015-06-21 02:28:49 +02:00
2015-10-29 20:54:10 +01:00
//Drill Core
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.DRILL_CORE.ordinal()),
"ICI", "CRC", "ICI",
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL.ordinal()),
'R', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.REDSTONE.ordinal()),
2017-06-17 00:48:49 +02:00
'I', new ItemStack(InitBlocks.blockCrystal, 1, TheCrystals.IRON.ordinal()));
recipeDrillCore = RecipeUtil.lastIRecipe();
2015-10-29 20:54:10 +01:00
2015-07-07 21:59:57 +02:00
//Tele Staff
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemTeleStaff),
" FE", " S ", "SB ",
'F', new ItemStack(InitItems.itemCrystalEmpowered, 1, TheCrystals.DIAMOND.ordinal()),
'E', new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.ENDERPEARL_BLOCK.ordinal()),
'S', new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.ENDER_CASING.ordinal()),
2017-06-17 00:48:49 +02:00
'B', new ItemStack(InitItems.itemBattery, 1, Util.WILDCARD));
recipeStaff = RecipeUtil.lastIRecipe();
2015-07-07 21:59:57 +02:00
2015-06-21 02:28:49 +02:00
//Drill Speed
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemDrillUpgradeSpeed),
"ISI", "SRS", "ISI",
'I', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.IRON.ordinal()),
'S', Items.SUGAR,
2017-06-17 00:48:49 +02:00
'R', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.REDSTONE.ordinal()));
recipeDrillSpeedI = RecipeUtil.lastIRecipe();
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemDrillUpgradeSpeedII),
"ISI", "SCS", "ISI",
'I', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.IRON.ordinal()),
'S', Items.SUGAR,
2017-06-17 00:48:49 +02:00
'C', Items.CAKE);
recipeDrillSpeedII = RecipeUtil.lastIRecipe();
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemDrillUpgradeSpeedIII),
"ISI", "SFS", "ISI",
'I', new ItemStack(InitItems.itemCrystalEmpowered, 1, TheCrystals.IRON.ordinal()),
'S', Items.SUGAR,
2017-06-17 00:48:49 +02:00
'F', new ItemStack(InitItems.itemCrystalEmpowered, 1, TheCrystals.DIAMOND.ordinal()));
recipeDrillSpeedIII = RecipeUtil.lastIRecipe();
2015-06-21 02:28:49 +02:00
//Drill Fortune
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemDrillUpgradeFortune),
"ISI", "SRS", "ISI",
'I', Blocks.GLOWSTONE,
'S', Items.REDSTONE,
2017-06-17 00:48:49 +02:00
'R', new ItemStack(InitBlocks.blockCrystalEmpowered, 1, TheCrystals.DIAMOND.ordinal()));
recipeDrillFortuneI = RecipeUtil.lastIRecipe();
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemDrillUpgradeFortuneII),
"ISI", "SRS", "ISI",
'I', Blocks.GLOWSTONE,
'S', new ItemStack(InitItems.itemCrystalEmpowered, 1, TheCrystals.REDSTONE.ordinal()),
2017-06-17 00:48:49 +02:00
'R', new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.ENDER_CASING.ordinal()));
recipeDrillFortuneII = RecipeUtil.lastIRecipe();
2015-06-21 02:28:49 +02:00
//Drill Size
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemDrillUpgradeThreeByThree),
"DID", "ICI", "DID",
'I', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.IRON.ordinal()),
'D', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.DIAMOND.ordinal()),
2017-06-17 00:48:49 +02:00
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL.ordinal()));
recipeDrillThree = RecipeUtil.lastIRecipe();
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemDrillUpgradeFiveByFive),
"DID", "ICI", "DID",
'I', new ItemStack(InitItems.itemCrystalEmpowered, 1, TheCrystals.IRON.ordinal()),
'D', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.DIAMOND.ordinal()),
2017-06-17 00:48:49 +02:00
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()));
recipeDrillFive = RecipeUtil.lastIRecipe();
2015-06-21 02:28:49 +02:00
//Drill Silk Touch
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemDrillUpgradeSilkTouch),
"DSD", "SCS", "DSD",
'D', new ItemStack(InitItems.itemCrystalEmpowered, 1, TheCrystals.EMERALD.ordinal()),
'S', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.DIAMOND.ordinal()),
2017-06-17 00:48:49 +02:00
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()));
recipeDrillSilk = RecipeUtil.lastIRecipe();
2015-06-21 02:28:49 +02:00
//Drill Placing
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemDrillUpgradeBlockPlacing),
"CEC", "RAR", "CEC",
'C', "cobblestone",
'E', Items.PAPER,
'A', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL.ordinal()),
2017-06-17 00:48:49 +02:00
'R', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.IRON.ordinal()));
recipeDrillPlacing = RecipeUtil.lastIRecipe();
2015-06-21 02:28:49 +02:00
//Battery
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemBattery),
" R ", "ICI", "III",
'R', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.REDSTONE.ordinal()),
'I', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.IRON.ordinal()),
2017-06-17 00:48:49 +02:00
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()));
recipeBattery = RecipeUtil.lastIRecipe();
2015-06-21 02:28:49 +02:00
//Double Battery
2018-05-10 11:38:58 +02:00
new RecipeKeepDataShaped(new ResourceLocation(ActuallyAdditions.MODID, "double_battery"), new ItemStack(InitItems.itemBatteryDouble), new ItemStack(InitItems.itemBattery),
" R ", "ICI", "III",
'R', new ItemStack(InitItems.itemBattery),
'I', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.IRON.ordinal()),
2017-06-17 00:48:49 +02:00
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()));
recipeBatteryDouble = RecipeUtil.lastIRecipe();
//Magnet Ring
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemMagnetRing),
"RIB", "IOI", "BIR",
'R', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.REDSTONE.ordinal()),
'I', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.IRON.ordinal()),
'B', new ItemStack(Items.DYE, 1, 4),
2017-06-17 00:48:49 +02:00
'O', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.RING.ordinal()));
recipeMagnetRing = RecipeUtil.lastIRecipe();
//Growth Ring
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemGrowthRing),
"SIS", "IOI", "SIS",
'S', new ItemStack(Items.WHEAT_SEEDS),
'I', new ItemStack(InitItems.itemCrystalEmpowered, 1, TheCrystals.IRON.ordinal()),
2017-06-17 00:48:49 +02:00
'O', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.RING.ordinal()));
recipeGrowthRing = RecipeUtil.lastIRecipe();
//Water Ring
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemWaterRemovalRing),
"BIB", "IOI", "BIB",
'B', new ItemStack(Items.WATER_BUCKET),
'I', new ItemStack(InitItems.itemCrystalEmpowered, 1, TheCrystals.DIAMOND.ordinal()),
2017-06-17 00:48:49 +02:00
'O', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.RING.ordinal()));
recipeWaterRing = RecipeUtil.lastIRecipe();
//Triple Battery
2018-05-10 11:38:58 +02:00
new RecipeKeepDataShaped(new ResourceLocation(ActuallyAdditions.MODID, "triple_battery"), new ItemStack(InitItems.itemBatteryTriple), new ItemStack(InitItems.itemBatteryDouble),
" R ", "ICI", "III",
'R', new ItemStack(InitItems.itemBatteryDouble),
'I', new ItemStack(InitItems.itemCrystalEmpowered, 1, TheCrystals.IRON.ordinal()),
2017-06-17 00:48:49 +02:00
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()));
recipeBatteryTriple = RecipeUtil.lastIRecipe();
//Quadruple Battery
2018-05-10 11:38:58 +02:00
new RecipeKeepDataShaped(new ResourceLocation(ActuallyAdditions.MODID, "quadruple_battery"), new ItemStack(InitItems.itemBatteryQuadruple), new ItemStack(InitItems.itemBatteryTriple),
" R ", "ICI", "III",
'R', new ItemStack(InitItems.itemBatteryTriple),
'I', new ItemStack(InitItems.itemCrystalEmpowered, 1, TheCrystals.IRON.ordinal()),
2017-06-17 00:48:49 +02:00
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()));
recipeBatteryQuadruple = RecipeUtil.lastIRecipe();
//Quintuple Battery
2018-05-10 11:38:58 +02:00
new RecipeKeepDataShaped(new ResourceLocation(ActuallyAdditions.MODID, "quintuple_battery"), new ItemStack(InitItems.itemBatteryQuintuple), new ItemStack(InitItems.itemBatteryQuadruple),
" R ", "ICI", "III",
'R', new ItemStack(InitItems.itemBatteryQuadruple),
'I', new ItemStack(InitItems.itemCrystalEmpowered, 1, TheCrystals.DIAMOND.ordinal()),
2017-06-17 00:48:49 +02:00
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()));
recipeBatteryQuintuple = RecipeUtil.lastIRecipe();
//Bat Wings
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemWingsOfTheBats),
"WNW", "WDW", "WNW",
'W', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.BAT_WING.ordinal()),
'N', new ItemStack(InitBlocks.blockCrystalEmpowered, 1, TheCrystals.DIAMOND.ordinal()),
2017-06-17 00:48:49 +02:00
'D', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.ENDER_STAR.ordinal()));
recipeWings = RecipeUtil.lastIRecipe();
//Coil
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL.ordinal()),
" R ", "RIR", " R ",
'I', ConfigBoolValues.SUPER_DUPER_HARD_MODE.isEnabled() ? new ItemStack(InitItems.itemMisc, 1, TheMiscItems.ENDER_STAR.ordinal()) : new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()),
2019-02-27 19:53:05 +01:00
'R', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.REDSTONE.ordinal()));
recipeCoil = RecipeUtil.lastIRecipe();
//Cup
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.CUP.ordinal()),
"S S", "SCS", "SSS",
'S', "stone",
2019-03-03 23:24:25 +01:00
'C', "cropCoffee");
recipeCup = RecipeUtil.lastIRecipe();
2015-05-20 22:39:43 +02:00
//Resonant Rice
if(!OreDictionary.getOres("nuggetEnderium", false).isEmpty()){
2017-06-17 00:48:49 +02:00
RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitItems.itemResonantRice),
new ItemStack(InitItems.itemFoods, 1, TheFoods.RICE.ordinal()), "nuggetEnderium", Items.GUNPOWDER);
2015-08-29 15:40:12 +02:00
}
2015-05-20 22:39:43 +02:00
//Advanced Coil
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()),
"GGG", "GCG", "GGG",
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL.ordinal()),
2017-06-17 00:48:49 +02:00
'G', "nuggetGold");
recipeCoilAdvanced = RecipeUtil.lastIRecipe();
2015-03-29 15:29:05 +02:00
//Advanced Leaf Blower
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemLeafBlowerAdvanced),
" F", "DP", "DC",
'F', new ItemStack(Items.FLINT),
'D', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.DIAMOND.ordinal()),
'P', new ItemStack(Blocks.PISTON),
2017-06-17 00:48:49 +02:00
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()));
recipeLeafBlowerAdvanced = RecipeUtil.lastIRecipe();
2015-03-29 15:29:05 +02:00
2015-05-20 22:39:43 +02:00
//Phantom Connector
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemPhantomConnector),
"YE", "EY", "S ",
'Y', Items.ENDER_EYE,
'E', Items.ENDER_PEARL,
2017-06-17 00:48:49 +02:00
'S', "stickWood");
recipePhantomConnector = RecipeUtil.lastIRecipe();
2015-05-20 22:39:43 +02:00
//Player Probe
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemPlayerProbe),
"A A", "AIA", "RHR",
'A', new ItemStack(Blocks.IRON_BARS),
'R', new ItemStack(InitItems.itemCrystalEmpowered, 1, TheCrystals.REDSTONE.ordinal()),
'H', new ItemStack(Items.SKULL, 1, 1),
2017-06-17 00:48:49 +02:00
'I', new ItemStack(Items.IRON_HELMET));
recipePlayerProbe = RecipeUtil.lastIRecipe();
2015-03-08 14:58:26 +01:00
//Quartz
GameRegistry.addSmelting(new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.ORE_QUARTZ.ordinal()),
new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()), 1F);
2015-03-08 14:58:26 +01:00
//Knife
2017-06-17 00:48:49 +02:00
RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitItems.itemKnife),
new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_BLADE.ordinal()),
2017-06-17 00:48:49 +02:00
new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_HANDLE.ordinal()));
recipeKnife = RecipeUtil.lastIRecipe();
//Crafter on a Stick
2017-06-17 00:48:49 +02:00
RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitItems.itemCrafterOnAStick),
new ItemStack(Blocks.CRAFTING_TABLE),
2017-06-17 00:48:49 +02:00
new ItemStack(Items.SIGN));
2015-05-20 22:39:43 +02:00
//Tiny Coal
if(ConfigBoolValues.TINY_COAL_STUFF.isEnabled()){
2017-06-17 00:48:49 +02:00
RecipeHandler.addShapelessRecipe(new ItemStack(InitItems.itemMisc, 8, TheMiscItems.TINY_COAL.ordinal()),
new ItemStack(Items.COAL));
recipeTinyCoal = RecipeUtil.lastIRecipe();
2017-06-17 00:48:49 +02:00
RecipeHandler.addShapelessRecipe(new ItemStack(InitItems.itemMisc, 8, TheMiscItems.TINY_CHAR.ordinal()),
new ItemStack(Items.COAL, 1, 1));
recipeTinyChar = RecipeUtil.lastIRecipe();
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(Items.COAL),
"CCC", "C C", "CCC",
2017-06-17 00:48:49 +02:00
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.TINY_COAL.ordinal()));
RecipeHandler.addOreDictRecipe(new ItemStack(Items.COAL, 1, 1),
"CCC", "C C", "CCC",
2017-06-17 00:48:49 +02:00
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.TINY_CHAR.ordinal()));
}
2015-05-20 22:39:43 +02:00
//Rice Seeds
2017-06-17 00:48:49 +02:00
RecipeHandler.addShapelessRecipe(new ItemStack(InitItems.itemRiceSeed),
2015-05-20 22:39:43 +02:00
new ItemStack(InitItems.itemFoods, 1, TheFoods.RICE.ordinal()));
//Canola Seeds
2017-06-17 00:48:49 +02:00
RecipeHandler.addShapelessRecipe(new ItemStack(InitItems.itemCanolaSeed),
2015-05-20 22:39:43 +02:00
new ItemStack(InitItems.itemMisc, 1, TheMiscItems.CANOLA.ordinal()));
2015-03-31 20:37:55 +02:00
//Rings
initPotionRingRecipes();
2015-03-08 14:58:26 +01:00
//Ingots from Dusts
GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.IRON.ordinal()),
2016-04-20 21:39:03 +02:00
new ItemStack(Items.IRON_INGOT), 1F);
2015-03-08 14:58:26 +01:00
GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.GOLD.ordinal()),
2016-04-20 21:39:03 +02:00
new ItemStack(Items.GOLD_INGOT), 1F);
2015-03-08 14:58:26 +01:00
GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.DIAMOND.ordinal()),
2016-04-20 21:39:03 +02:00
new ItemStack(Items.DIAMOND), 1F);
2015-03-08 14:58:26 +01:00
GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.EMERALD.ordinal()),
2016-04-20 21:39:03 +02:00
new ItemStack(Items.EMERALD), 1F);
2015-03-08 14:58:26 +01:00
GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.LAPIS.ordinal()),
2016-04-20 21:39:03 +02:00
new ItemStack(Items.DYE, 1, 4), 1F);
2015-03-08 14:58:26 +01:00
GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.QUARTZ_BLACK.ordinal()),
new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()), 1F);
GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.QUARTZ.ordinal()),
2016-04-20 21:39:03 +02:00
new ItemStack(Items.QUARTZ), 1F);
2018-03-13 15:19:52 +01:00
GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.COAL.ordinal()),
new ItemStack(Items.COAL), 1F);
2015-03-07 12:51:28 +01:00
}
2015-03-31 20:37:55 +02:00
public static void initPotionRingRecipes(){
2017-06-17 00:48:49 +02:00
RecipeHandler.addOreDictRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.RING.ordinal()),
2015-03-31 20:37:55 +02:00
"IGI", "GDG", "IGI",
'G', "ingotGold",
'I', "ingotIron",
2017-06-17 00:48:49 +02:00
'D', "dustGlowstone");
2016-03-18 18:41:37 +01:00
recipeRing = RecipeUtil.lastIRecipe();
2015-03-31 20:37:55 +02:00
addRingRecipeWithStack(ThePotionRings.SPEED.craftingItem, ThePotionRings.SPEED.ordinal());
addRingRecipeWithStack(ThePotionRings.HASTE.craftingItem, ThePotionRings.HASTE.ordinal());
addRingRecipeWithStack(ThePotionRings.STRENGTH.craftingItem, ThePotionRings.STRENGTH.ordinal());
addRingRecipeWithStack(ThePotionRings.JUMP_BOOST.craftingItem, ThePotionRings.JUMP_BOOST.ordinal());
addRingRecipeWithStack(ThePotionRings.REGEN.craftingItem, ThePotionRings.REGEN.ordinal());
addRingRecipeWithStack(ThePotionRings.RESISTANCE.craftingItem, ThePotionRings.RESISTANCE.ordinal());
addRingRecipeWithStack(ThePotionRings.FIRE_RESISTANCE.craftingItem, ThePotionRings.FIRE_RESISTANCE.ordinal());
addRingRecipeWithStack(ThePotionRings.WATER_BREATHING.craftingItem, ThePotionRings.WATER_BREATHING.ordinal());
addRingRecipeWithStack(ThePotionRings.INVISIBILITY.craftingItem, ThePotionRings.INVISIBILITY.ordinal());
addRingRecipeWithStack(ThePotionRings.NIGHT_VISION.craftingItem, ThePotionRings.NIGHT_VISION.ordinal());
}
public static void addRingRecipeWithStack(ItemStack mainStack, int meta){
ItemStack potion = new ItemStack(Items.POTIONITEM);
PotionUtils.addPotionToItemStack(potion, PotionTypes.AWKWARD);
2017-06-17 00:48:49 +02:00
RecipeHandler.addShapelessRecipe(new ItemStack(InitItems.itemPotionRing, 1, meta), mainStack, mainStack, mainStack, mainStack, new ItemStack(InitBlocks.blockCrystal, 1, TheCrystals.DIAMOND.ordinal()), new ItemStack(Items.NETHER_WART), potion, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.RING.ordinal()));
2016-06-17 23:50:38 +02:00
RECIPES_POTION_RINGS.add(RecipeUtil.lastIRecipe());
2017-06-17 00:48:49 +02:00
RecipeHandler.addShapelessRecipe(new ItemStack(InitItems.itemPotionRingAdvanced, 1, meta), new ItemStack(InitItems.itemPotionRing, 1, meta), new ItemStack(InitItems.itemMisc, 1, TheMiscItems.ENDER_STAR.ordinal()));
2016-06-17 23:50:38 +02:00
RECIPES_POTION_RINGS.add(RecipeUtil.lastIRecipe());
2015-03-31 20:37:55 +02:00
}
2015-12-01 23:41:33 +01:00
}