/******************************************************************************* * AbyssalCraft * Copyright (c) 2012 - 2017 Shinoow. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Lesser Public License v3 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/lgpl-3.0.txt * * Contributors: * Shinoow - implementation ******************************************************************************/ package com.shinoow.abyssalcraft.integration.jei; import mezz.jei.api.*; import mezz.jei.api.ingredients.IModIngredientRegistration; import mezz.jei.api.recipe.transfer.IRecipeTransferRegistry; import net.minecraft.item.ItemStack; import net.minecraftforge.fml.common.Loader; import com.shinoow.abyssalcraft.api.block.ACBlocks; import com.shinoow.abyssalcraft.api.item.ACItems; import com.shinoow.abyssalcraft.common.inventory.ContainerCrystallizer; import com.shinoow.abyssalcraft.common.inventory.ContainerEngraver; import com.shinoow.abyssalcraft.common.inventory.ContainerTransmutator; import com.shinoow.abyssalcraft.init.BlockHandler; import com.shinoow.abyssalcraft.init.ItemHandler; import com.shinoow.abyssalcraft.integration.jei.rending.RendingRecipeCategory; import com.shinoow.abyssalcraft.integration.jei.rending.RendingRecipeHandler; import com.shinoow.abyssalcraft.integration.jei.rending.RendingRecipeMaker; import com.shinoow.abyssalcraft.integration.jei.ritual.*; import com.shinoow.abyssalcraft.integration.jei.transmutator.*; import com.shinoow.abyssalcraft.integration.jei.crystallizer.*; import com.shinoow.abyssalcraft.integration.jei.engraver.*; @JEIPlugin public class ACJEIPlugin implements IModPlugin { @Override public void register(IModRegistry registry) { if(!Loader.isModLoaded("abyssalcraft")) return; IJeiHelpers jeiHelpers = registry.getJeiHelpers(); JEIUtils utils = new JEIUtils(registry.getIngredientRegistry()); IGuiHelper guiHelper = jeiHelpers.getGuiHelper(); registry.addRecipeCategories(new TransmutatorFuelCategory(guiHelper), new TransmutationCategory(guiHelper), new CrystallizerFuelCategory(guiHelper), new CrystallizationCategory(guiHelper), new RitualRecipeCategory(guiHelper), new EngraverRecipeCategory(guiHelper), new RendingRecipeCategory(guiHelper)); registry.addRecipeHandlers(new TransmutatorFuelRecipeHandler(), new TransmutationRecipeHandler(), new CrystallizerFuelRecipeHandler(), new CrystallizationRecipeHandler(), new RitualRecipeHandler(), new EngravingRecipeHandler(), new RendingRecipeHandler()); registry.addRecipeCategoryCraftingItem(new ItemStack(ACBlocks.transmutator_idle), AbyssalCraftRecipeCategoryUid.TRANSMUTATION, AbyssalCraftRecipeCategoryUid.FUEL_TRANSMUTATION); registry.addRecipeCategoryCraftingItem(new ItemStack(ACBlocks.crystallizer_idle), AbyssalCraftRecipeCategoryUid.CRYSTALLIZATION, AbyssalCraftRecipeCategoryUid.FUEL_CRYSTALLIZATION); registry.addRecipeCategoryCraftingItem(new ItemStack(ACBlocks.engraver), AbyssalCraftRecipeCategoryUid.ENGRAVING); registry.addRecipeCategoryCraftingItem(new ItemStack(ACItems.necronomicon), AbyssalCraftRecipeCategoryUid.RITUAL); registry.addRecipeCategoryCraftingItem(new ItemStack(ACItems.abyssal_wasteland_necronomicon), AbyssalCraftRecipeCategoryUid.RITUAL); registry.addRecipeCategoryCraftingItem(new ItemStack(ACItems.dreadlands_necronomicon), AbyssalCraftRecipeCategoryUid.RITUAL); registry.addRecipeCategoryCraftingItem(new ItemStack(ACItems.omothol_necronomicon), AbyssalCraftRecipeCategoryUid.RITUAL); registry.addRecipeCategoryCraftingItem(new ItemStack(ACItems.abyssalnomicon), AbyssalCraftRecipeCategoryUid.RITUAL); registry.addRecipeCategoryCraftingItem(new ItemStack(ACItems.staff_of_rending, 1, 0), AbyssalCraftRecipeCategoryUid.RENDING); registry.addRecipeCategoryCraftingItem(new ItemStack(ACItems.staff_of_rending, 1, 1), AbyssalCraftRecipeCategoryUid.RENDING); registry.addRecipeCategoryCraftingItem(new ItemStack(ACItems.staff_of_rending, 1, 2), AbyssalCraftRecipeCategoryUid.RENDING); registry.addRecipeCategoryCraftingItem(new ItemStack(ACItems.staff_of_rending, 1, 3), AbyssalCraftRecipeCategoryUid.RENDING); registry.addRecipeCategoryCraftingItem(new ItemStack(ACItems.staff_of_the_gatekeeper), AbyssalCraftRecipeCategoryUid.RENDING); IRecipeTransferRegistry recipeTransferRegistry = registry.getRecipeTransferRegistry(); recipeTransferRegistry.addRecipeTransferHandler(ContainerTransmutator.class, AbyssalCraftRecipeCategoryUid.TRANSMUTATION, 0, 1, 1, 36); recipeTransferRegistry.addRecipeTransferHandler(ContainerTransmutator.class, AbyssalCraftRecipeCategoryUid.FUEL_TRANSMUTATION, 1, 1, 1, 36); recipeTransferRegistry.addRecipeTransferHandler(ContainerCrystallizer.class, AbyssalCraftRecipeCategoryUid.CRYSTALLIZATION, 0, 1, 1, 36); recipeTransferRegistry.addRecipeTransferHandler(ContainerCrystallizer.class, AbyssalCraftRecipeCategoryUid.FUEL_CRYSTALLIZATION, 1, 1, 1, 36); recipeTransferRegistry.addRecipeTransferHandler(ContainerEngraver.class, AbyssalCraftRecipeCategoryUid.ENGRAVING, 0, 1, 1, 36); registry.addRecipes(TransmutationRecipeMaker.getTransmutatorRecipes(jeiHelpers)); registry.addRecipes(TransmutatorFuelRecipeMaker.getFuelRecipes(utils, jeiHelpers)); registry.addRecipes(CrystallizationRecipeMaker.getCrystallizerRecipes(jeiHelpers)); registry.addRecipes(CrystallizerFuelRecipeMaker.getFuelRecipes(utils, jeiHelpers)); registry.addRecipes(RitualRecipeMaker.getRituals()); registry.addRecipes(EngravingRecipeMaker.getEngraverRecipes()); registry.addRecipes(RendingRecipeMaker.getRending()); jeiHelpers.getItemBlacklist().addItemToBlacklist(new ItemStack(ItemHandler.devsword)); jeiHelpers.getItemBlacklist().addItemToBlacklist(new ItemStack(ACBlocks.crystallizer_active)); jeiHelpers.getItemBlacklist().addItemToBlacklist(new ItemStack(ACBlocks.transmutator_active)); jeiHelpers.getItemBlacklist().addItemToBlacklist(new ItemStack(BlockHandler.house)); jeiHelpers.getItemBlacklist().addItemToBlacklist(new ItemStack(BlockHandler.Altar)); } @Override public void onRuntimeAvailable(IJeiRuntime jeiRuntime) {} @Override public void registerItemSubtypes(ISubtypeRegistry subtypeRegistry) {} @Override public void registerIngredients(IModIngredientRegistration registry) { // TODO Auto-generated method stub } }