2016-03-18 04:07:49 -07:00
|
|
|
package WayofTime.bloodmagic.compat.jei;
|
|
|
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
import javax.annotation.Nonnull;
|
|
|
|
|
2016-12-11 20:28:47 -05:00
|
|
|
import mezz.jei.api.*;
|
|
|
|
import net.minecraft.item.Item;
|
2016-03-18 04:07:49 -07:00
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
import net.minecraftforge.oredict.OreDictionary;
|
|
|
|
import WayofTime.bloodmagic.api.Constants;
|
|
|
|
import WayofTime.bloodmagic.api.livingArmour.LivingArmourHandler;
|
2016-04-11 19:57:23 -04:00
|
|
|
import WayofTime.bloodmagic.api.util.helper.ItemHelper.LivingUpgrades;
|
2016-05-02 13:45:52 -04:00
|
|
|
import WayofTime.bloodmagic.client.gui.GuiSoulForge;
|
2016-03-18 04:07:49 -07:00
|
|
|
import WayofTime.bloodmagic.compat.jei.alchemyArray.AlchemyArrayCraftingCategory;
|
|
|
|
import WayofTime.bloodmagic.compat.jei.alchemyArray.AlchemyArrayCraftingRecipeHandler;
|
|
|
|
import WayofTime.bloodmagic.compat.jei.alchemyArray.AlchemyArrayCraftingRecipeMaker;
|
2016-05-02 13:45:52 -04:00
|
|
|
import WayofTime.bloodmagic.compat.jei.alchemyTable.AlchemyTableRecipeCategory;
|
|
|
|
import WayofTime.bloodmagic.compat.jei.alchemyTable.AlchemyTableRecipeHandler;
|
|
|
|
import WayofTime.bloodmagic.compat.jei.alchemyTable.AlchemyTableRecipeMaker;
|
2016-03-18 04:07:49 -07:00
|
|
|
import WayofTime.bloodmagic.compat.jei.altar.AltarRecipeCategory;
|
|
|
|
import WayofTime.bloodmagic.compat.jei.altar.AltarRecipeHandler;
|
|
|
|
import WayofTime.bloodmagic.compat.jei.altar.AltarRecipeMaker;
|
2016-11-10 10:39:19 -05:00
|
|
|
import WayofTime.bloodmagic.compat.jei.armourDowngrade.ArmourDowngradeRecipeCategory;
|
|
|
|
import WayofTime.bloodmagic.compat.jei.armourDowngrade.ArmourDowngradeRecipeHandler;
|
|
|
|
import WayofTime.bloodmagic.compat.jei.armourDowngrade.ArmourDowngradeRecipeMaker;
|
2016-03-18 04:07:49 -07:00
|
|
|
import WayofTime.bloodmagic.compat.jei.binding.BindingRecipeCategory;
|
|
|
|
import WayofTime.bloodmagic.compat.jei.binding.BindingRecipeHandler;
|
|
|
|
import WayofTime.bloodmagic.compat.jei.binding.BindingRecipeMaker;
|
|
|
|
import WayofTime.bloodmagic.compat.jei.forge.TartaricForgeRecipeCategory;
|
|
|
|
import WayofTime.bloodmagic.compat.jei.forge.TartaricForgeRecipeHandler;
|
|
|
|
import WayofTime.bloodmagic.compat.jei.forge.TartaricForgeRecipeMaker;
|
|
|
|
import WayofTime.bloodmagic.compat.jei.orb.ShapedOrbRecipeHandler;
|
|
|
|
import WayofTime.bloodmagic.compat.jei.orb.ShapelessOrbRecipeHandler;
|
|
|
|
import WayofTime.bloodmagic.registry.ModBlocks;
|
|
|
|
import WayofTime.bloodmagic.registry.ModItems;
|
|
|
|
|
|
|
|
@JEIPlugin
|
|
|
|
public class BloodMagicPlugin extends BlankModPlugin
|
|
|
|
{
|
|
|
|
public static IJeiHelpers jeiHelper;
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void register(@Nonnull IModRegistry registry)
|
|
|
|
{
|
|
|
|
jeiHelper = registry.getJeiHelpers();
|
|
|
|
|
2016-11-10 10:39:19 -05:00
|
|
|
registry.addRecipeCategories(new AltarRecipeCategory(), new BindingRecipeCategory(), new AlchemyArrayCraftingCategory(), new TartaricForgeRecipeCategory(), new AlchemyTableRecipeCategory(), new ArmourDowngradeRecipeCategory());
|
2016-03-18 04:07:49 -07:00
|
|
|
|
2016-11-10 10:39:19 -05:00
|
|
|
registry.addRecipeHandlers(new AltarRecipeHandler(), new BindingRecipeHandler(), new AlchemyArrayCraftingRecipeHandler(), new TartaricForgeRecipeHandler(), new AlchemyTableRecipeHandler(), new ArmourDowngradeRecipeHandler(), new ShapedOrbRecipeHandler(), new ShapelessOrbRecipeHandler());
|
2016-03-18 04:07:49 -07:00
|
|
|
|
|
|
|
registry.addRecipes(AltarRecipeMaker.getRecipes());
|
|
|
|
registry.addRecipes(BindingRecipeMaker.getRecipes());
|
|
|
|
registry.addRecipes(AlchemyArrayCraftingRecipeMaker.getRecipes());
|
|
|
|
registry.addRecipes(TartaricForgeRecipeMaker.getRecipes());
|
2016-05-02 13:45:52 -04:00
|
|
|
registry.addRecipes(AlchemyTableRecipeMaker.getRecipes());
|
2016-11-10 10:39:19 -05:00
|
|
|
registry.addRecipes(ArmourDowngradeRecipeMaker.getRecipes());
|
2016-03-18 04:07:49 -07:00
|
|
|
|
2017-01-02 01:18:02 -08:00
|
|
|
registry.addDescription(new ItemStack(ModItems.ALTAR_MAKER), "jei.bloodmagic.desc.altarBuilder");
|
|
|
|
registry.addDescription(new ItemStack(ModItems.MONSTER_SOUL), "jei.bloodmagic.desc.demonicWill");
|
2016-03-18 04:07:49 -07:00
|
|
|
|
2016-09-10 16:13:20 -07:00
|
|
|
jeiHelper.getItemBlacklist().addItemToBlacklist(new ItemStack(ModBlocks.BLOOD_LIGHT));
|
|
|
|
jeiHelper.getItemBlacklist().addItemToBlacklist(new ItemStack(ModBlocks.SPECTRAL_BLOCK));
|
|
|
|
jeiHelper.getItemBlacklist().addItemToBlacklist(new ItemStack(ModBlocks.PHANTOM_BLOCK));
|
|
|
|
jeiHelper.getItemBlacklist().addItemToBlacklist(new ItemStack(ModBlocks.ALCHEMY_ARRAY));
|
|
|
|
jeiHelper.getItemBlacklist().addItemToBlacklist(new ItemStack(ModBlocks.DIMENSIONAL_PORTAL, 1, OreDictionary.WILDCARD_VALUE));
|
2016-03-18 04:07:49 -07:00
|
|
|
|
|
|
|
for (Map.Entry<String, Integer> entry : LivingArmourHandler.upgradeMaxLevelMap.entrySet())
|
|
|
|
{
|
|
|
|
String key = entry.getKey();
|
|
|
|
int maxLevel = entry.getValue();
|
|
|
|
for (int i = 0; i < maxLevel - 1; i++)
|
|
|
|
{
|
2016-09-10 17:04:24 -07:00
|
|
|
ItemStack stack = new ItemStack(ModItems.UPGRADE_TOME);
|
2016-04-11 19:57:23 -04:00
|
|
|
LivingUpgrades.setKey(stack, key);
|
|
|
|
LivingUpgrades.setLevel(stack, i);
|
2016-03-18 04:07:49 -07:00
|
|
|
jeiHelper.getItemBlacklist().addItemToBlacklist(stack);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-04-18 19:23:47 -07:00
|
|
|
registry.addRecipeClickArea(GuiSoulForge.class, 115, 15, 16, 88, Constants.Compat.JEI_CATEGORY_SOULFORGE);
|
|
|
|
|
2016-09-10 16:13:20 -07:00
|
|
|
registry.addRecipeCategoryCraftingItem(new ItemStack(ModBlocks.ALTAR), Constants.Compat.JEI_CATEGORY_ALTAR);
|
|
|
|
registry.addRecipeCategoryCraftingItem(new ItemStack(ModBlocks.SOUL_FORGE), Constants.Compat.JEI_CATEGORY_SOULFORGE);
|
2016-09-10 17:04:24 -07:00
|
|
|
registry.addRecipeCategoryCraftingItem(new ItemStack(ModItems.ARCANE_ASHES), Constants.Compat.JEI_CATEGORY_ALCHEMYARRAY);
|
|
|
|
registry.addRecipeCategoryCraftingItem(new ItemStack(ModItems.ARCANE_ASHES), Constants.Compat.JEI_CATEGORY_BINDING);
|
2016-09-10 16:13:20 -07:00
|
|
|
registry.addRecipeCategoryCraftingItem(new ItemStack(ModBlocks.ALCHEMY_TABLE), Constants.Compat.JEI_CATEGORY_ALCHEMYTABLE);
|
2016-11-10 10:39:19 -05:00
|
|
|
registry.addRecipeCategoryCraftingItem(new ItemStack(ModBlocks.RITUAL_CONTROLLER), Constants.Compat.JEI_CATEGORY_ARMOURDOWNGRADE);
|
2017-01-02 01:18:02 -08:00
|
|
|
}
|
2016-05-01 08:35:07 -07:00
|
|
|
|
2017-01-02 01:18:02 -08:00
|
|
|
@Override
|
|
|
|
public void registerItemSubtypes(ISubtypeRegistry subtypeRegistry) {
|
|
|
|
subtypeRegistry.useNbtForSubtypes(Item.getItemFromBlock(ModBlocks.BLOOD_TANK));
|
2016-03-18 04:07:49 -07:00
|
|
|
}
|
|
|
|
}
|