Removes disableMaterialLimitation
All checks were successful
EpicKnarvik97/Blacksmith/pipeline/head This commit looks good

Removes the disableMaterialLimitation option
Replaces EnchantmentTarget.BREAKABLE.includes(item) with getMaxDurability(item) > 0 as it seems more generic
This commit is contained in:
2023-01-16 19:45:41 +01:00
parent e5cb3b4a30
commit 347b69b2a8
9 changed files with 26 additions and 64 deletions

View File

@ -4,11 +4,11 @@ import be.seeseemelk.mockbukkit.MockBukkit;
import net.knarcraft.blacksmith.CustomServerMock;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.Damageable;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
@ -36,27 +36,17 @@ public class ItemHelperTest {
name.endsWith("_HELMET") || name.equals("ELYTRA") || name.endsWith("BOW") ||
name.endsWith("_LEGGINGS") || name.endsWith("_BOOTS") || name.equals("TRIDENT") ||
name.equals("FISHING_ROD") || name.equals("FLINT_AND_STEEL") || name.equals("SHEARS")) {
assertTrue(ItemHelper.isRepairable(new ItemStack(material, 1), false));
assertTrue(ItemHelper.isRepairable(new ItemStack(material, 1)));
}
}
assertFalse(ItemHelper.isRepairable(new ItemStack(Material.POTATO, 1), false));
assertFalse(ItemHelper.isRepairable(new ItemStack(Material.DIRT, 1), false));
assertFalse(ItemHelper.isRepairable(new ItemStack(Material.POTATO, 1)));
assertFalse(ItemHelper.isRepairable(new ItemStack(Material.DIRT, 1)));
}
@Test
public void isRepairableLimitDisabledTest() {
/*The assertFalse pert of this test is kind of pointless, as every material in the game seems to implement
Damageable */
for (Material material : Material.values()) {
ItemStack itemStack = new ItemStack(material, 1);
if (new ItemStack(material, 1).getItemMeta() instanceof Damageable) {
assertTrue(ItemHelper.isRepairable(itemStack, true));
} else {
assertFalse(ItemHelper.isRepairable(itemStack, true));
}
}
assertTrue(ItemHelper.isRepairable(new ItemStack(Material.POTATO, 1), true));
assertTrue(ItemHelper.isRepairable(new ItemStack(Material.DIRT, 1), true));
public void getMaxDurabilityTest() {
assertEquals(1561, ItemHelper.getMaxDurability(new ItemStack(Material.DIAMOND_PICKAXE, 1)));
assertEquals(0, ItemHelper.getMaxDurability(new ItemStack(Material.POTATO, 1)));
}
}

View File

@ -40,14 +40,14 @@ public class SalvageHelperTest {
@Test
public void getNullForInvalidItemTest() {
//Assert that a non-reforge-able item will return null
assertNull(SalvageHelper.getSalvage(server, new ItemStack(Material.POTATO, 1), null, false));
assertNull(SalvageHelper.getSalvage(server, new ItemStack(Material.POTATO, 1), null));
}
@Test
public void getNullForLessThanOneItemTest() {
//Assert that 0 or 1 items will return null
assertNull(SalvageHelper.getSalvage(server, new ItemStack(Material.IRON_AXE, 0), null, false));
assertNull(SalvageHelper.getSalvage(server, new ItemStack(Material.IRON_SWORD, -1), null, false));
assertNull(SalvageHelper.getSalvage(server, new ItemStack(Material.IRON_AXE, 0), null));
assertNull(SalvageHelper.getSalvage(server, new ItemStack(Material.IRON_SWORD, -1), null));
}
@Test
@ -57,7 +57,7 @@ public class SalvageHelperTest {
expectedSalvage.add(new ItemStack(Material.STICK, 2));
ItemStack itemToSalvage = new ItemStack(Material.DIAMOND_PICKAXE, 1);
//Note: Conversion to sets makes sure the order doesn't matter
assertEquals(expectedSalvage, new HashSet<>(SalvageHelper.getSalvage(server, itemToSalvage, null, false)));
assertEquals(expectedSalvage, new HashSet<>(SalvageHelper.getSalvage(server, itemToSalvage, null)));
}
@Test
@ -67,7 +67,7 @@ public class SalvageHelperTest {
expectedSalvage.add(new ItemStack(Material.STICK, 14));
ItemStack itemToSalvage = new ItemStack(Material.DIAMOND_PICKAXE, 7);
//Note: Conversion to sets makes sure the order doesn't matter
assertEquals(expectedSalvage, new HashSet<>(SalvageHelper.getSalvage(server, itemToSalvage, null, false)));
assertEquals(expectedSalvage, new HashSet<>(SalvageHelper.getSalvage(server, itemToSalvage, null)));
}
@Test
@ -82,7 +82,7 @@ public class SalvageHelperTest {
damageable.setDamage(100);
}
itemToSalvage.setItemMeta(meta);
List<ItemStack> salvage = SalvageHelper.getSalvage(server, itemToSalvage, null, false);
List<ItemStack> salvage = SalvageHelper.getSalvage(server, itemToSalvage, null);
//Assert that some items are given
assertNotEquals(salvage, new ArrayList<>());
//Assert that a damaged item won't give full salvage
@ -102,7 +102,7 @@ public class SalvageHelperTest {
damageable.setDamage(100);
}
itemToSalvage.setItemMeta(meta);
List<ItemStack> salvage = SalvageHelper.getSalvage(server, itemToSalvage, ignoredSalvage, false);
List<ItemStack> salvage = SalvageHelper.getSalvage(server, itemToSalvage, ignoredSalvage);
//Assert that some items are given
assertNotEquals(salvage, new ArrayList<>());
//Assert that a damaged diamond pickaxe with sticks ignored returns 2 diamonds a salvage