diff --git a/MODSRC/vazkii/botania/api/BotaniaAPI.java b/MODSRC/vazkii/botania/api/BotaniaAPI.java index ac39d4d5b..d082f6aa6 100644 --- a/MODSRC/vazkii/botania/api/BotaniaAPI.java +++ b/MODSRC/vazkii/botania/api/BotaniaAPI.java @@ -14,6 +14,8 @@ package vazkii.botania.api; import java.util.ArrayList; import java.util.List; +import net.minecraft.item.crafting.CraftingManager; +import net.minecraft.item.crafting.IRecipe; import vazkii.botania.api.internal.DummyMethodHandler; import vazkii.botania.api.internal.IInternalMethodHandler; @@ -49,4 +51,20 @@ public final class BotaniaAPI { allEntries.add(entry); category.entries.add(entry); } + + /** + * Gets the last recipe to have been added to the recipe list. + */ + public static IRecipe getLatestAddedRecipe() { + List list = CraftingManager.getInstance().getRecipeList(); + return list.get(list.size() - 1); + } + + /** + * Gets the last x recipes added to the recipe list. + */ + public static List getLatestAddedRecipes(int x) { + List list = CraftingManager.getInstance().getRecipeList(); + return list.subList(list.size() - 1 - x, list.size() - 1); + } } diff --git a/MODSRC/vazkii/botania/api/internal/DummyMethodHandler.java b/MODSRC/vazkii/botania/api/internal/DummyMethodHandler.java index 165ee8457..176ee2a46 100644 --- a/MODSRC/vazkii/botania/api/internal/DummyMethodHandler.java +++ b/MODSRC/vazkii/botania/api/internal/DummyMethodHandler.java @@ -11,6 +11,9 @@ */ package vazkii.botania.api.internal; +import java.util.List; + +import net.minecraft.item.crafting.IRecipe; import vazkii.botania.api.page.LexiconPage; import vazkii.botania.api.page.PageDummy; @@ -23,11 +26,23 @@ public class DummyMethodHandler implements IInternalMethodHandler { @Override public LexiconPage imagePage(String key, String resource) { - return dummyPage(resource); + return dummyPage(key); } + @Override + public LexiconPage recipesPage(String key, List recipes) { + return dummyPage(key); + } + + @Override + public LexiconPage recipePage(String key, IRecipe recipe) { + return dummyPage(key); + } + + private LexiconPage dummyPage(String key) { return new PageDummy(key); } + } diff --git a/MODSRC/vazkii/botania/api/internal/IInternalMethodHandler.java b/MODSRC/vazkii/botania/api/internal/IInternalMethodHandler.java index 86901e656..8afeffed7 100644 --- a/MODSRC/vazkii/botania/api/internal/IInternalMethodHandler.java +++ b/MODSRC/vazkii/botania/api/internal/IInternalMethodHandler.java @@ -11,6 +11,9 @@ */ package vazkii.botania.api.internal; +import java.util.List; + +import net.minecraft.item.crafting.IRecipe; import vazkii.botania.api.page.LexiconPage; /** @@ -26,4 +29,8 @@ public interface IInternalMethodHandler { public LexiconPage imagePage(String key, String resource); + public LexiconPage recipesPage(String key, List recipes); + + public LexiconPage recipePage(String key, IRecipe recipe); + } diff --git a/MODSRC/vazkii/botania/common/core/handler/InternalMethodHandler.java b/MODSRC/vazkii/botania/common/core/handler/InternalMethodHandler.java index 937933092..28acb46eb 100644 --- a/MODSRC/vazkii/botania/common/core/handler/InternalMethodHandler.java +++ b/MODSRC/vazkii/botania/common/core/handler/InternalMethodHandler.java @@ -11,8 +11,12 @@ */ package vazkii.botania.common.core.handler; +import java.util.List; + +import net.minecraft.item.crafting.IRecipe; import vazkii.botania.api.internal.IInternalMethodHandler; import vazkii.botania.api.page.LexiconPage; +import vazkii.botania.common.lexicon.page.PageCraftingRecipes; import vazkii.botania.common.lexicon.page.PageImage; import vazkii.botania.common.lexicon.page.PageText; @@ -28,4 +32,14 @@ public class InternalMethodHandler implements IInternalMethodHandler { return new PageImage(key, resource); } + @Override + public LexiconPage recipesPage(String key, List recipes) { + return new PageCraftingRecipes(key, recipes); + } + + @Override + public LexiconPage recipePage(String key, IRecipe recipe) { + return new PageCraftingRecipes(key, recipe); + } + } diff --git a/MODSRC/vazkii/botania/common/lexicon/page/PageCraftingRecipes.java b/MODSRC/vazkii/botania/common/lexicon/page/PageCraftingRecipes.java new file mode 100644 index 000000000..940046297 --- /dev/null +++ b/MODSRC/vazkii/botania/common/lexicon/page/PageCraftingRecipes.java @@ -0,0 +1,39 @@ +/** + * This class was created by . It's distributed as + * part of the Botania Mod. Get the Source Code in github: + * https://github.com/Vazkii/Botania + * + * Botania is Open Source and distributed under a + * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License + * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) + * + * File Created @ [Jan 19, 2014, 4:58:19 PM (GMT)] + */ +package vazkii.botania.common.lexicon.page; + +import java.util.Arrays; +import java.util.List; + +import net.minecraft.item.crafting.IRecipe; +import vazkii.botania.api.internal.IGuiLexiconEntry; +import vazkii.botania.api.page.LexiconPage; + +public class PageCraftingRecipes extends LexiconPage { + + List recipes; + + public PageCraftingRecipes(String unlocalizedName, List recipes) { + super(unlocalizedName); + this.recipes = recipes; + } + + public PageCraftingRecipes(String unlocalizedName, IRecipe recipe) { + this(unlocalizedName, Arrays.asList(recipe)); + } + + @Override + public void renderScreen(IGuiLexiconEntry gui, int mx, int my) { + // TODO + } + +} diff --git a/MODSRC/vazkii/botania/common/lib/LibOreDict.java b/MODSRC/vazkii/botania/common/lib/LibOreDict.java index 7fbd9cfe6..3507741b7 100644 --- a/MODSRC/vazkii/botania/common/lib/LibOreDict.java +++ b/MODSRC/vazkii/botania/common/lib/LibOreDict.java @@ -11,8 +11,6 @@ */ package vazkii.botania.common.lib; -import net.minecraftforge.oredict.OreDictionary; - public final class LibOreDict { public static final String[] FLOWER = new String[] {