|
| __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