/*
* Copyright (c) CovertJaguar, 2014 http://railcraft.info
*
* This code is the property of CovertJaguar
* and may only be used with explicit written
* permission unless otherwise specified on the
* license page at http://railcraft.info/wiki/info:license.
*/
package mods.railcraft.common.plugins.craftguide;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import net.minecraft.item.ItemStack;
import mods.railcraft.api.crafting.IRockCrusherRecipe;
import mods.railcraft.api.crafting.RailcraftCraftingManager;
import mods.railcraft.common.blocks.machine.alpha.EnumMachineAlpha;
import mods.railcraft.common.core.RailcraftConstants;
import uristqwerty.CraftGuide.api.ItemSlot;
import uristqwerty.CraftGuide.api.RecipeGenerator;
import uristqwerty.CraftGuide.api.RecipeProvider;
import uristqwerty.CraftGuide.api.RecipeTemplate;
import uristqwerty.CraftGuide.api.SlotType;
/**
*
* @author CovertJaguar <http://www.railcraft.info>
*/
public class RockCrusherPlugin implements RecipeProvider {
private static final int RATIO = 10000;
private final ItemSlot[] slots = new ItemSlot[11];
public RockCrusherPlugin() {
slots[0] = new ItemSlot(4, 11, 16, 16);
for (int y = 0; y < 3; y++) {
for (int x = 0; x < 3; x++) {
slots[1 + y * 3 + x] = new FloatChanceSlot(24 + x * 18, 3 + y * 18, 16, 16, true).setSlotType(SlotType.OUTPUT_SLOT);
}
}
slots[10] = new ItemSlot(4, 34, 16, 16).setSlotType(SlotType.MACHINE_SLOT);
}
@Override
public void generateRecipes(RecipeGenerator generator) {
ItemStack crafter = EnumMachineAlpha.ROCK_CRUSHER.getItem();
if (crafter != null) {
RecipeTemplate template = generator.createRecipeTemplate(slots, crafter, RailcraftConstants.GUI_TEXTURE_FOLDER + "gui_craft_guide.png", 1, 61, 82, 61);
for (IRockCrusherRecipe recipe : RailcraftCraftingManager.rockCrusher.getRecipes()) {
Object[] items = new Object[11];
items[0] = recipe.getInput();
List<Map.Entry<ItemStack, Float>> output = recipe.getOutputs();
int i = 1;
for (Entry<ItemStack, Float> e : output) {
if (i > 9) {
break;
}
items[i] = new Object[]{e.getKey(), e.getValue()};
i++;
}
items[10] = crafter;
generator.addRecipe(template, items);
}
}
}
}