name; } /** * Returns an int constant indicating how rare this enchantment type is. */ public function getRarity() : int{ return $this->rarity; } /** * Returns a bitset indicating what item types can have this item applied from an enchanting table. */ public function getPrimaryItemFlags() : int{ return $this->primaryItemFlags; } /** * Returns a bitset indicating what item types cannot have this item applied from an enchanting table, but can from * an anvil. */ public function getSecondaryItemFlags() : int{ return $this->secondaryItemFlags; } /** * Returns whether this enchantment can apply to the item type from an enchanting table. */ public function hasPrimaryItemType(int $flag) : bool{ return ($this->primaryItemFlags & $flag) !== 0; } /** * Returns whether this enchantment can apply to the item type from an anvil, if it is not a primary item. */ public function hasSecondaryItemType(int $flag) : bool{ return ($this->secondaryItemFlags & $flag) !== 0; } /** * Returns the maximum level of this enchantment that can be found on an enchantment table. */ public function getMaxLevel() : int{ return $this->maxLevel; } //TODO: methods for min/max XP cost bounds based on enchantment level (not needed yet - enchanting is client-side) }