diff --git a/src/block/tile/BrewingStand.php b/src/block/tile/BrewingStand.php index 350a8209e4..740578e7ff 100644 --- a/src/block/tile/BrewingStand.php +++ b/src/block/tile/BrewingStand.php @@ -24,7 +24,7 @@ declare(strict_types=1); namespace pocketmine\block\tile; use pocketmine\inventory\BrewingStandInventory; -use pocketmine\inventory\CallbackInventoryChangeListener; +use pocketmine\inventory\CallbackInventoryListener; use pocketmine\inventory\Inventory; use pocketmine\math\Vector3; use pocketmine\nbt\tag\CompoundTag; @@ -54,7 +54,7 @@ class BrewingStand extends Spawnable implements Container, Nameable{ public function __construct(World $world, Vector3 $pos){ parent::__construct($world, $pos); $this->inventory = new BrewingStandInventory($this->pos); - $this->inventory->addChangeListeners(CallbackInventoryChangeListener::onAnyChange(function(Inventory $unused) : void{ + $this->inventory->addListeners(CallbackInventoryListener::onAnyChange(function(Inventory $unused) : void{ $this->pos->getWorldNonNull()->scheduleDelayedBlockUpdate($this->pos, 1); })); } diff --git a/src/block/tile/ContainerTrait.php b/src/block/tile/ContainerTrait.php index f3386a207d..45711b5964 100644 --- a/src/block/tile/ContainerTrait.php +++ b/src/block/tile/ContainerTrait.php @@ -48,14 +48,14 @@ trait ContainerTrait{ $inventoryTag = $tag->getListTag(Container::TAG_ITEMS); $inventory = $this->getRealInventory(); - $listeners = $inventory->getChangeListeners(); - $inventory->removeChangeListeners(...$listeners); //prevent any events being fired by initialization + $listeners = $inventory->getListeners(); + $inventory->removeListeners(...$listeners); //prevent any events being fired by initialization $inventory->clearAll(); /** @var CompoundTag $itemNBT */ foreach($inventoryTag as $itemNBT){ $inventory->setItem($itemNBT->getByte("Slot"), Item::nbtDeserialize($itemNBT)); } - $inventory->addChangeListeners(...$listeners); + $inventory->addListeners(...$listeners); } if($tag->hasTag(Container::TAG_LOCK, StringTag::class)){ diff --git a/src/block/tile/Furnace.php b/src/block/tile/Furnace.php index 425f119119..0ad0dba36f 100644 --- a/src/block/tile/Furnace.php +++ b/src/block/tile/Furnace.php @@ -27,7 +27,7 @@ use pocketmine\block\Furnace as BlockFurnace; use pocketmine\crafting\FurnaceRecipe; use pocketmine\event\inventory\FurnaceBurnEvent; use pocketmine\event\inventory\FurnaceSmeltEvent; -use pocketmine\inventory\CallbackInventoryChangeListener; +use pocketmine\inventory\CallbackInventoryListener; use pocketmine\inventory\FurnaceInventory; use pocketmine\inventory\Inventory; use pocketmine\item\Item; @@ -58,7 +58,7 @@ class Furnace extends Spawnable implements Container, Nameable{ public function __construct(World $world, Vector3 $pos){ parent::__construct($world, $pos); $this->inventory = new FurnaceInventory($this->pos); - $this->inventory->addChangeListeners(CallbackInventoryChangeListener::onAnyChange( + $this->inventory->addListeners(CallbackInventoryListener::onAnyChange( function(Inventory $unused) : void{ $this->pos->getWorldNonNull()->scheduleDelayedBlockUpdate($this->pos, 1); }) diff --git a/src/entity/Human.php b/src/entity/Human.php index c357bf1d84..042675f58c 100644 --- a/src/entity/Human.php +++ b/src/entity/Human.php @@ -221,8 +221,8 @@ class Human extends Living implements ProjectileSource, InventoryHolder{ $inventoryTag = $nbt->getListTag("Inventory"); if($inventoryTag !== null){ - $armorListeners = $this->armorInventory->getChangeListeners(); - $this->armorInventory->removeChangeListeners(...$armorListeners); + $armorListeners = $this->armorInventory->getListeners(); + $this->armorInventory->removeListeners(...$armorListeners); /** @var CompoundTag $item */ foreach($inventoryTag as $i => $item){ @@ -236,7 +236,7 @@ class Human extends Living implements ProjectileSource, InventoryHolder{ } } - $this->armorInventory->addChangeListeners(...$armorListeners); + $this->armorInventory->addListeners(...$armorListeners); } $enderChestInventoryTag = $nbt->getListTag("EnderChestInventory"); diff --git a/src/entity/Living.php b/src/entity/Living.php index dee6381a3a..11993396fb 100644 --- a/src/entity/Living.php +++ b/src/entity/Living.php @@ -32,7 +32,7 @@ use pocketmine\event\entity\EntityDamageByEntityEvent; use pocketmine\event\entity\EntityDamageEvent; use pocketmine\event\entity\EntityDeathEvent; use pocketmine\inventory\ArmorInventory; -use pocketmine\inventory\CallbackInventoryChangeListener; +use pocketmine\inventory\CallbackInventoryListener; use pocketmine\inventory\Inventory; use pocketmine\item\Armor; use pocketmine\item\Consumable; @@ -104,7 +104,7 @@ abstract class Living extends Entity{ $this->armorInventory = new ArmorInventory($this); //TODO: load/save armor inventory contents - $this->armorInventory->addChangeListeners(CallbackInventoryChangeListener::onAnyChange( + $this->armorInventory->addListeners(CallbackInventoryListener::onAnyChange( function(Inventory $unused) : void{ foreach($this->getViewers() as $viewer){ $viewer->getNetworkSession()->onMobArmorChange($this); diff --git a/src/inventory/BaseInventory.php b/src/inventory/BaseInventory.php index bcfefe272f..dcf620bfd4 100644 --- a/src/inventory/BaseInventory.php +++ b/src/inventory/BaseInventory.php @@ -43,7 +43,7 @@ abstract class BaseInventory implements Inventory{ protected $slots; /** @var Player[] */ protected $viewers = []; - /** @var InventoryChangeListener[] */ + /** @var InventoryListener[] */ protected $listeners = []; public function __construct(int $size){ @@ -105,7 +105,7 @@ abstract class BaseInventory implements Inventory{ } } - $this->addChangeListeners(...$listeners); //don't directly write, in case listeners were added while operation was in progress + $this->addListeners(...$listeners); //don't directly write, in case listeners were added while operation was in progress foreach($viewers as $id => $viewer){ $this->viewers[$id] = $viewer; } @@ -372,19 +372,19 @@ abstract class BaseInventory implements Inventory{ return $slot >= 0 and $slot < $this->slots->getSize(); } - public function addChangeListeners(InventoryChangeListener ...$listeners) : void{ + public function addListeners(InventoryListener ...$listeners) : void{ foreach($listeners as $listener){ $this->listeners[spl_object_id($listener)] = $listener; } } - public function removeChangeListeners(InventoryChangeListener ...$listeners) : void{ + public function removeListeners(InventoryListener ...$listeners) : void{ foreach($listeners as $listener){ unset($this->listeners[spl_object_id($listener)]); } } - public function getChangeListeners() : array{ + public function getListeners() : array{ return $this->listeners; } } diff --git a/src/inventory/CallbackInventoryChangeListener.php b/src/inventory/CallbackInventoryListener.php similarity index 97% rename from src/inventory/CallbackInventoryChangeListener.php rename to src/inventory/CallbackInventoryListener.php index c3b12a6d49..3bb1efdce0 100644 --- a/src/inventory/CallbackInventoryChangeListener.php +++ b/src/inventory/CallbackInventoryListener.php @@ -26,7 +26,7 @@ namespace pocketmine\inventory; use pocketmine\item\Item; use pocketmine\utils\Utils; -class CallbackInventoryChangeListener implements InventoryChangeListener{ +class CallbackInventoryListener implements InventoryListener{ //TODO: turn the closure signatures into type aliases when PHPStan supports them diff --git a/src/inventory/Inventory.php b/src/inventory/Inventory.php index adbd26c1dd..17be0db27a 100644 --- a/src/inventory/Inventory.php +++ b/src/inventory/Inventory.php @@ -155,17 +155,17 @@ interface Inventory{ public function slotExists(int $slot) : bool; /** - * @param InventoryChangeListener ...$listeners + * @param InventoryListener ...$listeners */ - public function addChangeListeners(InventoryChangeListener ...$listeners) : void; + public function addListeners(InventoryListener ...$listeners) : void; /** - * @param InventoryChangeListener ...$listeners + * @param InventoryListener ...$listeners */ - public function removeChangeListeners(InventoryChangeListener ...$listeners) : void; + public function removeListeners(InventoryListener ...$listeners) : void; /** - * @return InventoryChangeListener[] + * @return InventoryListener[] */ - public function getChangeListeners() : array; + public function getListeners() : array; } diff --git a/src/inventory/InventoryChangeListener.php b/src/inventory/InventoryListener.php similarity index 85% rename from src/inventory/InventoryChangeListener.php rename to src/inventory/InventoryListener.php index 60069305ef..da8274661e 100644 --- a/src/inventory/InventoryChangeListener.php +++ b/src/inventory/InventoryListener.php @@ -28,11 +28,11 @@ use pocketmine\item\Item; /** * Classes implementing this interface can be injected into inventories to receive notifications when content changes * occur. - * @see CallbackInventoryChangeListener for a closure-based listener - * @see Inventory::addChangeListeners() - * @see Inventory::removeChangeListeners() + * @see CallbackInventoryListener for a closure-based listener + * @see Inventory::addListeners() + * @see Inventory::removeListeners() */ -interface InventoryChangeListener{ +interface InventoryListener{ public function onSlotChange(Inventory $inventory, int $slot, Item $oldItem) : void;