/* * 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.util.steam; import mods.railcraft.common.items.firestone.ItemFirestoneRefined; import mods.railcraft.common.plugins.forge.FuelPlugin; import mods.railcraft.common.util.inventory.InvTools; import net.minecraft.inventory.IInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; /** * * @author CovertJaguar <http://www.railcraft.info/> */ public class SolidFuelProvider implements IFuelProvider { private final IInventory inv; private final int slot; private Item lastItem; public SolidFuelProvider(IInventory inv, int slot) { this.inv = inv; this.slot = slot; } @Override public double getHeatStep() { if (lastItem instanceof ItemFirestoneRefined) return Steam.HEAT_STEP * 30; return Steam.HEAT_STEP; } @Override public double getMoreFuel() { ItemStack fuel = inv.getStackInSlot(slot); int burn = FuelPlugin.getBurnTime(fuel); if (burn > 0) { lastItem = fuel.getItem(); inv.setInventorySlotContents(slot, InvTools.depleteItem(fuel)); } return burn; } }