Offset integer ranges in runtime block data serialization

this is useful for stuff like snow layers where the range doesn't start at 0.
This commit is contained in:
Dylan K. Taylor
2022-07-13 19:49:30 +01:00
parent dea0207e4e
commit 8b2d941502
22 changed files with 34 additions and 25 deletions

View File

@ -48,13 +48,13 @@ class RedstoneRepeater extends Flowable{
protected function decodeState(RuntimeDataReader $r) : void{
$this->facing = $r->readHorizontalFacing();
$this->delay = $r->readBoundedInt(2, self::MIN_DELAY - 1, self::MAX_DELAY - 1) + 1;
$this->delay = $r->readBoundedInt(2, self::MIN_DELAY, self::MAX_DELAY);
$this->powered = $r->readBool();
}
protected function encodeState(RuntimeDataWriter $w) : void{
$w->writeHorizontalFacing($this->facing);
$w->writeInt(2, $this->delay - 1);
$w->writeBoundedInt(2, self::MIN_DELAY, self::MAX_DELAY, $this->delay);
$w->writeBool($this->powered);
}