Rename InventoryChangeListener -> InventoryListener

This commit is contained in:
Dylan K. Taylor 2020-04-24 23:44:38 +01:00
parent c869a7f099
commit 4fbf4dcdc6
9 changed files with 28 additions and 28 deletions

View File

@ -24,7 +24,7 @@ declare(strict_types=1);
namespace pocketmine\block\tile; namespace pocketmine\block\tile;
use pocketmine\inventory\BrewingStandInventory; use pocketmine\inventory\BrewingStandInventory;
use pocketmine\inventory\CallbackInventoryChangeListener; use pocketmine\inventory\CallbackInventoryListener;
use pocketmine\inventory\Inventory; use pocketmine\inventory\Inventory;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
use pocketmine\nbt\tag\CompoundTag; use pocketmine\nbt\tag\CompoundTag;
@ -54,7 +54,7 @@ class BrewingStand extends Spawnable implements Container, Nameable{
public function __construct(World $world, Vector3 $pos){ public function __construct(World $world, Vector3 $pos){
parent::__construct($world, $pos); parent::__construct($world, $pos);
$this->inventory = new BrewingStandInventory($this->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); $this->pos->getWorldNonNull()->scheduleDelayedBlockUpdate($this->pos, 1);
})); }));
} }

View File

@ -48,14 +48,14 @@ trait ContainerTrait{
$inventoryTag = $tag->getListTag(Container::TAG_ITEMS); $inventoryTag = $tag->getListTag(Container::TAG_ITEMS);
$inventory = $this->getRealInventory(); $inventory = $this->getRealInventory();
$listeners = $inventory->getChangeListeners(); $listeners = $inventory->getListeners();
$inventory->removeChangeListeners(...$listeners); //prevent any events being fired by initialization $inventory->removeListeners(...$listeners); //prevent any events being fired by initialization
$inventory->clearAll(); $inventory->clearAll();
/** @var CompoundTag $itemNBT */ /** @var CompoundTag $itemNBT */
foreach($inventoryTag as $itemNBT){ foreach($inventoryTag as $itemNBT){
$inventory->setItem($itemNBT->getByte("Slot"), Item::nbtDeserialize($itemNBT)); $inventory->setItem($itemNBT->getByte("Slot"), Item::nbtDeserialize($itemNBT));
} }
$inventory->addChangeListeners(...$listeners); $inventory->addListeners(...$listeners);
} }
if($tag->hasTag(Container::TAG_LOCK, StringTag::class)){ if($tag->hasTag(Container::TAG_LOCK, StringTag::class)){

View File

@ -27,7 +27,7 @@ use pocketmine\block\Furnace as BlockFurnace;
use pocketmine\crafting\FurnaceRecipe; use pocketmine\crafting\FurnaceRecipe;
use pocketmine\event\inventory\FurnaceBurnEvent; use pocketmine\event\inventory\FurnaceBurnEvent;
use pocketmine\event\inventory\FurnaceSmeltEvent; use pocketmine\event\inventory\FurnaceSmeltEvent;
use pocketmine\inventory\CallbackInventoryChangeListener; use pocketmine\inventory\CallbackInventoryListener;
use pocketmine\inventory\FurnaceInventory; use pocketmine\inventory\FurnaceInventory;
use pocketmine\inventory\Inventory; use pocketmine\inventory\Inventory;
use pocketmine\item\Item; use pocketmine\item\Item;
@ -58,7 +58,7 @@ class Furnace extends Spawnable implements Container, Nameable{
public function __construct(World $world, Vector3 $pos){ public function __construct(World $world, Vector3 $pos){
parent::__construct($world, $pos); parent::__construct($world, $pos);
$this->inventory = new FurnaceInventory($this->pos); $this->inventory = new FurnaceInventory($this->pos);
$this->inventory->addChangeListeners(CallbackInventoryChangeListener::onAnyChange( $this->inventory->addListeners(CallbackInventoryListener::onAnyChange(
function(Inventory $unused) : void{ function(Inventory $unused) : void{
$this->pos->getWorldNonNull()->scheduleDelayedBlockUpdate($this->pos, 1); $this->pos->getWorldNonNull()->scheduleDelayedBlockUpdate($this->pos, 1);
}) })

View File

@ -221,8 +221,8 @@ class Human extends Living implements ProjectileSource, InventoryHolder{
$inventoryTag = $nbt->getListTag("Inventory"); $inventoryTag = $nbt->getListTag("Inventory");
if($inventoryTag !== null){ if($inventoryTag !== null){
$armorListeners = $this->armorInventory->getChangeListeners(); $armorListeners = $this->armorInventory->getListeners();
$this->armorInventory->removeChangeListeners(...$armorListeners); $this->armorInventory->removeListeners(...$armorListeners);
/** @var CompoundTag $item */ /** @var CompoundTag $item */
foreach($inventoryTag as $i => $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"); $enderChestInventoryTag = $nbt->getListTag("EnderChestInventory");

View File

@ -32,7 +32,7 @@ use pocketmine\event\entity\EntityDamageByEntityEvent;
use pocketmine\event\entity\EntityDamageEvent; use pocketmine\event\entity\EntityDamageEvent;
use pocketmine\event\entity\EntityDeathEvent; use pocketmine\event\entity\EntityDeathEvent;
use pocketmine\inventory\ArmorInventory; use pocketmine\inventory\ArmorInventory;
use pocketmine\inventory\CallbackInventoryChangeListener; use pocketmine\inventory\CallbackInventoryListener;
use pocketmine\inventory\Inventory; use pocketmine\inventory\Inventory;
use pocketmine\item\Armor; use pocketmine\item\Armor;
use pocketmine\item\Consumable; use pocketmine\item\Consumable;
@ -104,7 +104,7 @@ abstract class Living extends Entity{
$this->armorInventory = new ArmorInventory($this); $this->armorInventory = new ArmorInventory($this);
//TODO: load/save armor inventory contents //TODO: load/save armor inventory contents
$this->armorInventory->addChangeListeners(CallbackInventoryChangeListener::onAnyChange( $this->armorInventory->addListeners(CallbackInventoryListener::onAnyChange(
function(Inventory $unused) : void{ function(Inventory $unused) : void{
foreach($this->getViewers() as $viewer){ foreach($this->getViewers() as $viewer){
$viewer->getNetworkSession()->onMobArmorChange($this); $viewer->getNetworkSession()->onMobArmorChange($this);

View File

@ -43,7 +43,7 @@ abstract class BaseInventory implements Inventory{
protected $slots; protected $slots;
/** @var Player[] */ /** @var Player[] */
protected $viewers = []; protected $viewers = [];
/** @var InventoryChangeListener[] */ /** @var InventoryListener[] */
protected $listeners = []; protected $listeners = [];
public function __construct(int $size){ 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){ foreach($viewers as $id => $viewer){
$this->viewers[$id] = $viewer; $this->viewers[$id] = $viewer;
} }
@ -372,19 +372,19 @@ abstract class BaseInventory implements Inventory{
return $slot >= 0 and $slot < $this->slots->getSize(); return $slot >= 0 and $slot < $this->slots->getSize();
} }
public function addChangeListeners(InventoryChangeListener ...$listeners) : void{ public function addListeners(InventoryListener ...$listeners) : void{
foreach($listeners as $listener){ foreach($listeners as $listener){
$this->listeners[spl_object_id($listener)] = $listener; $this->listeners[spl_object_id($listener)] = $listener;
} }
} }
public function removeChangeListeners(InventoryChangeListener ...$listeners) : void{ public function removeListeners(InventoryListener ...$listeners) : void{
foreach($listeners as $listener){ foreach($listeners as $listener){
unset($this->listeners[spl_object_id($listener)]); unset($this->listeners[spl_object_id($listener)]);
} }
} }
public function getChangeListeners() : array{ public function getListeners() : array{
return $this->listeners; return $this->listeners;
} }
} }

View File

@ -26,7 +26,7 @@ namespace pocketmine\inventory;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\utils\Utils; use pocketmine\utils\Utils;
class CallbackInventoryChangeListener implements InventoryChangeListener{ class CallbackInventoryListener implements InventoryListener{
//TODO: turn the closure signatures into type aliases when PHPStan supports them //TODO: turn the closure signatures into type aliases when PHPStan supports them

View File

@ -155,17 +155,17 @@ interface Inventory{
public function slotExists(int $slot) : bool; 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;
} }

View File

@ -28,11 +28,11 @@ use pocketmine\item\Item;
/** /**
* Classes implementing this interface can be injected into inventories to receive notifications when content changes * Classes implementing this interface can be injected into inventories to receive notifications when content changes
* occur. * occur.
* @see CallbackInventoryChangeListener for a closure-based listener * @see CallbackInventoryListener for a closure-based listener
* @see Inventory::addChangeListeners() * @see Inventory::addListeners()
* @see Inventory::removeChangeListeners() * @see Inventory::removeListeners()
*/ */
interface InventoryChangeListener{ interface InventoryListener{
public function onSlotChange(Inventory $inventory, int $slot, Item $oldItem) : void; public function onSlotChange(Inventory $inventory, int $slot, Item $oldItem) : void;