Adds missing tests for ItemHelper
All checks were successful
EpicKnarvik97/Blacksmith/pipeline/head This commit looks good
All checks were successful
EpicKnarvik97/Blacksmith/pipeline/head This commit looks good
This commit is contained in:
@ -11,8 +11,6 @@ import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.Damageable;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.scheduler.BukkitScheduler;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -209,14 +207,9 @@ public class ReforgeSession implements Runnable {
|
||||
* @param newDamage <p>The new damage done</p>
|
||||
*/
|
||||
private void updateDamage(ItemStack item, int newDamage) {
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
Damageable damageable = (Damageable) meta;
|
||||
if (damageable != null) {
|
||||
damageable.setDamage(newDamage);
|
||||
} else {
|
||||
if (!ItemHelper.updateDamage(item, newDamage)) {
|
||||
BlacksmithPlugin.getInstance().getLogger().log(Level.WARNING, "Unable to change damage of " + item);
|
||||
}
|
||||
item.setItemMeta(meta);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3,6 +3,7 @@ package net.knarcraft.blacksmith.util;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.Damageable;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -67,6 +68,23 @@ public final class ItemHelper {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the damage done to an item
|
||||
*
|
||||
* @param item <p>The item to update damage for</p>
|
||||
* @param newDamage <p>The new damage done</p>
|
||||
* @return <p>True if the damage was updated. False if not damageable.</p>
|
||||
*/
|
||||
public static boolean updateDamage(ItemStack item, int newDamage) {
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
if (!(meta instanceof Damageable damageable)) {
|
||||
return false;
|
||||
}
|
||||
damageable.setDamage(newDamage);
|
||||
item.setItemMeta(meta);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a complete list of all reforge-able materials
|
||||
*
|
||||
|
Reference in New Issue
Block a user