setItem() 공개 메소드

If a plugin refuses the update or $index is invalid, it'll return false If a source Player is specified, it won't send a Inventory update to it
public setItem ( integer $index, Item $item ) : boolean
$index integer
$item pocketmine\item\Item
리턴 boolean
예제 #1
0
 public function addInventoryRandomItems($level, Inventory $inv)
 {
     if ($inv != null) {
         $inv->setItem(0, self::randomItems());
         $inv->setItem(1, self::randomItems());
         $inv->setItem(2, self::randomItems());
         $inv->setItem(3, self::randomItems());
     }
 }
예제 #2
0
 /**
  * @param Inventory $inventory
  */
 public function addToInventory(Inventory $inventory)
 {
     foreach ($this->getItems() as $i) {
         $inventory->setItem($inventory->firstEmpty(), clone $i);
     }
     // call_user_func_array($inventory->addItem(), $this->getItems());
 }
예제 #3
0
 public function loadInventory(Player $player, Inventory $inv)
 {
     $n = trim(strtolower($player->getName()));
     if ($n === "") {
         return false;
     }
     if ($this->isGlobal) {
         $ln = "*";
     } else {
         $ln = trim(strtolower($player->getLevel()->getName()));
     }
     $inv->clearAll();
     $sql = "SELECT slot,id,damage,count FROM NetherChests WHERE player = " . $this->prepare($n) . " AND world = " . $this->prepare($ln);
     $res = $this->database->query($sql);
     if ($res === false) {
         return false;
     }
     while (($row = $res->fetch_assoc()) != null) {
         $inv->setItem($row["slot"], Item::get($row["id"], $row["damage"], $row["count"]));
     }
     $res->free();
     return true;
 }
예제 #4
-1
 public function loadInventory(Player $player, Inventory $inv)
 {
     $n = trim(strtolower($player->getName()));
     if ($n === "") {
         return false;
     }
     $d = substr($n, 0, 1);
     $path = $this->getDataFolder() . $d . "/" . $n . ".yml";
     if (!is_file($path)) {
         return false;
     }
     $cfg = new Config($path, Config::YAML);
     $yaml = $cfg->getAll();
     if ($this->isGlobal) {
         $ln = "*";
     } else {
         $ln = trim(strtolower($player->getLevel()->getName()));
     }
     if (!isset($yaml[$ln])) {
         return false;
     }
     $inv->clearAll();
     foreach ($yaml[$ln] as $slot => $t) {
         list($id, $dam, $cnt) = explode(":", $t);
         $item = Item::get($id, $dam, $cnt);
         $inv->setItem($slot, $item);
     }
     return true;
 }