本文整理汇总了PHP中pocketmine\inventory\Inventory::getContents方法的典型用法代码示例。如果您正苦于以下问题:PHP Inventory::getContents方法的具体用法?PHP Inventory::getContents怎么用?PHP Inventory::getContents使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pocketmine\inventory\Inventory
的用法示例。
在下文中一共展示了Inventory::getContents方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: saveInventory
public function saveInventory(Player $player, Inventory $inv)
{
$n = trim(strtolower($player->getName()));
if ($n === "") {
return false;
}
$d = substr($n, 0, 1);
if (!is_dir($this->getDataFolder() . $d)) {
mkdir($this->getDataFolder() . $d);
}
$path = $this->getDataFolder() . $d . "/" . $n . ".yml";
$cfg = new Config($path, Config::YAML);
$yaml = $cfg->getAll();
if ($this->isGlobal) {
$ln = "*";
} else {
$ln = trim(strtolower($player->getLevel()->getName()));
}
$yaml[$ln] = [];
foreach ($inv->getContents() as $slot => &$item) {
$yaml[$ln][$slot] = implode(":", [$item->getId(), $item->getDamage(), $item->getCount()]);
}
$inv->clearAll();
$cfg->setAll($yaml);
$cfg->save();
return true;
}
示例2: saveInventory
public function saveInventory(Player $player, Inventory $inv)
{
$n = trim(strtolower($player->getName()));
if ($n === "") {
return false;
}
if ($this->isGlobal) {
$ln = "*";
} else {
$ln = trim(strtolower($player->getLevel()->getName()));
}
// Save inventory...
$sql = "DELETE FROM NetherChests WHERE player=" . $this->prepare($n) . " AND world=" . $this->prepare($ln);
$this->database->query($sql);
foreach ($inv->getContents() as $slot => &$item) {
$sql = "INSERT INTO NetherChests (player,world,slot,id,damage,count) VALUES (" . $this->prepare($n) . ", " . $this->prepare($ln) . ", " . $slot . ", " . $item->getId() . ", " . $item->getDamage() . ", " . $item->getCount() . ")";
$this->database->query($sql);
}
$inv->clearAll();
return true;
}