/*
* 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 mods.railcraft.common.blocks.machine.alpha.EnumMachineAlpha;
import mods.railcraft.common.items.ItemRoutingTable;
import mods.railcraft.common.items.ItemTicket;
import net.minecraft.item.ItemStack;
import mods.railcraft.common.items.ItemTicketGold;
import mods.railcraft.common.items.RailcraftPartItems;
import mods.railcraft.common.modules.ModuleManager.Module;
import mods.railcraft.common.util.inventory.InvTools;
import net.minecraft.init.Items;
import net.minecraft.nbt.NBTTagCompound;
import uristqwerty.CraftGuide.api.ItemSlot;
import uristqwerty.CraftGuide.api.RecipeGenerator;
import uristqwerty.CraftGuide.api.RecipeProvider;
import uristqwerty.CraftGuide.api.RecipeTemplate;
import uristqwerty.CraftGuide.api.Slot;
import uristqwerty.CraftGuide.api.SlotType;
/**
*
* @author CovertJaguar <http://www.railcraft.info>
*/
public class CustomRecipesPlugin implements RecipeProvider {
private final Slot[] slots = new Slot[10];
public CustomRecipesPlugin() {
slots[0] = new ItemSlot(59, 21, 16, 16, true).setSlotType(SlotType.OUTPUT_SLOT);
for (int x = 0; x < 3; x++) {
for (int y = 0; y < 3; y++) {
slots[1 + x + y * 3] = new ItemSlot(3 + x * 18, 3 + y * 18, 16, 16, true).setSlotType(SlotType.INPUT_SLOT);
}
}
}
@Override
public void generateRecipes(RecipeGenerator generator) {
RecipeTemplate template = generator.createRecipeTemplate(slots, null, "/gui/CraftGuideRecipe.png", 1, 1, 82, 1);
// Rotor Repair
if (EnumMachineAlpha.TURBINE.isAvaliable()) {
ItemStack[] rotorRepair = new ItemStack[10];
rotorRepair[0] = RailcraftPartItems.getTurbineRotor();
rotorRepair[0].setItemDamage(1);
for (int i = 0; i < 9; i++) {
rotorRepair[i + 1] = RailcraftPartItems.getTurbineBlade();
}
rotorRepair[5] = RailcraftPartItems.getTurbineRotor();
rotorRepair[5].setItemDamage(25000);
generator.addRecipe(template, rotorRepair);
}
// Ticket
if (Module.ROUTING.isEnabled()) {
ItemStack[] ticket = new ItemStack[10];
ticket[0] = ItemTicket.getTicket();
ticket[1] = ItemTicketGold.getTicket();
ticket[2] = new ItemStack(Items.paper);
NBTTagCompound nbt = InvTools.getItemData(ticket[0]);
nbt.setString("owner", "CovertJaguar");
nbt.setString("dest", "TheFarLands/Milliways");
ticket[0].setTagCompound(nbt);
ticket[1].setTagCompound(nbt);
generator.addRecipe(template, ticket);
// Routing Table
ItemStack[] routingTable = new ItemStack[10];
routingTable[0] = ItemRoutingTable.getItem();
routingTable[0].stackSize = 2;
InvTools.addItemToolTip(routingTable[0], "Edited");
routingTable[1] = ItemRoutingTable.getItem();
InvTools.addItemToolTip(routingTable[1], "Edited");
routingTable[2] = ItemRoutingTable.getItem();
InvTools.addItemToolTip(routingTable[2], "Blank");
generator.addRecipe(template, routingTable);
}
}
}