pocketmine\item\enchantment\Enchantment::getEnchantmentByName PHP Method

getEnchantmentByName() public static method

public static getEnchantmentByName ( $name )
    public static function getEnchantmentByName($name)
    {
        if (defined(Enchantment::class . "::TYPE_" . strtoupper($name))) {
            return self::getEnchantment(constant(Enchantment::class . "::TYPE_" . strtoupper($name)));
        } elseif (defined(Enchantment::class . "::TYPE_WEAPON_" . strtoupper($name))) {
            return self::getEnchantment(constant(Enchantment::class . "::TYPE_WEAPON_" . strtoupper($name)));
        } elseif (defined(Enchantment::class . "::TYPE_ARMOR_" . strtoupper($name))) {
            return self::getEnchantment(constant(Enchantment::class . "::TYPE_ARMOR_" . strtoupper($name)));
        } elseif (defined(Enchantment::class . "::TYPE_MINING_" . strtoupper($name))) {
            return self::getEnchantment(constant(Enchantment::class . "::TYPE_MINING_" . strtoupper($name)));
        } elseif (defined(Enchantment::class . "::TYPE_BOW_" . strtoupper($name))) {
            return self::getEnchantment(constant(Enchantment::class . "::TYPE_BOW_" . strtoupper($name)));
        } elseif (defined(Enchantment::class . "::TYPE_FISHING_" . strtoupper($name))) {
            return self::getEnchantment(constant(Enchantment::class . "::TYPE_FISHING_" . strtoupper($name)));
        } else {
            return new Enchantment(self::TYPE_INVALID, "unknown", 0, 0, 0);
        }
    }

Usage Example

示例#1
0
 public function execute(CommandSender $sender, $currentAlias, array $args)
 {
     if (!$this->testPermission($sender)) {
         return true;
     }
     if (count($args) < 2) {
         $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage]));
         return true;
     }
     $player = $sender->getServer()->getPlayer($args[0]);
     if ($player === null) {
         $sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.player.notFound"));
         return true;
     }
     $enchantId = $args[1];
     $enchantLevel = isset($args[2]) ? (int) $args[2] : 1;
     $enchantment = Enchantment::getEnchantment($enchantId);
     if ($enchantment->getId() === Enchantment::TYPE_INVALID) {
         $enchantment = Enchantment::getEnchantmentByName($enchantId);
         if ($enchantment->getId() === Enchantment::TYPE_INVALID) {
             $sender->sendMessage(new TranslationContainer("commands.enchant.notFound", [$enchantment->getId()]));
             return true;
         }
     }
     $enchantment->setLevel($enchantLevel);
     $item = $player->getInventory()->getItemInHand();
     if ($item->getId() <= 0) {
         $sender->sendMessage(new TranslationContainer("commands.enchant.noItem"));
         return true;
     }
     $item->addEnchantment($enchantment);
     $player->getInventory()->setItemInHand($item);
     self::broadcastCommandMessage($sender, new TranslationContainer("%commands.enchant.success"));
     return true;
 }