65 lines
2.5 KiB
Java
65 lines
2.5 KiB
Java
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);
|
|
}
|