49fcc7f510
Missing Icon now supports Items. Fixed Missing Icons for debug Items. SkyStone Chests can now be disabled. More work on Website Recipes. Removed Unused method in Network Handler.
62 lines
1.8 KiB
Java
62 lines
1.8 KiB
Java
package appeng.recipes.handlers;
|
|
|
|
import java.util.List;
|
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
import appeng.api.exceptions.MissingIngredientError;
|
|
import appeng.api.exceptions.RecipeError;
|
|
import appeng.api.exceptions.RegistrationError;
|
|
import appeng.api.recipes.ICraftHandler;
|
|
import appeng.api.recipes.IIngredient;
|
|
import appeng.recipes.RecipeHandler;
|
|
import appeng.util.Platform;
|
|
import cpw.mods.fml.common.registry.GameRegistry;
|
|
|
|
public class Smelt implements ICraftHandler, IWebsiteSeralizer
|
|
{
|
|
|
|
IIngredient in;
|
|
IIngredient out;
|
|
|
|
@Override
|
|
public void setup(List<List<IIngredient>> input, List<List<IIngredient>> output) throws RecipeError
|
|
{
|
|
if ( input.size() == 1 && output.size() == 1 )
|
|
{
|
|
List<IIngredient> inputList = input.get( 0 );
|
|
List<IIngredient> outputList = output.get( 0 );
|
|
if ( inputList.size() == 1 && outputList.size() == 1 )
|
|
{
|
|
in = inputList.get( 0 );
|
|
out = outputList.get( 0 );
|
|
return;
|
|
}
|
|
}
|
|
throw new RecipeError( "Smelting recipe can only have a single input and output." );
|
|
}
|
|
|
|
@Override
|
|
public void register() throws RegistrationError, MissingIngredientError
|
|
{
|
|
if ( in.getItemStack().getItem() == null )
|
|
throw new RegistrationError( in.toString() + ": Smelting Input is not a valid item." );
|
|
|
|
if ( out.getItemStack().getItem() == null )
|
|
throw new RegistrationError( out.toString() + ": Smelting Output is not a valid item." );
|
|
|
|
GameRegistry.addSmelting( in.getItemStack(), out.getItemStack(), 0 );
|
|
}
|
|
|
|
@Override
|
|
public boolean canCraft(ItemStack reqOutput) throws RegistrationError, MissingIngredientError {
|
|
return Platform.isSameItemPrecise( out.getItemStack(),reqOutput );
|
|
}
|
|
|
|
@Override
|
|
public String getPattern( RecipeHandler h ) {
|
|
return "smelt "+out.getQty()+"\n"+
|
|
h.getName(out)+"\n"+
|
|
h.getName(in);
|
|
}
|
|
}
|