本文整理汇总了Java中org.bukkit.inventory.ShapelessRecipe.getIngredientList方法的典型用法代码示例。如果您正苦于以下问题:Java ShapelessRecipe.getIngredientList方法的具体用法?Java ShapelessRecipe.getIngredientList怎么用?Java ShapelessRecipe.getIngredientList使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.bukkit.inventory.ShapelessRecipe
的用法示例。
在下文中一共展示了ShapelessRecipe.getIngredientList方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: fromBukkitRecipe
import org.bukkit.inventory.ShapelessRecipe; //导入方法依赖的package包/类
public static CraftShapelessRecipe fromBukkitRecipe(ShapelessRecipe recipe) {
if (recipe instanceof CraftShapelessRecipe) {
return (CraftShapelessRecipe) recipe;
}
CraftShapelessRecipe ret = new CraftShapelessRecipe(recipe.getResult());
for (ItemStack ingred : recipe.getIngredientList()) {
ret.addIngredient(ingred.getType(), ingred.getDurability());
}
return ret;
}
示例2: fromBukkitRecipe
import org.bukkit.inventory.ShapelessRecipe; //导入方法依赖的package包/类
public static CraftShapelessRecipe fromBukkitRecipe(ShapelessRecipe recipe) {
if (recipe instanceof CraftShapelessRecipe) {
return (CraftShapelessRecipe) recipe;
}
CraftShapelessRecipe ret = new CraftShapelessRecipe(recipe.getKey(), recipe.getResult());
for (ItemStack ingred : recipe.getIngredientList()) {
ret.addIngredient(ingred.getType(), ingred.getDurability());
}
return ret;
}
示例3: collect
import org.bukkit.inventory.ShapelessRecipe; //导入方法依赖的package包/类
Transaction collect(ShapelessRecipe recipe) {
List<ItemStack> ingredients = recipe.getIngredientList();
List<ItemStack> collected = new ArrayList<ItemStack>(ingredients.size());
INGREDIENTS: for (ItemStack ingredient : ingredients) {
for (ItemStack item : collected) {
if (ItemUtils.itemEqualsTypeAndData(item, ingredient)) {
item.setAmount(item.getAmount() + ingredient.getAmount());
continue INGREDIENTS;
}
}
collected.add(ingredient);
}
return new Transaction(collected, recipe.getResult());
}
示例4: verify
import org.bukkit.inventory.ShapelessRecipe; //导入方法依赖的package包/类
/**
* Returns true if the recipe contained in this verifier matches the given
* {@link ShapelessRecipe}.
*
* @param recipe
* @return True if the recipe was verified.
*/
boolean verify(ShapelessRecipe recipe) {
List<ItemStack> ingredients = recipe.getIngredientList();
for (int i = 0; i < rows; i++) {
RECIPEITEM: for (int j = 0; j < columns; j++) {
ItemStack recipeItem = matrix[i][j];
if (recipeItem == null)
continue;
for (Iterator<ItemStack> it = ingredients.iterator(); it.hasNext();) {
ItemStack ingredient = it.next();
if (ItemUtils.recipeIngredientEqualsTypeAndData(ingredient, recipeItem)) {
int amount = ingredient.getAmount();
if (amount == 1)
it.remove();
else
ingredient.setAmount(amount - 1);
continue RECIPEITEM;
}
}
// An item in the matrix is not on the ingredient list.
return false;
}
}
// If the list of ingredients was exhausted, recipe verified.
if (ingredients.size() == 0)
return true;
// Unsatisfied ingredients remain.
return false;
}
示例5: SerialisableShapelessRecipe
import org.bukkit.inventory.ShapelessRecipe; //导入方法依赖的package包/类
public SerialisableShapelessRecipe(ShapelessRecipe recipe) {
this.ingredients = recipe.getIngredientList();
this.result = recipe.getResult();
}
示例6: shapelessRecipesMatch
import org.bukkit.inventory.ShapelessRecipe; //导入方法依赖的package包/类
/**
* Checks to see if the ingredients of the recipes are the same.
*
* @param a Recipe A
* @param b Recipe B
* @return If A & B have the same ingredients
*/
private boolean shapelessRecipesMatch(ShapelessRecipe a, ShapelessRecipe b) {
final List<ItemStack> aL = a.getIngredientList();
final List<ItemStack> bL = b.getIngredientList();
return aL.size() == bL.size() && aL.containsAll(bL);
}