/**
* Given an pocketmine\item\Item object, it returns a friendly name
* for it.
*
* @param Item item
* @return str
*/
public static function str(Item $item)
{
if (self::$xnames == null) {
self::initXnames();
}
if (isset(self::$xnames[$item->getId()])) {
if (isset(self::$xnames[$item->getId()][$item->getDamage()])) {
return self::$xnames[$item->getId()][$item->getDamage()];
} elseif (isset(self::$xnames[$item->getId()]["*"])) {
return self::$xnames[$item->getId()]["*"];
} else {
return self::$xnames[$item->getId()][0];
}
}
$n = $item->getName();
if ($n != "Unknown") {
return $n;
}
if (count(self::$items) == 0) {
$constants = array_keys((new \ReflectionClass("pocketmine\\item\\Item"))->getConstants());
foreach ($constants as $constant) {
$id = constant("pocketmine\\item\\Item::{$constant}");
$constant = str_replace("_", " ", $constant);
self::$items[$id] = $constant;
}
}
if (isset(self::$items[$item->getId()])) {
return self::$items[$item->getId()];
}
return $n;
}