mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-07-31 19:45:26 +02:00
Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable
This commit is contained in:
@@ -228,7 +228,7 @@ public class SkillUtils {
|
||||
* @param maxDamageModifier the amount to adjust the max damage by
|
||||
*/
|
||||
public static void handleDurabilityChange(ItemStack itemStack, double durabilityModifier, double maxDamageModifier) {
|
||||
if (itemStack.hasItemMeta() && itemStack.getItemMeta().isUnbreakable()) {
|
||||
if (itemStack.getEnchantments().get(Enchantment.DURABILITY) != null && itemStack.getEnchantments().get(Enchantment.DURABILITY) >= 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -303,4 +303,44 @@ public class SkillUtils {
|
||||
|
||||
return quantity;
|
||||
}
|
||||
|
||||
public static int getRepairAndSalvageQuantities(Material itemMaterial, List<Material> recipeMaterials) {
|
||||
int quantity = 0;
|
||||
|
||||
for(Iterator<? extends Recipe> recipeIterator = Bukkit.getServer().recipeIterator(); recipeIterator.hasNext();) {
|
||||
Recipe bukkitRecipe = recipeIterator.next();
|
||||
|
||||
if(bukkitRecipe.getResult().getType() != itemMaterial)
|
||||
continue;
|
||||
|
||||
boolean matchedIngredient = false;
|
||||
|
||||
for(Material recipeMaterial : recipeMaterials) {
|
||||
if(matchedIngredient)
|
||||
break;
|
||||
|
||||
if(bukkitRecipe instanceof ShapelessRecipe) {
|
||||
for (ItemStack ingredient : ((ShapelessRecipe) bukkitRecipe).getIngredientList()) {
|
||||
if (ingredient != null
|
||||
&& (recipeMaterial == null || ingredient.getType() == recipeMaterial)
|
||||
&& (ingredient.getType() == recipeMaterial)) {
|
||||
quantity += ingredient.getAmount();
|
||||
matchedIngredient = true;
|
||||
}
|
||||
}
|
||||
} else if(bukkitRecipe instanceof ShapedRecipe) {
|
||||
for (ItemStack ingredient : ((ShapedRecipe) bukkitRecipe).getIngredientMap().values()) {
|
||||
if (ingredient != null
|
||||
&& (recipeMaterial == null || ingredient.getType() == recipeMaterial)
|
||||
&& (ingredient.getType() == recipeMaterial)) {
|
||||
quantity += ingredient.getAmount();
|
||||
matchedIngredient = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return quantity;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user