pocketmine\item\Item::getEnchantmentLevel PHP Method

getEnchantmentLevel() public method

public getEnchantmentLevel ( integer $id ) : Int
$id integer
return Int level|0(for null)
    public function getEnchantmentLevel(int $id)
    {
        if (!$this->hasEnchantments()) {
            return 0;
        }
        foreach ($this->getNamedTag()->ench as $entry) {
            if ($entry["id"] === $id) {
                $e = Enchantment::getEnchantment($entry["id"]);
                $e->setLevel($entry["lvl"]);
                $E_level = $e->getLevel() > Enchantment::getEnchantMaxLevel($id) ? Enchantment::getEnchantMaxLevel($id) : $e->getLevel();
                return $E_level;
            }
        }
        return 0;
    }

Usage Example

Example #1
0
 public function getDrops(Item $item) : array
 {
     if ($item->getEnchantmentLevel(Enchantment::TYPE_MINING_SILK_TOUCH) > 0) {
         return [[Item::MELON_BLOCK, 0, 1]];
     } else {
         $fortunel = $item->getEnchantmentLevel(Enchantment::TYPE_MINING_FORTUNE);
         $fortunel = $fortunel > 2 ? 2 : $fortunel;
         //Note: for Melon level 2 is the same 3 So highest is 2
         return [[Item::MELON_SLICE, 0, mt_rand(3, 7 + $fortunel)]];
     }
 }
All Usage Examples Of pocketmine\item\Item::getEnchantmentLevel