Search in sources :

Example 1 with AlchemyArrayEffectBinding

use of WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectBinding in project BloodMagic by WayofTime.

the class BindingRecipeMaker method getRecipes.

@Nonnull
public static List<BindingRecipeJEI> getRecipes() {
    Map<List<ItemStack>, AlchemyArrayRecipeRegistry.AlchemyArrayRecipe> alchemyArrayRecipeMap = AlchemyArrayRecipeRegistry.getRecipes();
    ArrayList<BindingRecipeJEI> recipes = new ArrayList<>();
    for (Map.Entry<List<ItemStack>, AlchemyArrayRecipeRegistry.AlchemyArrayRecipe> itemStackAlchemyArrayRecipeEntry : alchemyArrayRecipeMap.entrySet()) {
        List<ItemStack> input = itemStackAlchemyArrayRecipeEntry.getValue().getInput();
        BiMap<ItemStackWrapper, AlchemyArrayEffect> catalystMap = itemStackAlchemyArrayRecipeEntry.getValue().catalystMap;
        for (Map.Entry<ItemStackWrapper, AlchemyArrayEffect> entry : catalystMap.entrySet()) {
            ItemStack catalyst = entry.getKey().toStack();
            if (AlchemyArrayRecipeRegistry.getAlchemyArrayEffect(input, catalyst) instanceof AlchemyArrayEffectBinding) {
                ItemStack output = ((AlchemyArrayEffectBinding) itemStackAlchemyArrayRecipeEntry.getValue().getAlchemyArrayEffectForCatalyst(catalyst)).outputStack;
                BindingRecipeJEI recipe = new BindingRecipeJEI(input, catalyst, output);
                recipes.add(recipe);
            }
        }
    }
    return recipes;
}
Also used : ArrayList(java.util.ArrayList) AlchemyArrayEffectBinding(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectBinding) AlchemyArrayEffect(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffect) List(java.util.List) ArrayList(java.util.ArrayList) ItemStack(net.minecraft.item.ItemStack) ItemStackWrapper(WayofTime.bloodmagic.util.ItemStackWrapper) BiMap(com.google.common.collect.BiMap) Map(java.util.Map) Nonnull(javax.annotation.Nonnull)

Example 2 with AlchemyArrayEffectBinding

use of WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectBinding in project BloodMagic by WayofTime.

the class ModRecipes method addAlchemyArrayRecipes.

public static void addAlchemyArrayRecipes() {
    AlchemyArrayRecipeRegistry.registerRecipe(ComponentTypes.REAGENT_BINDING.getStack(), new ItemStack(Items.DIAMOND_SWORD), new AlchemyArrayEffectBinding("boundSword", Utils.setUnbreakable(new ItemStack(RegistrarBloodMagicItems.BOUND_SWORD))), new BindingAlchemyCircleRenderer());
    AlchemyArrayRecipeRegistry.registerRecipe(ComponentTypes.REAGENT_BINDING.getStack(), new ItemStack(Items.DIAMOND_AXE), new AlchemyArrayEffectBinding("boundAxe", Utils.setUnbreakable(new ItemStack(RegistrarBloodMagicItems.BOUND_AXE))));
    AlchemyArrayRecipeRegistry.registerRecipe(ComponentTypes.REAGENT_BINDING.getStack(), new ItemStack(Items.DIAMOND_PICKAXE), new AlchemyArrayEffectBinding("boundPickaxe", Utils.setUnbreakable(new ItemStack(RegistrarBloodMagicItems.BOUND_PICKAXE))));
    AlchemyArrayRecipeRegistry.registerRecipe(ComponentTypes.REAGENT_BINDING.getStack(), new ItemStack(Items.DIAMOND_SHOVEL), new AlchemyArrayEffectBinding("boundShovel", Utils.setUnbreakable(new ItemStack(RegistrarBloodMagicItems.BOUND_SHOVEL))));
    AlchemyArrayRecipeRegistry.registerRecipe(ComponentTypes.REAGENT_BINDING.getStack(), new ItemStack(Items.IRON_HELMET), new AlchemyArrayEffectBinding("livingHelmet", new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_HELMET)));
    AlchemyArrayRecipeRegistry.registerRecipe(ComponentTypes.REAGENT_BINDING.getStack(), new ItemStack(Items.IRON_CHESTPLATE), new AlchemyArrayEffectBinding("livingChest", new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_CHEST)));
    AlchemyArrayRecipeRegistry.registerRecipe(ComponentTypes.REAGENT_BINDING.getStack(), new ItemStack(Items.IRON_LEGGINGS), new AlchemyArrayEffectBinding("livingLegs", new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_LEGGINGS)));
    AlchemyArrayRecipeRegistry.registerRecipe(ComponentTypes.REAGENT_BINDING.getStack(), new ItemStack(Items.IRON_BOOTS), new AlchemyArrayEffectBinding("livingBoots", new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_BOOTS)));
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.ROTTEN_FLESH), new ItemStack(Items.ROTTEN_FLESH), new AlchemyArrayEffectAttractor("attractor"), new AttractorAlchemyCircleRenderer());
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.FEATHER), new ItemStack(Items.REDSTONE), new AlchemyArrayEffectMovement("movement"), new StaticAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/MovementArray.png")));
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.FEATHER), new ItemStack(Items.GLOWSTONE_DUST), new AlchemyArrayEffectUpdraft("updraft"), new AttractorAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/UpdraftArray.png")));
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.SLIME_BALL), new ItemStack(Items.REDSTONE), new AlchemyArrayEffectBounce("bounce"), new SingleAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/BounceArray.png")));
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.COAL), new ItemStack(Items.REDSTONE), new AlchemyArrayEffectFurnaceFuel("furnace"), new LowAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/FurnaceArray.png")));
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.ARROW), new ItemStack(Items.FEATHER), new AlchemyArrayEffectSkeletonTurret("skeletonTurret"), new DualAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/SkeletonTurret1.png"), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/SkeletonTurret2.png")));
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.ENDER_PEARL), new ItemStack(Items.REDSTONE), new AlchemyArrayEffectTeleport("teleport"), new StaticAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/teleportation.png")));
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.BOW), new ItemStack(Items.ARROW), new AlchemyArrayEffectArrowTurret("turret"), new TurretAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/SkeletonTurret1.png")));
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.REDSTONE), new ItemStack(Blocks.LAPIS_BLOCK), new AlchemyArrayEffectLaputa("laputa"), new AttractorAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/shardoflaputa.png")));
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Blocks.COBBLESTONE), new ItemStack(Items.IRON_INGOT), new AlchemyArrayEffectSpike("spike"), new LowStaticAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/spikearray.png")));
    AlchemyArrayRecipeRegistry.registerRecipe(ComponentTypes.REAGENT_FAST_MINER.getStack(), new ItemStack(Items.IRON_PICKAXE), new AlchemyArrayEffectSigil("fastMiner", (ISigil) RegistrarBloodMagicItems.SIGIL_FAST_MINER), new SingleAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/FastMinerSigil.png")));
}
Also used : BindingAlchemyCircleRenderer(WayofTime.bloodmagic.client.render.alchemyArray.BindingAlchemyCircleRenderer) AlchemyArrayEffectTeleport(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectTeleport) AlchemyArrayEffectMovement(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectMovement) LowAlchemyCircleRenderer(WayofTime.bloodmagic.client.render.alchemyArray.LowAlchemyCircleRenderer) AlchemyArrayEffectSigil(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectSigil) SingleAlchemyCircleRenderer(WayofTime.bloodmagic.client.render.alchemyArray.SingleAlchemyCircleRenderer) AlchemyArrayEffectSkeletonTurret(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectSkeletonTurret) AlchemyArrayEffectBinding(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectBinding) TurretAlchemyCircleRenderer(WayofTime.bloodmagic.client.render.alchemyArray.TurretAlchemyCircleRenderer) AlchemyArrayEffectAttractor(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectAttractor) ResourceLocation(net.minecraft.util.ResourceLocation) AlchemyArrayEffectUpdraft(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectUpdraft) AlchemyArrayEffectBounce(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectBounce) AlchemyArrayEffectSpike(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectSpike) LowStaticAlchemyCircleRenderer(WayofTime.bloodmagic.client.render.alchemyArray.LowStaticAlchemyCircleRenderer) ItemStack(net.minecraft.item.ItemStack) AttractorAlchemyCircleRenderer(WayofTime.bloodmagic.client.render.alchemyArray.AttractorAlchemyCircleRenderer) StaticAlchemyCircleRenderer(WayofTime.bloodmagic.client.render.alchemyArray.StaticAlchemyCircleRenderer) LowStaticAlchemyCircleRenderer(WayofTime.bloodmagic.client.render.alchemyArray.LowStaticAlchemyCircleRenderer) AlchemyArrayEffectFurnaceFuel(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectFurnaceFuel) AlchemyArrayEffectArrowTurret(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectArrowTurret) DualAlchemyCircleRenderer(WayofTime.bloodmagic.client.render.alchemyArray.DualAlchemyCircleRenderer) AlchemyArrayEffectLaputa(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectLaputa) ISigil(WayofTime.bloodmagic.iface.ISigil)

Aggregations

AlchemyArrayEffectBinding (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectBinding)2 ItemStack (net.minecraft.item.ItemStack)2 AlchemyArrayEffect (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffect)1 AlchemyArrayEffectArrowTurret (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectArrowTurret)1 AlchemyArrayEffectAttractor (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectAttractor)1 AlchemyArrayEffectBounce (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectBounce)1 AlchemyArrayEffectFurnaceFuel (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectFurnaceFuel)1 AlchemyArrayEffectLaputa (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectLaputa)1 AlchemyArrayEffectMovement (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectMovement)1 AlchemyArrayEffectSigil (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectSigil)1 AlchemyArrayEffectSkeletonTurret (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectSkeletonTurret)1 AlchemyArrayEffectSpike (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectSpike)1 AlchemyArrayEffectTeleport (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectTeleport)1 AlchemyArrayEffectUpdraft (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectUpdraft)1 AttractorAlchemyCircleRenderer (WayofTime.bloodmagic.client.render.alchemyArray.AttractorAlchemyCircleRenderer)1 BindingAlchemyCircleRenderer (WayofTime.bloodmagic.client.render.alchemyArray.BindingAlchemyCircleRenderer)1 DualAlchemyCircleRenderer (WayofTime.bloodmagic.client.render.alchemyArray.DualAlchemyCircleRenderer)1 LowAlchemyCircleRenderer (WayofTime.bloodmagic.client.render.alchemyArray.LowAlchemyCircleRenderer)1 LowStaticAlchemyCircleRenderer (WayofTime.bloodmagic.client.render.alchemyArray.LowStaticAlchemyCircleRenderer)1 SingleAlchemyCircleRenderer (WayofTime.bloodmagic.client.render.alchemyArray.SingleAlchemyCircleRenderer)1