mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-31 00:20:44 +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() {
|
public int getProtocolVersion() {
|
||||||
return net.minecraft.SharedConstants.getCurrentVersion().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
|
// 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