package modtweaker.mods.botania.handlers; import java.util.ArrayList; import java.util.List; import static modtweaker.helpers.InputHelper.toObject; import static modtweaker.helpers.InputHelper.toObjects; import static modtweaker.helpers.InputHelper.toShapedObjects; import static modtweaker.helpers.InputHelper.toStack; import minetweaker.MineTweakerAPI; import minetweaker.api.item.IIngredient; import minetweaker.api.item.IItemStack; import minetweaker.api.recipes.ShapedRecipe; import minetweaker.mc1710.recipes.RecipeConverter; import modtweaker.mods.botania.BotaniaHelper; import modtweaker.mods.botania.lexicon.AddCategory; import modtweaker.mods.botania.lexicon.AddEntry; import modtweaker.mods.botania.lexicon.AddPage; import modtweaker.mods.botania.lexicon.AddRecipeMapping; import modtweaker.mods.botania.lexicon.RemoveCategory; import modtweaker.mods.botania.lexicon.RemoveEntry; import modtweaker.mods.botania.lexicon.RemovePage; import modtweaker.mods.botania.lexicon.RemoveRecipeMapping; import modtweaker.mods.botania.lexicon.SetCategoryIcon; import modtweaker.mods.botania.lexicon.SetCategoryPriority; import modtweaker.mods.botania.lexicon.SetEntryKnowledgeType; import modtweaker.util.BaseListAddition; import modtweaker.util.BaseListRemoval; import net.minecraft.entity.EntityList; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.util.ResourceLocation; import stanhebben.zenscript.annotations.ZenClass; import stanhebben.zenscript.annotations.ZenMethod; import vazkii.botania.api.BotaniaAPI; import vazkii.botania.api.lexicon.KnowledgeType; import vazkii.botania.api.lexicon.LexiconCategory; import vazkii.botania.api.lexicon.LexiconEntry; import vazkii.botania.api.lexicon.LexiconPage; import vazkii.botania.api.lexicon.LexiconRecipeMappings; import vazkii.botania.api.recipe.RecipeBrew; import vazkii.botania.api.recipe.RecipeElvenTrade; import vazkii.botania.api.recipe.RecipeManaInfusion; import vazkii.botania.api.recipe.RecipePetals; import vazkii.botania.api.recipe.RecipeRuneAltar; import vazkii.botania.common.lexicon.page.PageBrew; import vazkii.botania.common.lexicon.page.PageCraftingRecipe; import vazkii.botania.common.lexicon.page.PageElvenRecipe; import vazkii.botania.common.lexicon.page.PageEntity; import vazkii.botania.common.lexicon.page.PageImage; import vazkii.botania.common.lexicon.page.PageLoreText; import vazkii.botania.common.lexicon.page.PageManaInfusionRecipe; import vazkii.botania.common.lexicon.page.PagePetalRecipe; import vazkii.botania.common.lexicon.page.PageRuneRecipe; import vazkii.botania.common.lexicon.page.PageText; @ZenClass("mods.botania.Lexicon") public class Lexicon { @ZenMethod public static void addBrewPage(String name, String entry, int page_number, String brew, IIngredient[] recipe, String bottomText) { LexiconEntry lexiconEntry=BotaniaHelper.findEntry(entry); RecipeBrew page_recipe=new RecipeBrew(BotaniaAPI.getBrewFromKey(brew),(Object[])recipe); LexiconPage page=new PageBrew(page_recipe,name,bottomText); MineTweakerAPI.apply(new AddPage(name,lexiconEntry,page,page_number)); } @ZenMethod public static void addCraftingPage(String name, String entry, int page_number, IItemStack[] outputs, IIngredient[][][] inputs) { LexiconEntry lexiconEntry=BotaniaHelper.findEntry(entry); if(lexiconEntry==null) { MineTweakerAPI.getLogger().logError("Cannot find lexicon entry "+entry); return; } if(outputs.length!=inputs.length) { MineTweakerAPI.getLogger().logError("Length of input and output must match"); return; } List recipes=new ArrayList(); for(int i=0;i recipes=new ArrayList(); for(int i=0;i recipes=new ArrayList(); for(int i=0;i recipes=new ArrayList(); for(int i=0;i recipes=new ArrayList(); for(int i=0;i recipes=new ArrayList(); for(int i=0;i recipes=new ArrayList(); for(int i=0;i