mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-28 23:38:25 +01:00
ItemStack repair check API
This commit is contained in:
parent
d6b69e74a9
commit
121534e841
2 changed files with 49 additions and 0 deletions
|
@ -548,6 +548,14 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
|||
public int getProtocolVersion() {
|
||||
return net.minecraft.SharedConstants.getCurrentVersion().getProtocolVersion();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValidRepairItemStack(org.bukkit.inventory.ItemStack itemToBeRepaired, org.bukkit.inventory.ItemStack repairMaterial) {
|
||||
if (!itemToBeRepaired.getType().isItem() || !repairMaterial.getType().isItem()) {
|
||||
return false;
|
||||
}
|
||||
return CraftItemStack.unwrap(itemToBeRepaired).isValidRepairItem(CraftItemStack.unwrap(repairMaterial));
|
||||
}
|
||||
// Paper end
|
||||
|
||||
/**
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
package io.papermc.paper.util;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.support.environment.VanillaFeature;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
@VanillaFeature
|
||||
public class ItemStackRepairCheckTest {
|
||||
|
||||
@Test
|
||||
public void testIsRepariableBy() {
|
||||
ItemStack diamondPick = new ItemStack(Material.DIAMOND_PICKAXE);
|
||||
|
||||
assertTrue(diamondPick.isRepairableBy(new ItemStack(Material.DIAMOND)), "diamond pick isn't repairable by a diamond");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCanRepair() {
|
||||
ItemStack diamond = new ItemStack(Material.DIAMOND);
|
||||
|
||||
assertTrue(diamond.canRepair(new ItemStack(Material.DIAMOND_AXE)), "diamond can't repair a diamond axe");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsNotRepairableBy() {
|
||||
ItemStack notDiamondPick = new ItemStack(Material.ACACIA_SAPLING);
|
||||
|
||||
assertFalse(notDiamondPick.isRepairableBy(new ItemStack(Material.DIAMOND)), "acacia sapling is repairable by a diamond");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCanNotRepair() {
|
||||
ItemStack diamond = new ItemStack(Material.DIAMOND);
|
||||
|
||||
assertFalse(diamond.canRepair(new ItemStack(Material.OAK_BUTTON)), "diamond can repair oak button");
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue