PocketMine-MP
5.15.1 git-be6754494fdbbb9dd57c058ba0e33a4a78c4581f
ByteMetadataProperty.php
1
<?php
2
3
/*
4
* This file is part of BedrockProtocol.
5
* Copyright (C) 2014-2022 PocketMine Team <https://github.com/pmmp/BedrockProtocol>
6
*
7
* BedrockProtocol is free software: you can redistribute it and/or modify
8
* it under the terms of the GNU Lesser General Public License as published by
9
* the Free Software Foundation, either version 3 of the License, or
10
* (at your option) any later version.
11
*/
12
13
declare(strict_types=1);
14
15
namespace
pocketmine\network\mcpe\protocol\types\entity;
16
17
use
pocketmine\network\mcpe\protocol\serializer\PacketSerializer
;
18
use pocketmine\network\mcpe\protocol\types\GetTypeIdFromConstTrait;
19
use
pocketmine\utils\Binary
;
20
21
final
class
ByteMetadataProperty
implements
MetadataProperty
{
22
use GetTypeIdFromConstTrait;
23
use IntegerishMetadataProperty;
24
25
public
const
ID = EntityMetadataTypes::BYTE;
26
27
protected
function
min() :
int
{
28
return
-0x80;
29
}
30
31
protected
function
max() :
int
{
32
return
0x7f;
33
}
34
35
public
static
function
read(
PacketSerializer
$in) :
self
{
36
return
new
self
(Binary::signByte($in->
getByte
()));
37
}
38
39
public
function
write(
PacketSerializer
$out) :
void
{
40
$out->putByte($this->value);
41
}
42
}
pocketmine\network\mcpe\protocol\serializer\PacketSerializer
Definition:
bedrock-protocol/src/serializer/PacketSerializer.php:67
pocketmine\network\mcpe\protocol\types\entity\ByteMetadataProperty
Definition:
ByteMetadataProperty.php:21
pocketmine\utils\Binary
Definition:
Binary.php:41
pocketmine\utils\BinaryStream\getByte
getByte()
Definition:
BinaryStream.php:117
pocketmine\network\mcpe\protocol\types\entity\MetadataProperty
Definition:
MetadataProperty.php:19
vendor
pocketmine
bedrock-protocol
src
types
entity
ByteMetadataProperty.php
Generated by
1.9.3