Generalize runtime block data serialization

we want to reuse this code for item type data
This commit is contained in:
Dylan K. Taylor
2022-07-05 14:13:37 +01:00
parent 1714e2fd35
commit 325f1cf82e
80 changed files with 494 additions and 608 deletions

View File

@ -25,8 +25,8 @@ namespace pocketmine\block;
use pocketmine\block\utils\MinimumCostFlowCalculator;
use pocketmine\block\utils\SupportType;
use pocketmine\data\runtime\block\BlockDataReader;
use pocketmine\data\runtime\block\BlockDataWriter;
use pocketmine\data\runtime\RuntimeDataReader;
use pocketmine\data\runtime\RuntimeDataWriter;
use pocketmine\entity\Entity;
use pocketmine\event\block\BlockFormEvent;
use pocketmine\event\block\BlockSpreadEvent;
@ -51,13 +51,13 @@ abstract class Liquid extends Transparent{
public function getRequiredStateDataBits() : int{ return 5; }
protected function decodeState(BlockDataReader $r) : void{
protected function decodeState(RuntimeDataReader $r) : void{
$this->decay = $r->readBoundedInt(3, 0, self::MAX_DECAY);
$this->falling = $r->readBool();
$this->still = $r->readBool();
}
protected function encodeState(BlockDataWriter $w) : void{
protected function encodeState(RuntimeDataWriter $w) : void{
$w->writeInt(3, $this->decay);
$w->writeBool($this->falling);
$w->writeBool($this->still);