package net.obnoxint.mcdev.util; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ShapelessRecipe; public class SerializableShapelessRecipe extends SerializableRecipe { private static final long serialVersionUID = -2543468009929371382L; private final List<SerializableItemStack> ingredients; public SerializableShapelessRecipe(final ShapelessRecipe recipe) { super(RECIPE_TYPE_SHAPELESS, recipe); final List<SerializableItemStack> in = new ArrayList<>(); for (final ItemStack is : recipe.getIngredientList()) { in.add(new SerializableItemStack(is)); } ingredients = in; } public List<SerializableItemStack> getIngredients() { return Collections.unmodifiableList(ingredients); } public ShapelessRecipe toShapelessRecipe() { final ShapelessRecipe r = new ShapelessRecipe(getResult().toItemStack()); for (final SerializableItemStack sis : ingredients) { r.addIngredient(sis.getAmount(), sis.getMaterialData()); } return r; } }