private List<ICookingHeatSource> recipeLoader() { sources = new ArrayList<ICookingHeatSource>(); List<ICookingHeatSource> list = new ArrayList<ICookingHeatSource>(); if (RecipeRegisterManager.plateRecipe.getHeatSourcesList() != null && !RecipeRegisterManager.plateRecipe.getHeatSourcesList().isEmpty()) { list.addAll( (List<ICookingHeatSource>) RecipeRegisterManager.plateRecipe.getHeatSourcesList()); } if (RecipeRegisterManager.panRecipe.getHeatSourcesList() != null && !RecipeRegisterManager.panRecipe.getHeatSourcesList().isEmpty()) { list.addAll((List<ICookingHeatSource>) RecipeRegisterManager.panRecipe.getHeatSourcesList()); } if (!list.isEmpty()) { for (ICookingHeatSource c : list) { boolean b = true; for (ICookingHeatSource t : sources) { if (t.getBlock() == null) continue; if (t.getBlock() == c.getBlock() && t.getMetadata() == c.getMetadata()) { b = false; } } if (b) { sources.add(c); } } } return this.sources; }
@Override public void loadCraftingRecipes(String outputId, Object... results) { if (outputId.equals("DCsHeatSource") && getClass() == HeatSourceHandler.class) { List<ICookingHeatSource> recipes = this.recipeLoader(); if (recipes == null || recipes.isEmpty()) return; for (ICookingHeatSource recipe : recipes) { Block block = recipe.getBlock(); int m = recipe.getMetadata(); boolean a = RecipeRegisterManager.plateRecipe.isHeatSource(block, m); boolean b = RecipeRegisterManager.panRecipe.isHeatSource(block, m); arecipes.add(new HeatRecipeCacher(new ItemStack(block, 1, m), a, b)); } } else { super.loadCraftingRecipes(outputId, results); } }
@Override public void loadUsageRecipes(ItemStack ingredient) { List<ICookingHeatSource> recipes = this.recipeLoader(); if (recipes == null || recipes.isEmpty()) return; for (ICookingHeatSource recipe : recipes) { Block block = recipe.getBlock(); int m = recipe.getMetadata(); ItemStack item = new ItemStack(block, 1, m); boolean a = RecipeRegisterManager.plateRecipe.isHeatSource(block, m); boolean b = RecipeRegisterManager.panRecipe.isHeatSource(block, m); if (ingredient.getItem() == item.getItem() && ingredient.getItemDamage() == item.getItemDamage()) { arecipes.add(new HeatRecipeCacher(ingredient, a, b)); } else if (ingredient.getItem() == Item.getItemFromBlock(DCsAppleMilk.teppanII)) { arecipes.add(new HeatRecipeCacher(item, a, b)); } else if (ingredient.getItem() == Item.getItemFromBlock(DCsAppleMilk.emptyPanGaiden)) { arecipes.add(new HeatRecipeCacher(item, a, b)); } } }