mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-03 08:35:20 +00:00
Item: Remove "ench" tag when all enchantments are removed from an item (#4184)
fixes #4144
This commit is contained in:
@ -25,12 +25,15 @@ namespace pocketmine\item;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use pocketmine\block\BlockFactory;
|
||||
use pocketmine\item\enchantment\Enchantment;
|
||||
use pocketmine\item\enchantment\EnchantmentInstance;
|
||||
|
||||
class ItemTest extends TestCase{
|
||||
|
||||
public function setUp() : void{
|
||||
BlockFactory::init();
|
||||
ItemFactory::init();
|
||||
Enchantment::init();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -61,6 +64,16 @@ class ItemTest extends TestCase{
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that when all enchantments are removed from an item, the "ench" tag is removed as well
|
||||
*/
|
||||
public function testEnchantmentRemoval() : void{
|
||||
$item = ItemFactory::get(Item::DIAMOND_SWORD);
|
||||
$item->addEnchantment(new EnchantmentInstance(Enchantment::getEnchantment(Enchantment::SHARPNESS)));
|
||||
$item->removeEnchantment(Enchantment::SHARPNESS);
|
||||
self::assertNull($item->getNamedTag()->getTag(Item::TAG_ENCH));
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed[][]
|
||||
* @phpstan-return list<array{string,int,int}>
|
||||
|
Reference in New Issue
Block a user