/**
* Copyright (c) Lambda Innovation, 2013-2016
* This file is part of the AcademyCraft mod.
* https://github.com/LambdaInnovation/AcademyCraft
* Licensed under GPLv3, see project root for more information.
*/
package cn.academy.support.minetweaker;
import cn.academy.crafting.block.TileMetalFormer.Mode;
import minetweaker.MineTweakerAPI;
import minetweaker.OneWayAction;
import minetweaker.api.item.IItemStack;
import net.minecraft.item.ItemStack;
import stanhebben.zenscript.annotations.ZenClass;
import stanhebben.zenscript.annotations.ZenMethod;
import static cn.academy.crafting.api.MetalFormerRecipes.INSTANCE;
import static cn.academy.support.minetweaker.MTSupport.toStack;
/**
*
* @author 3TUSK
*/
@ZenClass("mods.academycraft.MetalFormer")
public class MetalFormerSupport {
@ZenMethod
public static void addEtchRecipe(IItemStack output, IItemStack input) {
MineTweakerAPI.apply(new AddMetalFormerRecipe(input, output, Mode.ETCH));
}
@ZenMethod
public static void addInciseRecipe(IItemStack output, IItemStack input) {
MineTweakerAPI.apply(new AddMetalFormerRecipe(input, output, Mode.INCISE));
}
@ZenMethod
public static void addPlateRecipe(IItemStack output, IItemStack input) {
MineTweakerAPI.apply(new AddMetalFormerRecipe(input, output, Mode.PLATE));
}
private static class AddMetalFormerRecipe extends OneWayAction {
ItemStack input, output;
Mode mode;
public AddMetalFormerRecipe(IItemStack input, IItemStack output, Mode mode) {
this.input = toStack(input);
this.output = toStack(output);
this.mode = mode;
}
@Override
public void apply() {
INSTANCE.add(input, output, mode);
}
@Override
public String describe() {
return "Add extra metal former etching recipe for " + input.getUnlocalizedName();
}
@Override
public Object getOverrideKey() {
return null;
}
}
}