Clean up handling of armour sync

This commit is contained in:
Dylan K. Taylor
2019-05-19 16:56:10 +01:00
parent cd103cefcc
commit bca0833035
3 changed files with 17 additions and 51 deletions

View File

@ -33,6 +33,8 @@ use pocketmine\event\entity\EntityDeathEvent;
use pocketmine\event\entity\EntityEffectAddEvent;
use pocketmine\event\entity\EntityEffectRemoveEvent;
use pocketmine\inventory\ArmorInventory;
use pocketmine\inventory\CallbackInventoryChangeListener;
use pocketmine\inventory\Inventory;
use pocketmine\item\Armor;
use pocketmine\item\Consumable;
use pocketmine\item\Durable;
@ -94,6 +96,13 @@ abstract class Living extends Entity implements Damageable{
$this->armorInventory = new ArmorInventory($this);
//TODO: load/save armor inventory contents
$this->armorInventory->addChangeListeners(CallbackInventoryChangeListener::onAnyChange(
function(Inventory $unused) : void{
foreach($this->getViewers() as $viewer){
$viewer->getNetworkSession()->onMobArmorChange($this);
}
}
));
$health = $this->getMaxHealth();