package untouchedwagons.minecraft.mcrc2.minecraft; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.item.crafting.IRecipe; import untouchedwagons.minecraft.mcrc2.api.mods.IModSupportService; import untouchedwagons.minecraft.mcrc2.api.recipes.RecipeWrapper; import untouchedwagons.minecraft.mcrc2.minecraft.recipes.furnace.FurnaceRecipeList; import untouchedwagons.minecraft.mcrc2.minecraft.recipes.furnace.FurnaceRecipeWrapper; import java.util.Iterator; import java.util.Map; public class MinecraftFurnaceSupportService implements Iterator<RecipeWrapper>, IModSupportService { private Iterator furnace_iterator; private Map<Item, String> item_id_lookup; @Override public void setItemIdReverseLookup(Map<Item, String> item_id_lookup) { this.item_id_lookup = item_id_lookup; } @Override public void setRecipeWrapperRepository(Map<Class<? extends IRecipe>, Class<? extends RecipeWrapper>> wrapper_providers) { } @Override public boolean shouldActivateService() { return true; } @Override public Iterator<RecipeWrapper> iterator() { return this; } @Override public boolean hasNext() { if (this.furnace_iterator == null) { this.furnace_iterator = new FurnaceRecipeList(FurnaceRecipes.smelting()).iterator(); } return this.furnace_iterator.hasNext(); } @Override public RecipeWrapper next() { return new FurnaceRecipeWrapper((IRecipe)this.furnace_iterator.next(), this.item_id_lookup); } @Override public void remove() { throw new UnsupportedOperationException(); } }