Search in sources :

Example 1 with ShapelessOreRecipe

use of net.minecraftforge.oredict.ShapelessOreRecipe in project BluePower by Qmunity.

the class AlloyFurnaceRegistry method generateRecyclingRecipes.

@SuppressWarnings("unchecked")
public void generateRecyclingRecipes() {
    Collections.addAll(blacklist, Config.alloyFurnaceBlacklist);
    List<Item> blacklist = new ArrayList<Item>();
    for (String configString : this.blacklist) {
        Item item = GameData.getItemRegistry().getObject(configString);
        if (item != null) {
            blacklist.add(item);
        } else {
            BluePower.log.info("Config entry \"" + configString + "\" not an existing item/block name! Will not be added to the blacklist");
        }
    }
    List<ItemStack> registeredRecycledItems = new ArrayList<ItemStack>();
    List<ItemStack> registeredResultItems = new ArrayList<ItemStack>();
    List<IRecipe> recipes = CraftingManager.getInstance().getRecipeList();
    for (IRecipe recipe : recipes) {
        int recyclingAmount = 0;
        ItemStack currentlyRecycledInto = null;
        for (ItemStack recyclingItem : bufferedRecyclingItems) {
            try {
                if (recipe instanceof ShapedRecipes) {
                    ShapedRecipes shaped = (ShapedRecipes) recipe;
                    if (shaped.recipeItems != null) {
                        for (ItemStack input : shaped.recipeItems) {
                            if (input != null && ItemStackUtils.isItemFuzzyEqual(input, recyclingItem)) {
                                ItemStack moltenDownItem = getRecyclingStack(recyclingItem);
                                if (currentlyRecycledInto == null || ItemStackUtils.isItemFuzzyEqual(currentlyRecycledInto, moltenDownItem)) {
                                    currentlyRecycledInto = moltenDownItem;
                                    recyclingAmount += moltenDownItem.stackSize;
                                }
                            }
                        }
                    }
                } else if (recipe instanceof ShapelessRecipes) {
                    ShapelessRecipes shapeless = (ShapelessRecipes) recipe;
                    if (shapeless.recipeItems != null) {
                        for (ItemStack input : (List<ItemStack>) shapeless.recipeItems) {
                            if (input != null && ItemStackUtils.isItemFuzzyEqual(input, recyclingItem)) {
                                ItemStack moltenDownItem = getRecyclingStack(recyclingItem);
                                if (currentlyRecycledInto == null || ItemStackUtils.isItemFuzzyEqual(currentlyRecycledInto, moltenDownItem)) {
                                    currentlyRecycledInto = moltenDownItem;
                                    recyclingAmount += moltenDownItem.stackSize;
                                }
                            }
                        }
                    }
                } else if (recipe instanceof ShapedOreRecipe) {
                    ShapedOreRecipe shapedOreRecipe = (ShapedOreRecipe) recipe;
                    if (shapedOreRecipe.getInput() != null) {
                        for (Object input : shapedOreRecipe.getInput()) {
                            if (input != null) {
                                List<ItemStack> itemList;
                                if (input instanceof ItemStack) {
                                    itemList = new ArrayList<ItemStack>();
                                    itemList.add((ItemStack) input);
                                } else {
                                    itemList = (List<ItemStack>) input;
                                }
                                for (ItemStack item : itemList) {
                                    if (item != null && ItemStackUtils.isItemFuzzyEqual(item, recyclingItem)) {
                                        ItemStack moltenDownItem = getRecyclingStack(recyclingItem);
                                        if (currentlyRecycledInto == null || ItemStackUtils.isItemFuzzyEqual(currentlyRecycledInto, moltenDownItem)) {
                                            currentlyRecycledInto = moltenDownItem;
                                            recyclingAmount += moltenDownItem.stackSize;
                                        }
                                        break;
                                    }
                                }
                            }
                        }
                    }
                } else if (recipe instanceof ShapelessOreRecipe) {
                    ShapelessOreRecipe shapeless = (ShapelessOreRecipe) recipe;
                    for (Object input : shapeless.getInput()) {
                        if (input != null) {
                            List<ItemStack> itemList;
                            if (input instanceof ItemStack) {
                                itemList = new ArrayList<ItemStack>();
                                itemList.add((ItemStack) input);
                            } else {
                                itemList = (List<ItemStack>) input;
                            }
                            for (ItemStack item : itemList) {
                                if (item != null && ItemStackUtils.isItemFuzzyEqual(item, recyclingItem)) {
                                    ItemStack moltenDownItem = getRecyclingStack(recyclingItem);
                                    if (currentlyRecycledInto == null || ItemStackUtils.isItemFuzzyEqual(currentlyRecycledInto, moltenDownItem)) {
                                        currentlyRecycledInto = moltenDownItem;
                                        recyclingAmount += moltenDownItem.stackSize;
                                    }
                                    break;
                                }
                            }
                        }
                    }
                }
            } catch (Throwable e) {
                BluePower.log.error("Error when generating an Alloy Furnace recipe for item " + recyclingItem.getDisplayName() + ", recipe output: " + recipe.getRecipeOutput().getDisplayName());
                e.printStackTrace();
            }
        }
        if (recyclingAmount > 0 && recipe.getRecipeOutput().stackSize > 0) {
            boolean shouldAdd = true;
            for (int i = 0; i < registeredRecycledItems.size(); i++) {
                if (ItemStackUtils.isItemFuzzyEqual(registeredRecycledItems.get(i), recipe.getRecipeOutput())) {
                    if (registeredResultItems.get(i).stackSize < recyclingAmount) {
                        shouldAdd = false;
                        break;
                    } else {
                        registeredResultItems.remove(i);
                        registeredRecycledItems.remove(i);
                        i--;
                    }
                }
            }
            if (shouldAdd) {
                if (blacklist.contains(recipe.getRecipeOutput().getItem())) {
                    BluePower.log.info("Skipped adding item/block " + recipe.getRecipeOutput().getDisplayName() + " to the Alloy Furnace recipes.");
                    continue;
                }
                ItemStack resultItem = new ItemStack(currentlyRecycledInto.getItem(), Math.min(64, recyclingAmount), currentlyRecycledInto.getItemDamage());
                registeredResultItems.add(resultItem);
                registeredRecycledItems.add(recipe.getRecipeOutput());
            }
        }
    }
    for (int i = 0; i < registeredResultItems.size(); i++) {
        addRecipe(registeredResultItems.get(i), registeredRecycledItems.get(i));
    }
}
Also used : ShapedRecipes(net.minecraft.item.crafting.ShapedRecipes) IRecipe(net.minecraft.item.crafting.IRecipe) ShapedOreRecipe(net.minecraftforge.oredict.ShapedOreRecipe) ArrayList(java.util.ArrayList) Item(net.minecraft.item.Item) ShapelessOreRecipe(net.minecraftforge.oredict.ShapelessOreRecipe) ArrayList(java.util.ArrayList) List(java.util.List) ItemStack(net.minecraft.item.ItemStack) ShapelessRecipes(net.minecraft.item.crafting.ShapelessRecipes)

Example 2 with ShapelessOreRecipe

use of net.minecraftforge.oredict.ShapelessOreRecipe in project PneumaticCraft by MineMaarten.

the class ClientProxy method init.

@Override
public void init() {
    for (int i = 0; i < 16; i++) {
        //Only register these recipes client side, so NEI compatibility works, but drones don't lose their program when dyed.
        ItemStack drone = new ItemStack(Itemss.drone);
        NBTTagCompound tag = new NBTTagCompound();
        tag.setInteger("color", ItemDye.field_150922_c[i]);
        drone.setTagCompound(tag);
        GameRegistry.addRecipe(new ShapelessOreRecipe(drone, Itemss.drone, TileEntityPlasticMixer.DYES[i]));
    }
    CraftingRegistrator.addShapelessRecipe(new ItemStack(Itemss.drone), new ItemStack(Itemss.logisticsDrone), Itemss.printedCircuitBoard);
    ThirdPartyManager.instance().clientInit();
}
Also used : NBTTagCompound(net.minecraft.nbt.NBTTagCompound) ShapelessOreRecipe(net.minecraftforge.oredict.ShapelessOreRecipe) ItemStack(net.minecraft.item.ItemStack)

Example 3 with ShapelessOreRecipe

use of net.minecraftforge.oredict.ShapelessOreRecipe in project MineFactoryReloaded by powercrystals.

the class Vanilla method registerVanillaImprovements.

protected void registerVanillaImprovements() {
    if (_registeredVanillaImprovements) {
        return;
    }
    _registeredVanillaImprovements = true;
    FurnaceRecipes.smelting().addSmelting(MineFactoryReloadedCore.rawRubberItem.itemID, 0, new ItemStack(MineFactoryReloadedCore.rubberBarItem), 0.1F);
    FurnaceRecipes.smelting().addSmelting(MineFactoryReloadedCore.rubberWoodBlock.blockID, 0, new ItemStack(Item.coal, 1, 1), 0.1F);
    GameRegistry.addShapelessRecipe(new ItemStack(Block.planks, 3, 3), new ItemStack(MineFactoryReloadedCore.rubberWoodBlock));
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Block.torchWood, 4), new Object[] { "R", "S", 'R', MineFactoryReloadedCore.rawRubberItem, 'S', "stickWood" }));
    GameRegistry.addRecipe(new ItemStack(Block.pistonStickyBase), new Object[] { "R", "P", 'R', MineFactoryReloadedCore.rawRubberItem, 'P', Block.pistonBase });
    if (MFRConfig.vanillaOverrideIce.getBoolean(true)) {
        GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(Block.ice, 1, 1), new ItemStack(Block.ice, 1, 0), "dustPlastic"));
    }
    if (MFRConfig.enableMossyCobbleRecipe.getBoolean(true)) {
        GameRegistry.addShapelessRecipe(new ItemStack(Block.cobblestoneMossy), new Object[] { Block.cobblestone, Item.bucketWater, Item.wheat });
    }
    GameRegistry.addShapelessRecipe(new ItemStack(MineFactoryReloadedCore.milkBottleItem), new Object[] { Item.bucketMilk, Item.glassBottle });
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Block.torchWood, 1), new Object[] { "C", "S", 'C', MineFactoryReloadedCore.sugarCharcoalItem, 'S', "stickWood" }));
}
Also used : ShapedOreRecipe(net.minecraftforge.oredict.ShapedOreRecipe) ShapelessOreRecipe(net.minecraftforge.oredict.ShapelessOreRecipe) ItemStack(net.minecraft.item.ItemStack)

Example 4 with ShapelessOreRecipe

use of net.minecraftforge.oredict.ShapelessOreRecipe in project ImmersiveEngineering by BluSunrize.

the class IEContent method init.

public static void init() {
    /**TILEENTITIES*/
    registerTile(TileEntityIESlab.class);
    registerTile(TileEntityBalloon.class);
    registerTile(TileEntityStripCurtain.class);
    registerTile(TileEntityCokeOven.class);
    registerTile(TileEntityBlastFurnace.class);
    registerTile(TileEntityBlastFurnaceAdvanced.class);
    registerTile(TileEntityCoresample.class);
    registerTile(TileEntityWoodenCrate.class);
    registerTile(TileEntityWoodenBarrel.class);
    registerTile(TileEntityModWorkbench.class);
    registerTile(TileEntitySorter.class);
    registerTile(TileEntityTurntable.class);
    registerTile(TileEntityFluidSorter.class);
    registerTile(TileEntityWatermill.class);
    registerTile(TileEntityWindmill.class);
    registerTile(TileEntityWindmillAdvanced.class);
    registerTile(TileEntityWoodenPost.class);
    registerTile(TileEntityWallmount.class);
    registerTile(TileEntityLantern.class);
    registerTile(TileEntityRazorWire.class);
    registerTile(TileEntityToolbox.class);
    registerTile(TileEntityConnectorLV.class);
    registerTile(TileEntityRelayLV.class);
    registerTile(TileEntityConnectorMV.class);
    registerTile(TileEntityRelayMV.class);
    registerTile(TileEntityConnectorHV.class);
    registerTile(TileEntityRelayHV.class);
    registerTile(TileEntityConnectorStructural.class);
    registerTile(TileEntityTransformer.class);
    registerTile(TileEntityTransformerHV.class);
    registerTile(TileEntityBreakerSwitch.class);
    registerTile(TileEntityRedstoneBreaker.class);
    registerTile(TileEntityEnergyMeter.class);
    registerTile(TileEntityConnectorRedstone.class);
    registerTile(TileEntityCapacitorLV.class);
    registerTile(TileEntityCapacitorMV.class);
    registerTile(TileEntityCapacitorHV.class);
    registerTile(TileEntityCapacitorCreative.class);
    registerTile(TileEntityMetalBarrel.class);
    registerTile(TileEntityFluidPump.class);
    registerTile(TileEntityFluidPlacer.class);
    registerTile(TileEntityBlastFurnacePreheater.class);
    registerTile(TileEntityFurnaceHeater.class);
    registerTile(TileEntityDynamo.class);
    registerTile(TileEntityThermoelectricGen.class);
    registerTile(TileEntityElectricLantern.class);
    registerTile(TileEntityChargingStation.class);
    registerTile(TileEntityFluidPipe.class);
    registerTile(TileEntitySampleDrill.class);
    registerTile(TileEntityTeslaCoil.class);
    registerTile(TileEntityFloodlight.class);
    registerTile(TileEntityTurret.class);
    registerTile(TileEntityTurretChem.class);
    registerTile(TileEntityTurretGun.class);
    registerTile(TileEntityBelljar.class);
    registerTile(TileEntityConveyorBelt.class);
    registerTile(TileEntityConveyorVertical.class);
    registerTile(TileEntityMetalPress.class);
    registerTile(TileEntityCrusher.class);
    registerTile(TileEntitySheetmetalTank.class);
    registerTile(TileEntitySilo.class);
    registerTile(TileEntityAssembler.class);
    registerTile(TileEntityAutoWorkbench.class);
    registerTile(TileEntityBottlingMachine.class);
    registerTile(TileEntitySqueezer.class);
    registerTile(TileEntityFermenter.class);
    registerTile(TileEntityRefinery.class);
    registerTile(TileEntityDieselGenerator.class);
    registerTile(TileEntityBucketWheel.class);
    registerTile(TileEntityExcavator.class);
    registerTile(TileEntityArcFurnace.class);
    registerTile(TileEntityLightningrod.class);
    registerTile(TileEntityMixer.class);
    //
    //		registerTile(TileEntitySkycrateDispenser.class);
    //		registerTile(TileEntityFloodlight.class);
    //
    registerTile(TileEntityFakeLight.class);
    /**ENTITIES*/
    int i = 0;
    EntityRegistry.registerModEntity(EntityRevolvershot.class, "revolverShot", i++, ImmersiveEngineering.instance, 64, 1, true);
    EntityRegistry.registerModEntity(EntitySkylineHook.class, "skylineHook", i++, ImmersiveEngineering.instance, 64, 1, true);
    //EntityRegistry.registerModEntity(EntitySkycrate.class, "skylineCrate", 2, ImmersiveEngineering.instance, 64, 1, true);
    EntityRegistry.registerModEntity(EntityRevolvershotHoming.class, "revolverShotHoming", i++, ImmersiveEngineering.instance, 64, 1, true);
    EntityRegistry.registerModEntity(EntityWolfpackShot.class, "revolverShotWolfpack", i++, ImmersiveEngineering.instance, 64, 1, true);
    EntityRegistry.registerModEntity(EntityChemthrowerShot.class, "chemthrowerShot", i++, ImmersiveEngineering.instance, 64, 1, true);
    EntityRegistry.registerModEntity(EntityRailgunShot.class, "railgunShot", i++, ImmersiveEngineering.instance, 64, 5, true);
    EntityRegistry.registerModEntity(EntityRevolvershotFlare.class, "revolverShotFlare", i++, ImmersiveEngineering.instance, 64, 1, true);
    EntityRegistry.registerModEntity(EntityIEExplosive.class, "explosive", i++, ImmersiveEngineering.instance, 64, 1, true);
    EntityRegistry.registerModEntity(EntityFluorescentTube.class, "fluorescentTube", i++, ImmersiveEngineering.instance, 64, 1, true);
    CapabilityShader.register();
    ShaderRegistry.itemShader = IEContent.itemShader;
    ShaderRegistry.itemShaderBag = IEContent.itemShaderBag;
    ShaderRegistry.itemExamples.add(new ItemStack(IEContent.itemRevolver));
    ShaderRegistry.itemExamples.add(new ItemStack(IEContent.itemDrill));
    ShaderRegistry.itemExamples.add(new ItemStack(IEContent.itemChemthrower));
    ShaderRegistry.itemExamples.add(new ItemStack(IEContent.itemRailgun));
    /**WOLFPACK BULLETS*/
    if (!BulletHandler.homingCartridges.isEmpty()) {
        BulletHandler.registerBullet("wolfpack", new WolfpackBullet());
        BulletHandler.registerBullet("wolfpackPart", new WolfpackPartBullet());
    }
    /**SMELTING*/
    IERecipes.initFurnaceRecipes();
    /**CRAFTING*/
    IERecipes.initCraftingRecipes();
    /**BLUEPRINTS*/
    IERecipes.initBlueprintRecipes();
    /**POTIONS*/
    IEPotions.init();
    /**BANNERS*/
    addBanner("hammer", "hmr", new ItemStack(itemTool, 1, 0));
    addBanner("bevels", "bvl", "plateIron");
    addBanner("ornate", "orn", "dustSilver");
    addBanner("treatedwood", "twd", "plankTreatedWood");
    addBanner("windmill", "wnd", new ItemStack[] { new ItemStack(blockWoodenDevice1, 1, BlockTypes_WoodenDevice1.WINDMILL.getMeta()), new ItemStack(blockWoodenDevice1, 1, BlockTypes_WoodenDevice1.WINDMILL_ADVANCED.getMeta()) });
    if (!BulletHandler.homingCartridges.isEmpty()) {
        ItemStack wolfpackCartridge = BulletHandler.getBulletStack("wolfpack");
        addBanner("wolf_r", "wlfr", wolfpackCartridge, 1);
        addBanner("wolf_l", "wlfl", wolfpackCartridge, -1);
        addBanner("wolf", "wlf", wolfpackCartridge, 0, 0);
    }
    /**CONVEYORS*/
    ConveyorHandler.registerMagnetSupression((entity, iConveyorTile) -> {
        NBTTagCompound data = entity.getEntityData();
        if (!data.getBoolean(Lib.MAGNET_PREVENT_NBT))
            data.setBoolean(Lib.MAGNET_PREVENT_NBT, true);
    }, (entity, iConveyorTile) -> {
        entity.getEntityData().removeTag(Lib.MAGNET_PREVENT_NBT);
    });
    ConveyorHandler.registerConveyorHandler(new ResourceLocation(ImmersiveEngineering.MODID, "conveyor"), ConveyorBasic.class, (tileEntity) -> new ConveyorBasic());
    ConveyorHandler.registerConveyorHandler(new ResourceLocation(ImmersiveEngineering.MODID, "uncontrolled"), ConveyorUncontrolled.class, (tileEntity) -> new ConveyorUncontrolled());
    ConveyorHandler.registerConveyorHandler(new ResourceLocation(ImmersiveEngineering.MODID, "dropper"), ConveyorDrop.class, (tileEntity) -> new ConveyorDrop());
    ConveyorHandler.registerConveyorHandler(new ResourceLocation(ImmersiveEngineering.MODID, "vertical"), ConveyorVertical.class, (tileEntity) -> new ConveyorVertical());
    ConveyorHandler.registerConveyorHandler(new ResourceLocation(ImmersiveEngineering.MODID, "splitter"), ConveyorSplit.class, (tileEntity) -> new ConveyorSplit(tileEntity instanceof IConveyorTile ? ((IConveyorTile) tileEntity).getFacing() : EnumFacing.NORTH));
    ConveyorHandler.registerConveyorHandler(new ResourceLocation(ImmersiveEngineering.MODID, "covered"), ConveyorCovered.class, (tileEntity) -> new ConveyorCovered());
    /**ASSEMBLER RECIPE ADAPTERS*/
    //Shaped
    AssemblerHandler.registerRecipeAdapter(ShapedRecipes.class, new IRecipeAdapter<ShapedRecipes>() {

        @Override
        public RecipeQuery[] getQueriedInputs(ShapedRecipes recipe) {
            AssemblerHandler.RecipeQuery[] query = new AssemblerHandler.RecipeQuery[recipe.recipeItems.length];
            for (int i = 0; i < query.length; i++) query[i] = AssemblerHandler.createQuery(recipe.recipeItems[i]);
            return query;
        }
    });
    //Shapeless
    AssemblerHandler.registerRecipeAdapter(ShapelessRecipes.class, new IRecipeAdapter<ShapelessRecipes>() {

        @Override
        public RecipeQuery[] getQueriedInputs(ShapelessRecipes recipe) {
            AssemblerHandler.RecipeQuery[] query = new AssemblerHandler.RecipeQuery[recipe.recipeItems.size()];
            for (int i = 0; i < query.length; i++) query[i] = AssemblerHandler.createQuery(recipe.recipeItems.get(i));
            return query;
        }
    });
    //ShapedOre
    AssemblerHandler.registerRecipeAdapter(ShapedOreRecipe.class, new IRecipeAdapter<ShapedOreRecipe>() {

        @Override
        public RecipeQuery[] getQueriedInputs(ShapedOreRecipe recipe) {
            AssemblerHandler.RecipeQuery[] query = new AssemblerHandler.RecipeQuery[recipe.getInput().length];
            for (int i = 0; i < query.length; i++) query[i] = AssemblerHandler.createQuery(recipe.getInput()[i]);
            return query;
        }
    });
    //ShapelessOre
    AssemblerHandler.registerRecipeAdapter(ShapelessOreRecipe.class, new IRecipeAdapter<ShapelessOreRecipe>() {

        @Override
        public RecipeQuery[] getQueriedInputs(ShapelessOreRecipe recipe) {
            AssemblerHandler.RecipeQuery[] query = new AssemblerHandler.RecipeQuery[recipe.getInput().size()];
            for (int i = 0; i < query.length; i++) query[i] = AssemblerHandler.createQuery(recipe.getInput().get(i));
            return query;
        }
    });
    //ShapedIngredient
    AssemblerHandler.registerRecipeAdapter(RecipeShapedIngredient.class, new IRecipeAdapter<RecipeShapedIngredient>() {

        @Override
        public RecipeQuery[] getQueriedInputs(RecipeShapedIngredient recipe) {
            AssemblerHandler.RecipeQuery[] query = new AssemblerHandler.RecipeQuery[recipe.getIngredients().length];
            for (int i = 0; i < query.length; i++) query[i] = AssemblerHandler.createQuery(recipe.getIngredients()[i]);
            return query;
        }
    });
    //ShapelessIngredient
    AssemblerHandler.registerRecipeAdapter(RecipeShapelessIngredient.class, new IRecipeAdapter<RecipeShapelessIngredient>() {

        @Override
        public RecipeQuery[] getQueriedInputs(RecipeShapelessIngredient recipe) {
            AssemblerHandler.RecipeQuery[] query = new AssemblerHandler.RecipeQuery[recipe.getIngredients().size()];
            for (int i = 0; i < query.length; i++) query[i] = AssemblerHandler.createQuery(recipe.getIngredients().get(i));
            return query;
        }
    });
    CokeOvenRecipe.addRecipe(new ItemStack(itemMaterial, 1, 6), new ItemStack(Items.COAL), 1800, 500);
    CokeOvenRecipe.addRecipe(new ItemStack(blockStoneDecoration, 1, 3), "blockCoal", 1800 * 9, 5000);
    CokeOvenRecipe.addRecipe(new ItemStack(Items.COAL, 1, 1), "logWood", 900, 250);
    BlastFurnaceRecipe.addRecipe(new ItemStack(itemMetal, 1, 8), "ingotIron", 1200, new ItemStack(itemMaterial, 1, 7));
    BlastFurnaceRecipe.addRecipe(new ItemStack(blockStorage, 1, 8), "blockIron", 1200 * 9, new ItemStack(itemMaterial, 9, 7));
    BlastFurnaceRecipe.addBlastFuel("fuelCoke", 1200);
    BlastFurnaceRecipe.addBlastFuel("blockFuelCoke", 1200 * 10);
    BlastFurnaceRecipe.addBlastFuel("charcoal", 300);
    BlastFurnaceRecipe.addBlastFuel("blockCharcoal", 300 * 10);
    GameRegistry.registerFuelHandler(new IEFuelHandler());
    IERecipes.initCrusherRecipes();
    IERecipes.initArcSmeltingRecipes();
    ItemStack shoddyElectrode = new ItemStack(itemGraphiteElectrode);
    shoddyElectrode.setItemDamage(ItemGraphiteElectrode.electrodeMaxDamage / 2);
    MetalPressRecipe.addRecipe(shoddyElectrode, "ingotHOPGraphite", new ItemStack(IEContent.itemMold, 1, 2), 4800).setInputSize(4);
    DieselHandler.registerFuel(fluidBiodiesel, 125);
    DieselHandler.registerFuel(FluidRegistry.getFluid("fuel"), 375);
    DieselHandler.registerFuel(FluidRegistry.getFluid("diesel"), 175);
    DieselHandler.registerDrillFuel(fluidBiodiesel);
    DieselHandler.registerDrillFuel(FluidRegistry.getFluid("fuel"));
    DieselHandler.registerDrillFuel(FluidRegistry.getFluid("diesel"));
    blockFluidCreosote.setPotionEffects(new PotionEffect(IEPotions.flammable, 100, 0));
    blockFluidEthanol.setPotionEffects(new PotionEffect(MobEffects.NAUSEA, 40, 0));
    blockFluidBiodiesel.setPotionEffects(new PotionEffect(IEPotions.flammable, 100, 1));
    blockFluidConcrete.setPotionEffects(new PotionEffect(MobEffects.SLOWNESS, 20, 3, false, false));
    ChemthrowerHandler.registerEffect(FluidRegistry.WATER, new ChemthrowerEffect_Extinguish());
    ChemthrowerHandler.registerEffect(fluidPotion, new ChemthrowerEffect() {

        @Override
        public void applyToEntity(EntityLivingBase target, @Nullable EntityPlayer shooter, ItemStack thrower, FluidStack fluid) {
            if (fluid.tag != null) {
                List<PotionEffect> effects = PotionUtils.getEffectsFromTag(fluid.tag);
                for (PotionEffect e : effects) {
                    PotionEffect newEffect = new PotionEffect(e.getPotion(), (int) Math.ceil(e.getDuration() * .05), e.getAmplifier());
                    newEffect.setCurativeItems(new ArrayList(e.getCurativeItems()));
                    target.addPotionEffect(newEffect);
                }
            }
        }

        @Override
        public void applyToEntity(EntityLivingBase target, @Nullable EntityPlayer shooter, ItemStack thrower, Fluid fluid) {
        }

        @Override
        public void applyToBlock(World worldObj, RayTraceResult mop, @Nullable EntityPlayer shooter, ItemStack thrower, FluidStack fluid) {
        }

        @Override
        public void applyToBlock(World worldObj, RayTraceResult mop, @Nullable EntityPlayer shooter, ItemStack thrower, Fluid fluid) {
        }
    });
    ChemthrowerHandler.registerEffect(fluidCreosote, new ChemthrowerEffect_Potion(null, 0, IEPotions.flammable, 140, 0));
    ChemthrowerHandler.registerFlammable(fluidCreosote);
    ChemthrowerHandler.registerEffect(fluidBiodiesel, new ChemthrowerEffect_Potion(null, 0, IEPotions.flammable, 140, 1));
    ChemthrowerHandler.registerFlammable(fluidBiodiesel);
    ChemthrowerHandler.registerFlammable(fluidEthanol);
    ChemthrowerHandler.registerEffect("oil", new ChemthrowerEffect_Potion(null, 0, new PotionEffect(IEPotions.flammable, 140, 0), new PotionEffect(MobEffects.BLINDNESS, 80, 1)));
    ChemthrowerHandler.registerFlammable("oil");
    ChemthrowerHandler.registerEffect("fuel", new ChemthrowerEffect_Potion(null, 0, IEPotions.flammable, 100, 1));
    ChemthrowerHandler.registerFlammable("fuel");
    ChemthrowerHandler.registerEffect("diesel", new ChemthrowerEffect_Potion(null, 0, IEPotions.flammable, 140, 1));
    ChemthrowerHandler.registerFlammable("diesel");
    ChemthrowerHandler.registerEffect("kerosene", new ChemthrowerEffect_Potion(null, 0, IEPotions.flammable, 100, 1));
    ChemthrowerHandler.registerFlammable("kerosene");
    ChemthrowerHandler.registerEffect("biofuel", new ChemthrowerEffect_Potion(null, 0, IEPotions.flammable, 140, 1));
    ChemthrowerHandler.registerFlammable("biofuel");
    ChemthrowerHandler.registerEffect("rocket_fuel", new ChemthrowerEffect_Potion(null, 0, IEPotions.flammable, 60, 2));
    ChemthrowerHandler.registerFlammable("rocket_fuel");
    RailgunHandler.registerProjectileProperties(new IngredientStack("stickIron"), 10, 1.25).setColourMap(new int[][] { { 0xd8d8d8, 0xd8d8d8, 0xd8d8d8, 0xa8a8a8, 0x686868, 0x686868 } });
    RailgunHandler.registerProjectileProperties(new IngredientStack("stickAluminum"), 9, 1.05).setColourMap(new int[][] { { 0xd8d8d8, 0xd8d8d8, 0xd8d8d8, 0xa8a8a8, 0x686868, 0x686868 } });
    RailgunHandler.registerProjectileProperties(new IngredientStack("stickSteel"), 12, 1.25).setColourMap(new int[][] { { 0xb4b4b4, 0xb4b4b4, 0xb4b4b4, 0x7a7a7a, 0x555555, 0x555555 } });
    RailgunHandler.registerProjectileProperties(new ItemStack(itemGraphiteElectrode), 16, .9).setColourMap(new int[][] { { 0x242424, 0x242424, 0x242424, 0x171717, 0x171717, 0x0a0a0a } });
    ExternalHeaterHandler.defaultFurnaceEnergyCost = IEConfig.Machines.heater_consumption;
    ExternalHeaterHandler.defaultFurnaceSpeedupCost = IEConfig.Machines.heater_speedupConsumption;
    ExternalHeaterHandler.registerHeatableAdapter(TileEntityFurnace.class, new DefaultFurnaceAdapter());
    SqueezerRecipe.addRecipe(new FluidStack(fluidPlantoil, 80), null, Items.WHEAT_SEEDS, 6400);
    SqueezerRecipe.addRecipe(new FluidStack(fluidPlantoil, 80), null, Items.PUMPKIN_SEEDS, 6400);
    SqueezerRecipe.addRecipe(new FluidStack(fluidPlantoil, 80), null, Items.MELON_SEEDS, 6400);
    SqueezerRecipe.addRecipe(new FluidStack(fluidPlantoil, 120), null, itemSeeds, 6400);
    SqueezerRecipe.addRecipe(null, new ItemStack(itemMaterial, 1, 18), new ItemStack(itemMaterial, 8, 17), 19200);
    Fluid fluidBlood = FluidRegistry.getFluid("blood");
    if (fluidBlood != null)
        SqueezerRecipe.addRecipe(new FluidStack(fluidBlood, 5), new ItemStack(Items.LEATHER), new ItemStack(Items.ROTTEN_FLESH), 6400);
    FermenterRecipe.addRecipe(new FluidStack(fluidEthanol, 80), null, Items.REEDS, 6400);
    FermenterRecipe.addRecipe(new FluidStack(fluidEthanol, 80), null, Items.MELON, 6400);
    FermenterRecipe.addRecipe(new FluidStack(fluidEthanol, 80), null, Items.APPLE, 6400);
    FermenterRecipe.addRecipe(new FluidStack(fluidEthanol, 80), null, "cropPotato", 6400);
    RefineryRecipe.addRecipe(new FluidStack(fluidBiodiesel, 16), new FluidStack(fluidPlantoil, 8), new FluidStack(fluidEthanol, 8), 80);
    MixerRecipe.addRecipe(new FluidStack(fluidConcrete, 500), new FluidStack(FluidRegistry.WATER, 500), new Object[] { "sand", "sand", Items.CLAY_BALL, "gravel" }, 3200);
    BottlingMachineRecipe.addRecipe(new ItemStack(Blocks.SPONGE, 1, 1), new ItemStack(Blocks.SPONGE, 1, 0), new FluidStack(FluidRegistry.WATER, 1000));
    BelljarHandler.DefaultPlantHandler hempBelljarHandler = new BelljarHandler.DefaultPlantHandler() {

        private HashSet<ComparableItemStack> validSeeds = new HashSet<>();

        @Override
        protected HashSet<ComparableItemStack> getSeedSet() {
            return validSeeds;
        }

        @Override
        @SideOnly(Side.CLIENT)
        public IBlockState[] getRenderedPlant(ItemStack seed, ItemStack soil, float growth, TileEntity tile) {
            int age = Math.min(4, Math.round(growth * 4));
            if (age == 4)
                return new IBlockState[] { blockCrop.getStateFromMeta(age), blockCrop.getStateFromMeta(age + 1) };
            return new IBlockState[] { blockCrop.getStateFromMeta(age) };
        }

        @Override
        @SideOnly(Side.CLIENT)
        public float getRenderSize(ItemStack seed, ItemStack soil, float growth, TileEntity tile) {
            return .6875f;
        }
    };
    BelljarHandler.registerHandler(hempBelljarHandler);
    hempBelljarHandler.register(new ItemStack(itemSeeds), new ItemStack[] { new ItemStack(itemMaterial, 4, 4), new ItemStack(itemSeeds, 2) }, new ItemStack(Blocks.DIRT), blockCrop.getDefaultState());
    ThermoelectricHandler.registerSourceInKelvin("blockIce", 273);
    ThermoelectricHandler.registerSourceInKelvin("blockPackedIce", 200);
    ThermoelectricHandler.registerSourceInKelvin("blockUranium", 2000);
    ThermoelectricHandler.registerSourceInKelvin("blockYellorium", 2000);
    ThermoelectricHandler.registerSourceInKelvin("blockPlutonium", 4000);
    ThermoelectricHandler.registerSourceInKelvin("blockBlutonium", 4000);
    ExcavatorHandler.mineralVeinCapacity = IEConfig.Machines.excavator_depletion;
    ExcavatorHandler.mineralChance = IEConfig.Machines.excavator_chance;
    ExcavatorHandler.defaultDimensionBlacklist = IEConfig.Machines.excavator_dimBlacklist;
    ExcavatorHandler.addMineral("Iron", 25, .1f, new String[] { "oreIron", "oreNickel", "oreTin", "denseoreIron" }, new float[] { .5f, .25f, .20f, .05f });
    ExcavatorHandler.addMineral("Magnetite", 25, .1f, new String[] { "oreIron", "oreGold" }, new float[] { .85f, .15f });
    if (OreDictionary.doesOreNameExist("oreSulfur"))
        ExcavatorHandler.addMineral("Pyrite", 20, .1f, new String[] { "oreIron", "oreSulfur" }, new float[] { .5f, .5f });
    ExcavatorHandler.addMineral("Bauxite", 20, .2f, new String[] { "oreAluminum", "oreTitanium", "denseoreAluminum" }, new float[] { .90f, .05f, .05f });
    ExcavatorHandler.addMineral("Copper", 30, .2f, new String[] { "oreCopper", "oreGold", "oreNickel", "denseoreCopper" }, new float[] { .65f, .25f, .05f, .05f });
    if (OreDictionary.doesOreNameExist("oreTin"))
        ExcavatorHandler.addMineral("Cassiterite", 15, .2f, new String[] { "oreTin", "denseoreTin" }, new float[] { .95f, .05f });
    ExcavatorHandler.addMineral("Gold", 20, .3f, new String[] { "oreGold", "oreCopper", "oreNickel", "denseoreGold" }, new float[] { .65f, .25f, .05f, .05f });
    ExcavatorHandler.addMineral("Nickel", 20, .3f, new String[] { "oreNickel", "orePlatinum", "oreIron", "denseoreNickel" }, new float[] { .85f, .05f, .05f, .05f });
    if (OreDictionary.doesOreNameExist("orePlatinum"))
        ExcavatorHandler.addMineral("Platinum", 5, .35f, new String[] { "orePlatinum", "oreNickel", "", "oreIridium", "denseorePlatinum" }, new float[] { .40f, .30f, .15f, .1f, .05f });
    if (OreDictionary.doesOreNameExist("oreUranium") || OreDictionary.doesOreNameExist("oreYellorium"))
        ExcavatorHandler.addMineral("Uranium", 10, .35f, new String[] { "oreUranium", "oreLead", "orePlutonium", "denseoreUranium" }, new float[] { .55f, .3f, .1f, .05f }).addReplacement("oreUranium", "oreYellorium");
    ExcavatorHandler.addMineral("Quartzite", 5, .3f, new String[] { "oreQuartz", "oreCertusQuartz" }, new float[] { .6f, .4f });
    ExcavatorHandler.addMineral("Galena", 15, .2f, new String[] { "oreLead", "oreSilver", "oreSulfur", "denseoreLead", "denseoreSilver" }, new float[] { .40f, .40f, .1f, .05f, .05f });
    ExcavatorHandler.addMineral("Lead", 10, .15f, new String[] { "oreLead", "oreSilver", "denseoreLead" }, new float[] { .55f, .4f, .05f });
    ExcavatorHandler.addMineral("Silver", 10, .2f, new String[] { "oreSilver", "oreLead", "denseoreSilver" }, new float[] { .55f, .4f, .05f });
    ExcavatorHandler.addMineral("Lapis", 10, .2f, new String[] { "oreLapis", "oreIron", "oreSulfur", "denseoreLapis" }, new float[] { .65f, .275f, .025f, .05f });
    ExcavatorHandler.addMineral("Coal", 25, .1f, new String[] { "oreCoal", "denseoreCoal", "oreDiamond", "oreEmerald" }, new float[] { .92f, .1f, .015f, .015f });
    /**MULTIBLOCKS*/
    MultiblockHandler.registerMultiblock(MultiblockCokeOven.instance);
    MultiblockHandler.registerMultiblock(MultiblockBlastFurnace.instance);
    MultiblockHandler.registerMultiblock(MultiblockBlastFurnaceAdvanced.instance);
    MultiblockHandler.registerMultiblock(MultiblockMetalPress.instance);
    MultiblockHandler.registerMultiblock(MultiblockCrusher.instance);
    MultiblockHandler.registerMultiblock(MultiblockSheetmetalTank.instance);
    MultiblockHandler.registerMultiblock(MultiblockSilo.instance);
    MultiblockHandler.registerMultiblock(MultiblockAssembler.instance);
    MultiblockHandler.registerMultiblock(MultiblockAutoWorkbench.instance);
    MultiblockHandler.registerMultiblock(MultiblockBottlingMachine.instance);
    MultiblockHandler.registerMultiblock(MultiblockSqueezer.instance);
    MultiblockHandler.registerMultiblock(MultiblockFermenter.instance);
    MultiblockHandler.registerMultiblock(MultiblockRefinery.instance);
    MultiblockHandler.registerMultiblock(MultiblockDieselGenerator.instance);
    MultiblockHandler.registerMultiblock(MultiblockExcavator.instance);
    MultiblockHandler.registerMultiblock(MultiblockBucketWheel.instance);
    MultiblockHandler.registerMultiblock(MultiblockArcFurnace.instance);
    MultiblockHandler.registerMultiblock(MultiblockLightningrod.instance);
    MultiblockHandler.registerMultiblock(MultiblockMixer.instance);
    /**ACHIEVEMENTS*/
    IEAchievements.init();
    /**VILLAGE*/
    VillagerRegistry villageRegistry = VillagerRegistry.instance();
    if (IEConfig.villagerHouse) {
        villageRegistry.registerVillageCreationHandler(new VillageEngineersHouse.VillageManager());
        MapGenStructureIO.registerStructureComponent(VillageEngineersHouse.class, ImmersiveEngineering.MODID + ":EngineersHouse");
    }
    if (IEConfig.enableVillagers) {
        villagerProfession_engineer = new VillagerRegistry.VillagerProfession(ImmersiveEngineering.MODID + ":engineer", "immersiveengineering:textures/models/villager_engineer.png", "immersiveengineering:textures/models/villager_engineer_zombie.png");
        villageRegistry.register(villagerProfession_engineer);
        VillagerRegistry.VillagerCareer career_engineer = new VillagerRegistry.VillagerCareer(villagerProfession_engineer, ImmersiveEngineering.MODID + ".engineer");
        career_engineer.addTrade(1, new IEVillagerTrades.EmeraldForItemstack(new ItemStack(itemMaterial, 1, 0), new EntityVillager.PriceInfo(8, 16)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(blockWoodenDecoration, 1, 1), new EntityVillager.PriceInfo(-10, -6)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(blockClothDevice, 1, 1), new EntityVillager.PriceInfo(-3, -1)));
        career_engineer.addTrade(2, new IEVillagerTrades.EmeraldForItemstack(new ItemStack(itemMaterial, 1, 1), new EntityVillager.PriceInfo(2, 6)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(blockMetalDecoration1, 1, 1), new EntityVillager.PriceInfo(-8, -4)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(blockMetalDecoration1, 1, 5), new EntityVillager.PriceInfo(-8, -4)));
        career_engineer.addTrade(3, new IEVillagerTrades.EmeraldForItemstack(new ItemStack(itemMaterial, 1, 2), new EntityVillager.PriceInfo(2, 6)), new IEVillagerTrades.EmeraldForItemstack(new ItemStack(itemMaterial, 1, 7), new EntityVillager.PriceInfo(4, 8)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(blockStoneDecoration, 1, 5), new EntityVillager.PriceInfo(-6, -2)));
        VillagerRegistry.VillagerCareer career_machinist = new VillagerRegistry.VillagerCareer(villagerProfession_engineer, ImmersiveEngineering.MODID + ".machinist");
        career_machinist.addTrade(1, new IEVillagerTrades.EmeraldForItemstack(new ItemStack(itemMaterial, 1, 6), new EntityVillager.PriceInfo(8, 16)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(itemTool, 1, 0), new EntityVillager.PriceInfo(4, 7)));
        career_machinist.addTrade(2, new IEVillagerTrades.EmeraldForItemstack(new ItemStack(itemMetal, 1, 0), new EntityVillager.PriceInfo(4, 6)), new IEVillagerTrades.EmeraldForItemstack(new ItemStack(itemMetal, 1, 1), new EntityVillager.PriceInfo(4, 6)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(itemMaterial, 1, 9), new EntityVillager.PriceInfo(1, 3)));
        career_machinist.addTrade(3, new IEVillagerTrades.ItemstackForEmerald(new ItemStack(itemToolbox, 1, 0), new EntityVillager.PriceInfo(6, 8)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(itemMaterial, 1, 10), new EntityVillager.PriceInfo(1, 3)), new IEVillagerTrades.ItemstackForEmerald(ItemEngineersBlueprint.getTypedBlueprint("specialBullet"), new EntityVillager.PriceInfo(5, 9)));
        career_machinist.addTrade(4, new IEVillagerTrades.ItemstackForEmerald(new ItemStack(itemDrillhead, 1, 0), new EntityVillager.PriceInfo(28, 40)), new IEVillagerTrades.ItemstackForEmerald(itemEarmuffs, new EntityVillager.PriceInfo(4, 9)));
        career_machinist.addTrade(5, new IEVillagerTrades.ItemstackForEmerald(new ItemStack(itemDrillhead, 1, 1), new EntityVillager.PriceInfo(32, 48)), new IEVillagerTrades.ItemstackForEmerald(ItemEngineersBlueprint.getTypedBlueprint("electrode"), new EntityVillager.PriceInfo(12, 24)));
        VillagerRegistry.VillagerCareer career_electrician = new VillagerRegistry.VillagerCareer(villagerProfession_engineer, ImmersiveEngineering.MODID + ".electrician");
        career_electrician.addTrade(1, new IEVillagerTrades.EmeraldForItemstack(new ItemStack(itemMaterial, 1, 20), new EntityVillager.PriceInfo(8, 16)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(itemTool, 1, 1), new EntityVillager.PriceInfo(4, 7)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(itemWireCoil, 1, 0), new EntityVillager.PriceInfo(-4, -2)));
        career_electrician.addTrade(2, new IEVillagerTrades.EmeraldForItemstack(new ItemStack(itemMaterial, 1, 21), new EntityVillager.PriceInfo(6, 12)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(itemTool, 1, 2), new EntityVillager.PriceInfo(4, 7)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(itemWireCoil, 1, 1), new EntityVillager.PriceInfo(-4, -1)));
        career_electrician.addTrade(3, new IEVillagerTrades.EmeraldForItemstack(new ItemStack(itemMaterial, 1, 22), new EntityVillager.PriceInfo(4, 8)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(itemWireCoil, 1, 1), new EntityVillager.PriceInfo(-2, -1)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(itemToolUpgrades, 1, 6), new EntityVillager.PriceInfo(8, 12)));
        career_electrician.addTrade(4, new IEVillagerTrades.ItemstackForEmerald(new ItemStack(itemToolUpgrades, 1, 9), new EntityVillager.PriceInfo(8, 12)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(itemFluorescentTube), new EntityVillager.PriceInfo(8, 12)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(itemsFaradaySuit[0]), new EntityVillager.PriceInfo(5, 7)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(itemsFaradaySuit[1]), new EntityVillager.PriceInfo(9, 11)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(itemsFaradaySuit[2]), new EntityVillager.PriceInfo(5, 7)), new IEVillagerTrades.ItemstackForEmerald(new ItemStack(itemsFaradaySuit[3]), new EntityVillager.PriceInfo(11, 15)));
        VillagerRegistry.VillagerCareer career_outfitter = new VillagerRegistry.VillagerCareer(villagerProfession_engineer, ImmersiveEngineering.MODID + ".outfitter");
        ItemStack bag_common = new ItemStack(IEContent.itemShaderBag);
        ItemNBTHelper.setString(bag_common, "rarity", EnumRarity.COMMON.toString());
        ItemStack bag_uncommon = new ItemStack(IEContent.itemShaderBag);
        ItemNBTHelper.setString(bag_uncommon, "rarity", EnumRarity.UNCOMMON.toString());
        ItemStack bag_rare = new ItemStack(IEContent.itemShaderBag);
        ItemNBTHelper.setString(bag_rare, "rarity", EnumRarity.RARE.toString());
        career_outfitter.addTrade(1, new IEVillagerTrades.EmeraldForItemstack(bag_common, new EntityVillager.PriceInfo(8, 16)));
        career_outfitter.addTrade(2, new IEVillagerTrades.EmeraldForItemstack(bag_uncommon, new EntityVillager.PriceInfo(12, 20)));
        career_outfitter.addTrade(3, new IEVillagerTrades.EmeraldForItemstack(bag_rare, new EntityVillager.PriceInfo(16, 24)));
    }
    /**LOOT*/
    if (IEConfig.villagerHouse)
        LootTableList.register(VillageEngineersHouse.woodenCrateLoot);
    for (ResourceLocation rl : EventHandler.lootInjections) LootTableList.register(rl);
//		//Railcraft Compat
//		if(Loader.isModLoaded("Railcraft"))
//		{
//			Block rcCube = GameRegistry.findBlock("Railcraft", "cube");
//			if(rcCube!=null)
//				OreDictionary.registerOre("blockFuelCoke", new ItemStack(rcCube,1,0));
//		}
}
Also used : ShapedRecipes(net.minecraft.item.crafting.ShapedRecipes) PotionEffect(net.minecraft.potion.PotionEffect) NBTTagCompound(net.minecraft.nbt.NBTTagCompound) ArrayList(java.util.ArrayList) World(net.minecraft.world.World) ChemthrowerEffect_Potion(blusunrize.immersiveengineering.api.tool.ChemthrowerHandler.ChemthrowerEffect_Potion) WolfpackBullet(blusunrize.immersiveengineering.common.items.ItemBullet.WolfpackBullet) VillagerRegistry(net.minecraftforge.fml.common.registry.VillagerRegistry) ShapelessOreRecipe(net.minecraftforge.oredict.ShapelessOreRecipe) List(java.util.List) ArrayList(java.util.ArrayList) LootTableList(net.minecraft.world.storage.loot.LootTableList) IConveyorTile(blusunrize.immersiveengineering.api.tool.ConveyorHandler.IConveyorTile) ChemthrowerEffect(blusunrize.immersiveengineering.api.tool.ChemthrowerHandler.ChemthrowerEffect) HashSet(java.util.HashSet) IBlockState(net.minecraft.block.state.IBlockState) WolfpackPartBullet(blusunrize.immersiveengineering.common.items.ItemBullet.WolfpackPartBullet) ShapedOreRecipe(net.minecraftforge.oredict.ShapedOreRecipe) Fluid(net.minecraftforge.fluids.Fluid) RayTraceResult(net.minecraft.util.math.RayTraceResult) DefaultFurnaceAdapter(blusunrize.immersiveengineering.api.tool.ExternalHeaterHandler.DefaultFurnaceAdapter) VillageEngineersHouse(blusunrize.immersiveengineering.common.world.VillageEngineersHouse) EntityPlayer(net.minecraft.entity.player.EntityPlayer) ComparableItemStack(blusunrize.immersiveengineering.api.ComparableItemStack) ItemStack(net.minecraft.item.ItemStack) FluidStack(net.minecraftforge.fluids.FluidStack) TileEntity(net.minecraft.tileentity.TileEntity) ChemthrowerEffect_Extinguish(blusunrize.immersiveengineering.api.tool.ChemthrowerHandler.ChemthrowerEffect_Extinguish) ResourceLocation(net.minecraft.util.ResourceLocation) ShapelessRecipes(net.minecraft.item.crafting.ShapelessRecipes) ComparableItemStack(blusunrize.immersiveengineering.api.ComparableItemStack) EntityLivingBase(net.minecraft.entity.EntityLivingBase)

Example 5 with ShapelessOreRecipe

use of net.minecraftforge.oredict.ShapelessOreRecipe in project ArsMagica2 by Mithion.

the class ItemsCommonProxy method InitRecipes.

public void InitRecipes() {
    //crafting recipes
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(itemOre, 1, itemOre.META_ARCANECOMPOUND), new Object[] { "BRN", "G G", "NRB", Character.valueOf('B'), "stone", Character.valueOf('R'), "dustRedstone", Character.valueOf('N'), Blocks.netherrack, Character.valueOf('G'), "dustGlowstone" }));
    //spell crafting
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(spellParchment, 1), new Object[] { "S", "P", "S", Character.valueOf('S'), "stickWood", Character.valueOf('P'), Items.paper }));
    //spell book
    GameRegistry.addRecipe(new ItemStack(spellBook, 1), new Object[] { "SLL", "SPP", "SLL", Character.valueOf('S'), Items.string, Character.valueOf('L'), Items.leather, Character.valueOf('P'), Items.paper });
    //crystal wrench
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(crystalWrench), new Object[] { "I I", "AVD", " I ", Character.valueOf('I'), "ingotIron", Character.valueOf('A'), BlocksCommonProxy.cerublossom, Character.valueOf('D'), BlocksCommonProxy.desertNova, Character.valueOf('V'), "dustVinteum" }));
    //spell book colors
    //brown
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(spellBook, 1, 0), new Object[] { "dyeBrown", new ItemStack(spellBook, 1, AMCore.ANY_META) }));
    //cyan
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(spellBook, 1, 1), new Object[] { "dyeCyan", new ItemStack(spellBook, 1, AMCore.ANY_META) }));
    //gray
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(spellBook, 1, 2), new Object[] { "dyeGray", new ItemStack(spellBook, 1, AMCore.ANY_META) }));
    //light blue
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(spellBook, 1, 3), new Object[] { "dyeLightBlue", new ItemStack(spellBook, 1, AMCore.ANY_META) }));
    //white
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(spellBook, 1, 4), new Object[] { "dyeWhite", new ItemStack(spellBook, 1, AMCore.ANY_META) }));
    //black
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(spellBook, 1, 5), new Object[] { "dyeBlack", new ItemStack(spellBook, 1, AMCore.ANY_META) }));
    //orange
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(spellBook, 1, 6), new Object[] { "dyeOrange", new ItemStack(spellBook, 1, AMCore.ANY_META) }));
    //purple
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(spellBook, 1, 7), new Object[] { "dyePurple", new ItemStack(spellBook, 1, AMCore.ANY_META) }));
    //blue
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(spellBook, 1, 8), new Object[] { "dyeBlue", new ItemStack(spellBook, 1, AMCore.ANY_META) }));
    //green
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(spellBook, 1, 9), new Object[] { "dyeGreen", new ItemStack(spellBook, 1, AMCore.ANY_META) }));
    //yellow
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(spellBook, 1, 10), new Object[] { "dyeYellow", new ItemStack(spellBook, 1, AMCore.ANY_META) }));
    //red
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(spellBook, 1, 11), new Object[] { "dyeRed", new ItemStack(spellBook, 1, AMCore.ANY_META) }));
    //lime
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(spellBook, 1, 12), new Object[] { "dyeLime", new ItemStack(spellBook, 1, AMCore.ANY_META) }));
    //pink
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(spellBook, 1, 13), new Object[] { "dyePink", new ItemStack(spellBook, 1, AMCore.ANY_META) }));
    //magenta
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(spellBook, 1, 14), new Object[] { "dyeMagenta", new ItemStack(spellBook, 1, AMCore.ANY_META) }));
    //light gray
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(spellBook, 1, 15), new Object[] { "dyeLightGray", new ItemStack(spellBook, 1, AMCore.ANY_META) }));
    GameRegistry.addRecipe(new ItemStack(runeBag), new Object[] { "LLL", "W W", "LLL", Character.valueOf('L'), Items.leather, Character.valueOf('W'), new ItemStack(Blocks.wool, 1, AMCore.ANY_META) });
    GameRegistry.addRecipe(new ShapedOreRecipe(magicBroom, new Object[] { " S ", "ASA", " H ", Character.valueOf('S'), "stickWood", Character.valueOf('A'), "arcaneAsh", Character.valueOf('H'), Blocks.hay_block }));
    GameRegistry.addRecipe(new ShapedOreRecipe(woodenLeg, new Object[] { "P", "L", "S", Character.valueOf('P'), "plankWood", Character.valueOf('L'), "slabWood", Character.valueOf('S'), "stickWood" }));
    GameRegistry.addShapelessRecipe(new ItemStack(evilBook), new Object[] { new ItemStack(woodenLeg), new ItemStack(arcaneCompendium) });
    GameRegistry.addShapelessRecipe(new ItemStack(playerjournal), new Object[] { new ItemStack(ItemsCommonProxy.essence, 1, ItemsCommonProxy.essence.META_ARCANE), new ItemStack(Items.writable_book) });
    GameRegistry.addShapelessRecipe(new ItemStack(manaPotionBundle, 1, (0 << 8) + 3), new Object[] { new ItemStack(lesserManaPotion, 1, AMCore.ANY_META), new ItemStack(lesserManaPotion, 1, AMCore.ANY_META), new ItemStack(lesserManaPotion, 1, AMCore.ANY_META), new ItemStack(Items.string) });
    GameRegistry.addShapelessRecipe(new ItemStack(manaPotionBundle, 1, (1 << 8) + 3), new Object[] { new ItemStack(standardManaPotion, 1, AMCore.ANY_META), new ItemStack(standardManaPotion, 1, AMCore.ANY_META), new ItemStack(standardManaPotion, 1, AMCore.ANY_META), new ItemStack(Items.string) });
    GameRegistry.addShapelessRecipe(new ItemStack(manaPotionBundle, 1, (2 << 8) + 3), new Object[] { new ItemStack(greaterManaPotion, 1, AMCore.ANY_META), new ItemStack(greaterManaPotion, 1, AMCore.ANY_META), new ItemStack(greaterManaPotion, 1, AMCore.ANY_META), new ItemStack(Items.string) });
    GameRegistry.addShapelessRecipe(new ItemStack(manaPotionBundle, 1, (3 << 8) + 3), new Object[] { new ItemStack(epicManaPotion, 1, AMCore.ANY_META), new ItemStack(epicManaPotion, 1, AMCore.ANY_META), new ItemStack(epicManaPotion, 1, AMCore.ANY_META), new ItemStack(Items.string) });
    GameRegistry.addShapelessRecipe(new ItemStack(manaPotionBundle, 1, (4 << 8) + 3), new Object[] { new ItemStack(legendaryManaPotion, 1, AMCore.ANY_META), new ItemStack(legendaryManaPotion, 1, AMCore.ANY_META), new ItemStack(legendaryManaPotion, 1, AMCore.ANY_META), new ItemStack(Items.string) });
    //blank rune
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(rune, 2, rune.META_BLANK), new Object[] { " S ", "SSS", "SS ", Character.valueOf('S'), "cobblestone" }));
    //blue rune
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(rune, 1, rune.META_BLUE), new Object[] { "dyeBlue", new ItemStack(rune, 1, rune.META_BLANK) }));
    //red rune
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(rune, 1, rune.META_RED), new Object[] { "dyeRed", new ItemStack(rune, 1, rune.META_BLANK) }));
    //yellow rune
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(rune, 1, rune.META_YELLOW), new Object[] { "dyeYellow", new ItemStack(rune, 1, rune.META_BLANK) }));
    //orange rune
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(rune, 1, rune.META_ORANGE), new Object[] { "dyeOrange", new ItemStack(rune, 1, rune.META_BLANK) }));
    //green rune
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(rune, 1, rune.META_GREEN), new Object[] { "dyeGreen", new ItemStack(rune, 1, rune.META_BLANK) }));
    //purple rune
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(rune, 1, rune.META_PURPLE), new Object[] { "dyePurple", new ItemStack(rune, 1, rune.META_BLANK) }));
    //white rune
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(rune, 1, rune.META_WHITE), new Object[] { "dyeWhite", new ItemStack(rune, 1, rune.META_BLANK) }));
    //black rune
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(rune, 1, rune.META_BLACK), new Object[] { "dyeBlack", new ItemStack(rune, 1, rune.META_BLANK) }));
    //brown rune
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(rune, 1, rune.META_BROWN), new Object[] { "dyeBrown", new ItemStack(rune, 1, rune.META_BLANK) }));
    //cyan rune
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(rune, 1, rune.META_CYAN), new Object[] { "dyeCyan", new ItemStack(rune, 1, rune.META_BLANK) }));
    //gray rune
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(rune, 1, rune.META_GRAY), new Object[] { "dyeGray", new ItemStack(rune, 1, rune.META_BLANK) }));
    //light blue rune
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(rune, 1, rune.META_LIGHTBLUE), new Object[] { "dyeLightBlue", new ItemStack(rune, 1, rune.META_BLANK) }));
    //light gray rune
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(rune, 1, rune.META_LIGHTGRAY), new Object[] { "dyeLightGray", new ItemStack(rune, 1, rune.META_BLANK) }));
    //magenta rune
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(rune, 1, rune.META_MAGENTA), new Object[] { "dyeMagenta", new ItemStack(rune, 1, rune.META_BLANK) }));
    //pink rune
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(rune, 1, rune.META_PINK), new Object[] { "dyePink", new ItemStack(rune, 1, rune.META_BLANK) }));
    //pink rune
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(rune, 1, rune.META_LIME), new Object[] { "dyeLime", new ItemStack(rune, 1, rune.META_BLANK) }));
    //wizard chalk
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(wizardChalk, 1), new Object[] { "dyeWhite", new ItemStack(Items.clay_ball), "dustVinteum", new ItemStack(Items.flint), new ItemStack(Items.paper) }));
    //empty flicker jar
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(flickerJar, 1), new Object[] { "NWN", "G G", " G ", Character.valueOf('W'), BlocksCommonProxy.magicWall, Character.valueOf('N'), "nuggetGold", Character.valueOf('G'), "paneGlassColorless" }));
    //warding candle
    GameRegistry.addRecipe(new ItemStack(wardingCandle), new Object[] { "S", "F", "P", Character.valueOf('S'), Items.string, Character.valueOf('F'), new ItemStack(ItemsCommonProxy.itemOre, 1, ItemsCommonProxy.itemOre.META_ANIMALFAT), Character.valueOf('P'), BlocksCommonProxy.witchwoodSingleSlab });
    //magitech goggles
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(magitechGoggles), new Object[] { "LLL", "CGC", "TLT", Character.valueOf('C'), "gemChimerite", Character.valueOf('T'), "gemBlueTopaz", Character.valueOf('L'), Items.leather, Character.valueOf('G'), "nuggetGold" }));
    //magitech staff
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(spellStaffMagitech), new Object[] { " GT", "G G", "GG ", Character.valueOf('T'), "gemBlueTopaz", Character.valueOf('G'), "nuggetGold" }));
    //armor recipes
    //MAGE
    GameRegistry.addRecipe(new ItemStack(mageHood, 1), new Object[] { "WLW", "WRW", " B ", Character.valueOf('W'), new ItemStack(Blocks.wool, 1, 12), Character.valueOf('L'), Items.leather, Character.valueOf('R'), new ItemStack(rune, 1, rune.META_PURPLE), Character.valueOf('B'), new ItemStack(Items.potionitem, 1, 0) });
    GameRegistry.addRecipe(new ItemStack(mageArmor, 1), new Object[] { "RCR", "WLW", "WWW", Character.valueOf('W'), new ItemStack(Blocks.wool, 1, 12), Character.valueOf('L'), Items.leather, Character.valueOf('R'), new ItemStack(rune, 1, rune.META_WHITE), Character.valueOf('C'), Items.coal });
    GameRegistry.addRecipe(new ItemStack(mageLeggings, 1), new Object[] { "WRW", "WGW", "L L", Character.valueOf('W'), new ItemStack(Blocks.wool, 1, 12), Character.valueOf('L'), Items.leather, Character.valueOf('R'), new ItemStack(rune, 1, rune.META_YELLOW), Character.valueOf('G'), Items.gunpowder });
    GameRegistry.addRecipe(new ItemStack(mageBoots, 1), new Object[] { "R R", "L L", "WFW", Character.valueOf('W'), new ItemStack(Blocks.wool, 1, 12), Character.valueOf('L'), Items.leather, Character.valueOf('R'), new ItemStack(rune, 1, rune.META_BLACK), Character.valueOf('F'), Items.feather });
    //BATTLEMAGE
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(battlemageHood, 1), new Object[] { "WLW", "WRW", " E ", Character.valueOf('W'), new ItemStack(Blocks.obsidian), Character.valueOf('L'), BlocksCommonProxy.goldInlay, Character.valueOf('R'), new ItemStack(rune, 1, 1), Character.valueOf('E'), new ItemStack(essence, 1, 4) }));
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(battlemageArmor, 1), new Object[] { "RER", "WLW", "WWW", Character.valueOf('W'), new ItemStack(Blocks.obsidian), Character.valueOf('E'), new ItemStack(essence, 1, 1), Character.valueOf('R'), new ItemStack(rune, 1, 1), Character.valueOf('L'), BlocksCommonProxy.goldInlay }));
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(battlemageLeggings, 1), new Object[] { "WRW", "LEL", "W W", Character.valueOf('W'), new ItemStack(Blocks.obsidian), Character.valueOf('L'), BlocksCommonProxy.goldInlay, Character.valueOf('R'), new ItemStack(rune, 1, 1), Character.valueOf('E'), new ItemStack(essence, 1, 3) }));
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(battlemageBoots, 1), new Object[] { "R R", "WEW", "WLW", Character.valueOf('W'), new ItemStack(Blocks.obsidian), Character.valueOf('L'), BlocksCommonProxy.goldInlay, Character.valueOf('R'), new ItemStack(rune, 1, 1), Character.valueOf('E'), new ItemStack(essence, 1, 2) }));
    //ARCHMAGE
    /*GameRegistry.addRecipe(new ItemStack(archmageHood, 1),
				new Object[]{
			"WPW", "WRW",
			Character.valueOf('W'), new ItemStack(Blocks.cloth, 1, 0),
			Character.valueOf('P'), new ItemStack(essence, 1, 10),
			Character.valueOf('R'), new ItemStack(rune, 1, 6)
		});
		GameRegistry.addRecipe(new ItemStack(archmageArmor, 1),
				new Object[]{
			"RGR", "WPW", "WWW",
			Character.valueOf('W'), new ItemStack(Blocks.cloth, 1, 0),
			Character.valueOf('P'), new ItemStack(essence, 1, 10),
			Character.valueOf('R'), new ItemStack(rune, 1, 6),
			Character.valueOf('G'), Item.ingotGold
		});
		GameRegistry.addRecipe(new ItemStack(archmageLeggings, 1),
				new Object[]{
			"WPW", "R R", "W W",
			Character.valueOf('W'), new ItemStack(Blocks.cloth, 1, 0),
			Character.valueOf('P'), new ItemStack(essence, 1, 10),
			Character.valueOf('R'), new ItemStack(rune, 1, 6)
		});
		GameRegistry.addRecipe(new ItemStack(archmageBoots, 1),
				new Object[]{
			"P R", "W W", "W W",
			Character.valueOf('W'), new ItemStack(Blocks.cloth, 1, 0),
			Character.valueOf('P'), new ItemStack(essence, 1, 10),
			Character.valueOf('R'), new ItemStack(rune, 1, 6)
		});*/
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(essenceBag), new Object[] { "LLL", "WNW", "LLL", Character.valueOf('L'), Items.leather, Character.valueOf('W'), new ItemStack(Blocks.wool, 1, AMCore.ANY_META), Character.valueOf('N'), "nuggetGold" }));
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(crystalPhylactery), new Object[] { " B ", "GPG", " W ", Character.valueOf('B'), "gemMoonstone", Character.valueOf('W'), BlocksCommonProxy.magicWall, Character.valueOf('G'), "blockGlassColorless", Character.valueOf('P'), new ItemStack(ItemsCommonProxy.itemOre, 1, ItemsCommonProxy.itemOre.META_PURIFIEDVINTEUM) }));
    //lesser mana potion
    //GameRegistry.addRecipe(new ItemStack(Item.potion, 1, ))
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(keystone, 1), new Object[] { "GIG", "IVI", "GIG", Character.valueOf('G'), "ingotGold", Character.valueOf('I'), "ingotIron", Character.valueOf('V'), "dustVinteum" }));
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(itemOre, 1, itemOre.META_PURIFIEDVINTEUM), new Object[] { new ItemStack(BlocksCommonProxy.cerublossom), new ItemStack(BlocksCommonProxy.desertNova), "dustVinteum", "arcaneAsh" }));
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(manaCake, 3, 0), new Object[] { new ItemStack(BlocksCommonProxy.cerublossom), new ItemStack(BlocksCommonProxy.desertNova), new ItemStack(Items.sugar), "cropWheat" }));
    GameRegistry.addShapelessRecipe(new ItemStack(lesserManaPotion), new Object[] { new ItemStack(Items.wheat_seeds), new ItemStack(Items.sugar), new ItemStack(Items.potionitem, 1, Short.MAX_VALUE) });
    GameRegistry.addShapelessRecipe(new ItemStack(standardManaPotion), new Object[] { new ItemStack(Items.gunpowder), new ItemStack(lesserManaPotion, 1, Short.MAX_VALUE) });
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(greaterManaPotion), new Object[] { "dustVinteum", new ItemStack(standardManaPotion, 1, Short.MAX_VALUE) }));
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(epicManaPotion), new Object[] { "arcaneAsh", new ItemStack(greaterManaPotion, 1, Short.MAX_VALUE) }));
    GameRegistry.addShapelessRecipe(new ItemStack(legendaryManaPotion), new Object[] { new ItemStack(itemOre, 1, itemOre.META_PURIFIEDVINTEUM), new ItemStack(epicManaPotion, 1, Short.MAX_VALUE) });
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(liquidEssenceBottle), new Object[] { "gemChimerite", new ItemStack(BlocksCommonProxy.tarmaRoot), new ItemStack(ItemsCommonProxy.itemAMBucket) }));
    GameRegistry.addRecipe(new ItemStack(lesserFocus), ((ItemFocus) lesserFocus).getRecipeItems());
    GameRegistry.addRecipe(new ItemStack(standardFocus), ((ItemFocus) standardFocus).getRecipeItems());
    GameRegistry.addRecipe(new ItemStack(greaterFocus), ((ItemFocus) greaterFocus).getRecipeItems());
    GameRegistry.addRecipe(new ItemStack(manaFocus), ((ItemFocus) manaFocus).getRecipeItems());
    GameRegistry.addRecipe(new ItemStack(chargeFocus), ((ItemFocus) chargeFocus).getRecipeItems());
    GameRegistry.addRecipe(new ItemStack(playerFocus), ((ItemFocus) playerFocus).getRecipeItems());
    GameRegistry.addRecipe(new ItemStack(mobFocus), ((ItemFocus) mobFocus).getRecipeItems());
    GameRegistry.addRecipe(new ItemStack(itemFocus), ((ItemFocus) itemFocus).getRecipeItems());
    GameRegistry.addRecipe(new ItemStack(creatureFocus), ((ItemFocus) creatureFocus).getRecipeItems());
    //binding catalysts
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(bindingCatalyst, 1, bindingCatalyst.META_AXE), new Object[] { "SVS", "SAS", "SVS", Character.valueOf('V'), "dustVinteum", Character.valueOf('S'), "slimeball", Character.valueOf('A'), Items.golden_axe }));
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(bindingCatalyst, 1, bindingCatalyst.META_PICK), new Object[] { "SVS", "SAS", "SVS", Character.valueOf('V'), "dustVinteum", Character.valueOf('S'), "slimeball", Character.valueOf('A'), Items.golden_pickaxe }));
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(bindingCatalyst, 1, bindingCatalyst.META_SHOVEL), new Object[] { "SVS", "SAS", "SVS", Character.valueOf('V'), "dustVinteum", Character.valueOf('S'), "slimeball", Character.valueOf('A'), Items.golden_shovel }));
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(bindingCatalyst, 1, bindingCatalyst.META_SWORD), new Object[] { "SVS", "SAS", "SVS", Character.valueOf('V'), new ItemStack(itemOre, 1, itemOre.META_PURIFIEDVINTEUM), Character.valueOf('S'), "slimeball", Character.valueOf('A'), Items.golden_sword }));
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(bindingCatalyst, 1, bindingCatalyst.META_HOE), new Object[] { "SVS", "SAS", "SVS", Character.valueOf('V'), "dustVinteum", Character.valueOf('S'), "slimeball", Character.valueOf('A'), Items.golden_hoe }));
    GameRegistry.addRecipe(new ItemStack(itemKeystoneDoor, 1, itemKeystoneDoor.KEYSTONE_DOOR), new Object[] { "PWP", "RRR", "PWP", Character.valueOf('P'), BlocksCommonProxy.witchwoodPlanks, Character.valueOf('R'), new ItemStack(rune, 1, rune.META_BLANK), Character.valueOf('W'), BlocksCommonProxy.magicWall });
    GameRegistry.addRecipe(new ItemStack(itemKeystoneDoor, 1, itemKeystoneDoor.SPELL_SEALED_DOOR), new Object[] { " G ", "SKS", " L ", Character.valueOf('G'), ItemsCommonProxy.greaterFocus, Character.valueOf('S'), ItemsCommonProxy.standardFocus, Character.valueOf('L'), ItemsCommonProxy.lesserFocus, Character.valueOf('K'), new ItemStack(ItemsCommonProxy.itemKeystoneDoor, 1, itemKeystoneDoor.KEYSTONE_DOOR) });
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(manaMartini), new Object[] { new ItemStack(Blocks.ice), "cropPotato", new ItemStack(Items.sugar), "stickWood", new ItemStack(standardManaPotion) }));
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(inscriptionUpgrade, 1, 0), new ItemStack(Items.book), new ItemStack(Items.string), new ItemStack(Items.feather), "dyeBlack"));
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(inscriptionUpgrade, 1, 1), new ItemStack(Blocks.carpet, 1, Short.MAX_VALUE), new ItemStack(Items.book), new ItemStack(wizardChalk)));
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(inscriptionUpgrade, 1, 2), new ItemStack(wardingCandle), new ItemStack(Items.flint_and_steel), new ItemStack(itemOre, 1, itemOre.META_ANIMALFAT), new ItemStack(Items.glass_bottle), new ItemStack(Items.book)));
    GameRegistry.addShapelessRecipe(new ItemStack(workbenchUpgrade), new ItemStack(BlocksCommonProxy.magiciansWorkbench), new ItemStack(Blocks.chest), new ItemStack(Blocks.crafting_table), new ItemStack(Blocks.crafting_table), new ItemStack(Items.gold_ingot));
    GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(deficitCrystal), new ItemStack(Items.diamond), "arcaneAsh", new ItemStack(Items.ender_eye)));
}
Also used : ShapedOreRecipe(net.minecraftforge.oredict.ShapedOreRecipe) ShapelessOreRecipe(net.minecraftforge.oredict.ShapelessOreRecipe) ItemStack(net.minecraft.item.ItemStack)

Aggregations

ShapelessOreRecipe (net.minecraftforge.oredict.ShapelessOreRecipe)23 ItemStack (net.minecraft.item.ItemStack)20 ShapedOreRecipe (net.minecraftforge.oredict.ShapedOreRecipe)19 ArrayList (java.util.ArrayList)3 Item (net.minecraft.item.Item)3 IRecipe (net.minecraft.item.crafting.IRecipe)3 ShapedRecipes (net.minecraft.item.crafting.ShapedRecipes)3 ShapelessRecipes (net.minecraft.item.crafting.ShapelessRecipes)3 NBTTagCompound (net.minecraft.nbt.NBTTagCompound)3 List (java.util.List)2 Block (net.minecraft.block.Block)2 SpellRecipeItemsEvent (am2.api.events.SpellRecipeItemsEvent)1 ISkillTreeEntry (am2.api.spell.component.interfaces.ISkillTreeEntry)1 ISpellPart (am2.api.spell.component.interfaces.ISpellPart)1 ItemSpellPart (am2.items.ItemSpellPart)1 RecipeArsMagica (am2.items.RecipeArsMagica)1 ComparableItemStack (blusunrize.immersiveengineering.api.ComparableItemStack)1 ChemthrowerEffect (blusunrize.immersiveengineering.api.tool.ChemthrowerHandler.ChemthrowerEffect)1 ChemthrowerEffect_Extinguish (blusunrize.immersiveengineering.api.tool.ChemthrowerHandler.ChemthrowerEffect_Extinguish)1 ChemthrowerEffect_Potion (blusunrize.immersiveengineering.api.tool.ChemthrowerHandler.ChemthrowerEffect_Potion)1