| package forestry.api.recipes; |
| |
| import net.minecraft.item.ItemStack; |
| import net.minecraft.item.crafting.ShapedRecipes; |
| import net.minecraftforge.fluids.FluidStack; |
| |
| /** |
| * Provides an interface to the recipe manager of the carpenter. |
| * |
| * The manager is initialized at the beginning of Forestry's BaseMod.load() cycle. Begin adding recipes in BaseMod.ModsLoaded() and this shouldn't be null even |
| * if your mod loads before Forestry. |
| * |
| * Accessible via {@link RecipeManagers} |
| * |
| * Only shaped recipes can be added currently. |
| * |
| * @author SirSengir |
| */ |
| public interface ICarpenterManager extends ICraftingProvider { |
| /** |
| * Add a shaped recipe to the carpenter. |
| * |
| * @param box |
| * ItemStack of one item representing the required box (carton, crate) for this recipe. May be null. |
| * @param product |
| * Crafting result. |
| * @param materials |
| * Materials needed in the crafting matrix. This gets passed directly to {@link ShapedRecipes}. Notation is the same. |
| */ |
| public void addRecipe(ItemStack box, ItemStack product, Object materials[]); |
| |
| /** |
| * Add a shaped recipe to the carpenter. |
| * |
| * @param packagingTime |
| * Number of work cycles required to craft the recipe once. |
| * @param box |
| * ItemStack of one item representing the required box (carton, crate) for this recipe. May be null. |
| * @param product |
| * Crafting result. |
| * @param materials |
| * Materials needed in the crafting matrix. This gets passed directly to {@link ShapedRecipes}. Notation is the same. |
| */ |
| public void addRecipe(int packagingTime, ItemStack box, ItemStack product, Object materials[]); |
| |
| /** |
| * Add a shaped recipe to the carpenter. |
| * |
| * @param packagingTime |
| * Number of work cycles required to craft the recipe once. |
| * @param liquid |
| * Liquid required in carpenter's tank. |
| * @param box |
| * ItemStack of one item representing the required box (carton, crate) for this recipe. May be null. |
| * @param product |
| * Crafting result. |
| * @param materials |
| * Materials needed in the crafting matrix. This gets passed directly to {@link ShapedRecipes}. Notation is the same. |
| */ |
| public void addRecipe(int packagingTime, FluidStack liquid, ItemStack box, ItemStack product, Object materials[]); |
| |
| public void addCrating(String toCrate, ItemStack unpack, ItemStack crated); |
| |
| public void addCrating(ItemStack itemStack); |
| } |