Removed ext-ds dependency

This commit is contained in:
Dylan K. Taylor
2021-02-11 15:40:37 +00:00
parent b03ca1953a
commit c61f66d973
19 changed files with 231 additions and 106 deletions

View File

@ -23,10 +23,10 @@ declare(strict_types=1);
namespace pocketmine\inventory;
use Ds\Set;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\player\Player;
use pocketmine\utils\ObjectSet;
use function array_map;
use function array_slice;
use function count;
@ -46,14 +46,14 @@ abstract class BaseInventory implements Inventory{
/** @var Player[] */
protected $viewers = [];
/**
* @var InventoryListener[]|Set
* @phpstan-var Set<InventoryListener>
* @var InventoryListener[]|ObjectSet
* @phpstan-var ObjectSet<InventoryListener>
*/
protected $listeners;
public function __construct(int $size){
$this->slots = new \SplFixedArray($size);
$this->listeners = new Set();
$this->listeners = new ObjectSet();
}
/**
@ -380,7 +380,7 @@ abstract class BaseInventory implements Inventory{
return $slot >= 0 and $slot < $this->slots->getSize();
}
public function getListeners() : Set{
public function getListeners() : ObjectSet{
return $this->listeners;
}
}

View File

@ -26,9 +26,9 @@ declare(strict_types=1);
*/
namespace pocketmine\inventory;
use Ds\Set;
use pocketmine\item\Item;
use pocketmine\player\Player;
use pocketmine\utils\ObjectSet;
interface Inventory{
public const MAX_STACK = 64;
@ -156,8 +156,8 @@ interface Inventory{
public function slotExists(int $slot) : bool;
/**
* @return InventoryListener[]|Set
* @phpstan-return Set<InventoryListener>
* @return InventoryListener[]|ObjectSet
* @phpstan-return ObjectSet<InventoryListener>
*/
public function getListeners() : Set;
public function getListeners() : ObjectSet;
}

View File

@ -23,10 +23,10 @@ declare(strict_types=1);
namespace pocketmine\inventory;
use Ds\Set;
use pocketmine\entity\Human;
use pocketmine\item\Item;
use pocketmine\player\Player;
use pocketmine\utils\ObjectSet;
class PlayerInventory extends BaseInventory{
@ -37,14 +37,14 @@ class PlayerInventory extends BaseInventory{
protected $itemInHandIndex = 0;
/**
* @var \Closure[]|Set
* @phpstan-var Set<\Closure(int $oldIndex) : void>
* @var \Closure[]|ObjectSet
* @phpstan-var ObjectSet<\Closure(int $oldIndex) : void>
*/
protected $heldItemIndexChangeListeners;
public function __construct(Human $player){
$this->holder = $player;
$this->heldItemIndexChangeListeners = new Set();
$this->heldItemIndexChangeListeners = new ObjectSet();
parent::__construct(36);
}
@ -97,10 +97,10 @@ class PlayerInventory extends BaseInventory{
}
/**
* @return \Closure[]|Set
* @phpstan-return Set<\Closure(int $oldIndex) : void>
* @return \Closure[]|ObjectSet
* @phpstan-return ObjectSet<\Closure(int $oldIndex) : void>
*/
public function getHeldItemIndexChangeListeners() : Set{ return $this->heldItemIndexChangeListeners; }
public function getHeldItemIndexChangeListeners() : ObjectSet{ return $this->heldItemIndexChangeListeners; }
/**
* Returns the currently-held item.