Merge branch 'release/3.5'

This commit is contained in:
Dylan K. Taylor 2018-12-26 23:18:33 +00:00
commit b8f8a81704
3 changed files with 23 additions and 9 deletions

View File

@ -61,19 +61,29 @@ class ChestInventory extends ContainerInventory{
return $this->holder; return $this->holder;
} }
protected function getOpenSound() : int{
return LevelSoundEventPacket::SOUND_CHEST_OPEN;
}
protected function getCloseSound() : int{
return LevelSoundEventPacket::SOUND_CHEST_CLOSED;
}
public function onOpen(Player $who) : void{ public function onOpen(Player $who) : void{
parent::onOpen($who); parent::onOpen($who);
if(count($this->getViewers()) === 1 and $this->getHolder()->isValid()){ if(count($this->getViewers()) === 1 and $this->getHolder()->isValid()){
//TODO: this crap really shouldn't be managed by the inventory
$this->broadcastBlockEventPacket(true); $this->broadcastBlockEventPacket(true);
$this->getHolder()->getLevel()->broadcastLevelSoundEvent($this->getHolder()->add(0.5, 0.5, 0.5), LevelSoundEventPacket::SOUND_CHEST_OPEN); $this->getHolder()->getLevel()->broadcastLevelSoundEvent($this->getHolder()->add(0.5, 0.5, 0.5), $this->getOpenSound());
} }
} }
public function onClose(Player $who) : void{ public function onClose(Player $who) : void{
if(count($this->getViewers()) === 1 and $this->getHolder()->isValid()){ if(count($this->getViewers()) === 1 and $this->getHolder()->isValid()){
//TODO: this crap really shouldn't be managed by the inventory
$this->broadcastBlockEventPacket(false); $this->broadcastBlockEventPacket(false);
$this->getHolder()->getLevel()->broadcastLevelSoundEvent($this->getHolder()->add(0.5, 0.5, 0.5), LevelSoundEventPacket::SOUND_CHEST_CLOSED); $this->getHolder()->getLevel()->broadcastLevelSoundEvent($this->getHolder()->add(0.5, 0.5, 0.5), $this->getCloseSound());
} }
parent::onClose($who); parent::onClose($who);
} }

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\inventory; namespace pocketmine\inventory;
use pocketmine\level\Position; use pocketmine\level\Position;
use pocketmine\network\mcpe\protocol\LevelSoundEventPacket;
use pocketmine\network\mcpe\protocol\types\WindowTypes; use pocketmine\network\mcpe\protocol\types\WindowTypes;
use pocketmine\tile\EnderChest; use pocketmine\tile\EnderChest;
@ -58,6 +59,14 @@ class EnderChestInventory extends ChestInventory{
$this->holder->setLevel($enderChest->getLevel()); $this->holder->setLevel($enderChest->getLevel());
} }
protected function getOpenSound() : int{
return LevelSoundEventPacket::SOUND_ENDERCHEST_OPEN;
}
protected function getCloseSound() : int{
return LevelSoundEventPacket::SOUND_ENDERCHEST_CLOSED;
}
/** /**
* This override is here for documentation and code completion purposes only. * This override is here for documentation and code completion purposes only.
* @return Position * @return Position

View File

@ -123,14 +123,9 @@ class Sign extends Spawnable{
public function updateCompoundTag(CompoundTag $nbt, Player $player) : bool{ public function updateCompoundTag(CompoundTag $nbt, Player $player) : bool{
if($nbt->hasTag(self::TAG_TEXT_BLOB, StringTag::class)){ if($nbt->hasTag(self::TAG_TEXT_BLOB, StringTag::class)){
$lines = array_pad(explode("\n", $nbt->getString(self::TAG_TEXT_BLOB)), 4, ""); $lines = array_slice(array_pad(explode("\n", $nbt->getString(self::TAG_TEXT_BLOB)), 4, ""), 0, 4);
}else{ }else{
$lines = [ return false;
$nbt->getString(sprintf(self::TAG_TEXT_LINE, 1)),
$nbt->getString(sprintf(self::TAG_TEXT_LINE, 2)),
$nbt->getString(sprintf(self::TAG_TEXT_LINE, 3)),
$nbt->getString(sprintf(self::TAG_TEXT_LINE, 4))
];
} }
$removeFormat = $player->getRemoveFormat(); $removeFormat = $player->getRemoveFormat();