public function onRename(Item $item, Player $player) : bool { if ($player->getExpLevel() > $item->getRepairCost()) { $player->setExpLevel($player->getExpLevel() - $item->getRepairCost()); return true; } return false; }
public function onRename(Player $player, Item $resultItem) : bool { if (!$resultItem->deepEquals($this->getItem(self::TARGET), true, false, true)) { //Item does not match target item. Everything must match except the tags. return false; } if ($player->getExpLevel() < $resultItem->getRepairCost()) { //Not enough exp return false; } $player->setExpLevel($player->getExpLevel() - $resultItem->getRepairCost()); $this->clearAll(); if (!$player->getServer()->allowInventoryCheats and !$player->isCreative()) { if (!$player->getFloatingInventory()->canAddItem($resultItem)) { return false; } $player->getFloatingInventory()->addItem($resultItem); } return true; }
public function onEnchant(Player $who, Item $before, Item $after) { $result = $before->getId() == Item::BOOK ? new EnchantedBook() : $before; if (!$before->hasEnchantments() and $after->hasEnchantments() and $after->getId() == $result->getId() and $this->levels != null and $this->entries != null) { $enchantments = $after->getEnchantments(); for ($i = 0; $i < 3; $i++) { if ($this->checkEnts($enchantments, $this->entries[$i]->getEnchantments())) { $lapis = $this->getItem(1); $level = $who->getExpLevel(); $cost = $this->entries[$i]->getCost(); if ($lapis->getId() == Item::DYE and $lapis->getDamage() == Dye::BLUE and $lapis->getCount() > $i and $level >= $cost) { foreach ($enchantments as $enchantment) { $result->addEnchantment($enchantment); } $this->setItem(0, $result); $lapis->setCount($lapis->getCount() - $i - 1); $this->setItem(1, $lapis); $who->setExpLevel($level - $i - 1); break; } } } } }
public function TeleportToTeamSpawn(Player $p, $team, $arena) { $p->setHealth(20); $p->setFood(20); $p->setGamemode(0); $p->getInventory()->clearAll(); $p->setExpLevel(0); $config = new Config($this->getDataFolder() . "Arenas/" . $arena . ".yml", Config::YAML); $welt = $config->getNested("Spawn." . $team . ".Welt"); $x = $config->getNested("Spawn." . $team . ".X"); $y = $config->getNested("Spawn." . $team . ".Y"); $z = $config->getNested("Spawn." . $team . ".Z"); $yaw = $config->getNested("Spawn." . $team . ".Yaw"); $pitch = $config->getNested("Spawn." . $team . ".Pitch"); if ($p->getLevel() != $this->getServer()->getLevelByName($welt)) { $p->teleport($this->getServer()->getLevelByName($welt)->getSafeSpawn(), 0, 0); } $p->teleport(new Vector3($x, $y, $z), $yaw, $pitch); }