|
| | __construct (InventoryHolder $holder, InventoryType $type, array $items=[], $overrideSize=null, $overrideTitle=null) |
| |
| | __destruct () |
| |
| | getSize () |
| |
| | getHotbarSize () |
| |
| | setSize ($size) |
| |
| | getMaxStackSize () |
| |
| | getName () |
| |
| | getTitle () |
| |
| | getItem ($index) |
| |
| | getContents () |
| |
| | setContents (array $items, $send=true) |
| |
| | setItem ($index, Item $item, $send=true) |
| |
| | contains (Item $item) |
| |
| | slotContains ($slot, Item $item, $matchCount=false) |
| |
| | all (Item $item) |
| |
| | remove (Item $item, $send=true) |
| |
| | first (Item $item) |
| |
| | firstEmpty () |
| |
| | firstOccupied () |
| |
| | canAddItem (Item $item) |
| |
| | clear ($index, $send=true) |
| |
| | clearAll ($send=true) |
| |
| | getViewers () |
| |
| | getHolder () |
| |
| | setMaxStackSize ($size) |
| |
| | open (Player $who) |
| |
| | close (Player $who) |
| |
| | onOpen (Player $who) |
| |
| | onClose (Player $who) |
| |
| | onSlotChange ($index, $before, $send) |
| |
| | processSlotChange (Transaction $transaction) |
| |
| | sendContents ($target) |
| |
| | sendSlot ($index, $target) |
| |
| | getType () |
| |
| | setItem ($index, Item $item) |
| |
| | addItem (... $slots) |
| |
| | removeItem (... $slots) |
| |
| | setContents (array $items) |
| |
| | remove (Item $item) |
| |
| | clear ($index) |
| |
| | clearAll () |
| |
◆ __construct()
- Parameters
-
63 if($overrideSize !== null){
64 $this->size = (int) $overrideSize;
66 $this->size = $this->type->getDefaultSize();
69 if($overrideTitle !== null){
70 $this->title = $overrideTitle;
72 $this->title = $this->type->getDefaultTitle();
75 $this->name = $this->type->getDefaultTitle();
◆ __destruct()
◆ all()
- Parameters
-
- Returns
- array
Implements Inventory.
241 $checkDamage = !$item->hasAnyDamageValue();
242 $checkTags = $item->hasCompoundTag();
244 if($item->equals($i, $checkDamage, $checkTags)){
◆ canAddItem()
- Parameters
-
- Returns
- bool
Implements Inventory.
320 $checkDamage = !$item->hasAnyDamageValue();
321 $checkTags = $item->hasCompoundTag();
322 for($i = 0; $i < $this->
getSize(); ++$i){
324 if($item->equals($slot, $checkDamage, $checkTags)){
325 if(($diff = $slot->getMaxStackSize() - $slot->getCount()) > 0){
326 $item->setCount($item->getCount() - $diff);
332 if($item->getCount() <= 0){
◆ clear()
| clear |
( |
|
$index, |
|
|
|
$send = true |
|
) |
| |
- Parameters
-
- Returns
- bool
456 if(isset($this->slots[$index])){
458 $old = $this->slots[$index];
462 if($ev->isCancelled()){
466 $item = $ev->getNewItem();
469 $this->slots[$index] = clone $item;
471 unset($this->slots[$index]);
◆ clearAll()
- Parameters
-
484 $this->
clear($index, $send);
◆ close()
- Parameters
-
- Returns
- mixed|void
Implements Inventory.
◆ contains()
- Parameters
-
- Returns
- bool
Implements Inventory.
204 $count = max(1, $item->getCount());
205 $checkDamage = !$item->hasAnyDamageValue();
206 $checkTags = $item->hasCompoundTag();
208 if($item->equals($i, $checkDamage, $checkTags)){
209 $count -= $i->getCount();
◆ first()
- Parameters
-
- Returns
- int|string
Implements Inventory.
275 $count = max(1, $item->getCount());
276 $checkDamage = !$item->hasAnyDamageValue();
277 $checkTags = $item->hasCompoundTag();
280 if($item->equals($i, $checkDamage, $checkTags) and $i->getCount() >= $count){
◆ firstEmpty()
◆ firstOccupied()
- Returns
- int
306 if(($item = $this->
getItem($i))->getId() !==
Item::AIR and $item->getCount() > 0){
◆ getContents()
◆ getHolder()
◆ getHotbarSize()
◆ getItem()
- Parameters
-
- Returns
- Item
Implements Inventory.
133 return isset($this->slots[$index]) ? clone $this->slots[$index] :
Item::get(
Item::AIR, 0, 0);
◆ getMaxStackSize()
◆ getName()
◆ getSize()
◆ getTitle()
◆ getType()
◆ getViewers()
◆ onClose()
- Parameters
-
Implements Inventory.
544 unset($this->viewers[spl_object_hash($who)]);
◆ onOpen()
- Parameters
-
Implements Inventory.
537 $this->viewers[spl_object_hash($who)] = $who;
◆ onSlotChange()
| onSlotChange |
( |
|
$index, |
|
|
|
$before, |
|
|
|
$send |
|
) |
| |
- Parameters
-
| int | $index | |
| Item | $before | |
| bool | $send | |
Implements Inventory.
◆ open()
- Parameters
-
- Returns
- bool
Implements Inventory.
515 $who->getServer()->getPluginManager()->callEvent($ev =
new InventoryOpenEvent($this, $who));
516 if($ev->isCancelled()){
◆ processSlotChange()
◆ remove()
| remove |
( |
Item |
$item, |
|
|
|
$send = true |
|
) |
| |
- Parameters
-
257 $checkDamage = !$item->hasAnyDamageValue();
258 $checkTags = $item->hasCompoundTag();
259 $checkCount = $item->getCount() === null ? false :
true;
262 if($item->equals($i, $checkDamage, $checkTags, $checkCount)){
263 $this->
clear($index, $send);
◆ sendContents()
- Parameters
-
Implements Inventory.
572 if($target instanceof Player){
576 $pk =
new ContainerSetContentPacket();
578 for($i = 0; $i < $this->
getSize(); ++$i){
579 $pk->slots[$i] = $this->
getItem($i);
582 foreach($target as $player){
583 if(($id = $player->getWindowId($this)) === -1 or $player->spawned !==
true){
584 $this->
close($player);
588 $pk->targetEid = $player->getId();
589 $player->dataPacket($pk);
◆ sendSlot()
| sendSlot |
( |
|
$index, |
|
|
|
$target |
|
) |
| |
- Parameters
-
| int | $index | |
| Player|Player[] | $target |
Implements Inventory.
598 if($target instanceof Player){
602 $pk =
new ContainerSetSlotPacket();
604 $pk->item = clone $this->
getItem($index);
606 foreach($target as $player){
607 if(($id = $player->getWindowId($this)) === -1){
608 $this->
close($player);
612 $player->dataPacket($pk);
◆ setContents()
| setContents |
( |
array |
$items, |
|
|
|
$send = true |
|
) |
| |
- Parameters
-
148 if(count($items) > $this->size){
149 $items = array_slice($items, 0, $this->size,
true);
153 if(!isset($items[$i])){
154 if(isset($this->slots[$i])){
155 $this->
clear($i, $send);
158 if(!$this->
setItem($i, $items[$i], $send)){
159 $this->
clear($i, $send);
◆ setItem()
| setItem |
( |
|
$index, |
|
|
Item |
$item, |
|
|
|
$send = true |
|
) |
| |
- Parameters
-
| int | $index | |
| Item | $item | |
| bool | $send | |
- Returns
- bool
174 if($index < 0 or $index >= $this->size){
176 }elseif($item->getId() === 0 or $item->getCount() <= 0){
177 return $this->
clear($index, $send);
183 if($ev->isCancelled()){
187 $item = $ev->getNewItem();
191 $this->slots[$index] = clone $item;
◆ setMaxStackSize()
- Parameters
-
Implements Inventory.
506 $this->maxStackSize = (int)
$size;
◆ setSize()
- Parameters
-
103 $this->size = (int)
$size;
◆ slotContains()
| slotContains |
( |
|
$slot, |
|
|
Item |
$item, |
|
|
|
$matchCount = false |
|
) |
| |
- Parameters
-
| $slot | |
| Item | $item | |
| bool | $matchCount | |
- Returns
- bool
228 return $this->
getItem($slot)->equals($item,
true,
true,
true);
230 return $this->
getItem($slot)->equals($item) and $this->
getItem($slot)->getCount() >= $item->getCount();
◆ $holder
◆ $maxStackSize
◆ $name
◆ $size
◆ $slots
◆ $title
◆ $type
◆ $viewers
The documentation for this class was generated from the following file:
- src/pocketmine/inventory/BaseInventory.php