diff --git a/src/network/mcpe/protocol/StartGamePacket.php b/src/network/mcpe/protocol/StartGamePacket.php index cd56a2ee7..dd60f1081 100644 --- a/src/network/mcpe/protocol/StartGamePacket.php +++ b/src/network/mcpe/protocol/StartGamePacket.php @@ -30,6 +30,7 @@ use pocketmine\nbt\tag\ListTag; use pocketmine\network\mcpe\protocol\serializer\NetworkBinaryStream; use pocketmine\network\mcpe\protocol\types\CacheableNbt; use pocketmine\network\mcpe\protocol\types\EducationEditionOffer; +use pocketmine\network\mcpe\protocol\types\GameRuleType; use pocketmine\network\mcpe\protocol\types\GeneratorType; use pocketmine\network\mcpe\protocol\types\MultiplayerGameVisibility; use pocketmine\network\mcpe\protocol\types\PlayerPermissions; @@ -100,7 +101,7 @@ class StartGamePacket extends DataPacket implements ClientboundPacket{ * @phpstan-var array */ public $gameRules = [ //TODO: implement this - "naturalregeneration" => [1, false] //Hack for client side regeneration + "naturalregeneration" => [GameRuleType::BOOL, false] //Hack for client side regeneration ]; /** @var bool */ public $hasBonusChestEnabled = false; diff --git a/src/network/mcpe/protocol/serializer/NetworkBinaryStream.php b/src/network/mcpe/protocol/serializer/NetworkBinaryStream.php index 8b9eaedbc..73cd7a525 100644 --- a/src/network/mcpe/protocol/serializer/NetworkBinaryStream.php +++ b/src/network/mcpe/protocol/serializer/NetworkBinaryStream.php @@ -44,6 +44,7 @@ use pocketmine\network\mcpe\protocol\types\entity\MetadataProperty; use pocketmine\network\mcpe\protocol\types\entity\ShortMetadataProperty; use pocketmine\network\mcpe\protocol\types\entity\StringMetadataProperty; use pocketmine\network\mcpe\protocol\types\entity\Vec3MetadataProperty; +use pocketmine\network\mcpe\protocol\types\GameRuleType; use pocketmine\network\mcpe\protocol\types\inventory\ItemStack; use pocketmine\network\mcpe\protocol\types\PersonaPieceTintColor; use pocketmine\network\mcpe\protocol\types\PersonaSkinPiece; @@ -543,13 +544,13 @@ class NetworkBinaryStream extends BinaryStream{ $type = $this->getUnsignedVarInt(); $value = null; switch($type){ - case 1: + case GameRuleType::BOOL: $value = $this->getBool(); break; - case 2: + case GameRuleType::INT: $value = $this->getUnsignedVarInt(); break; - case 3: + case GameRuleType::FLOAT: $value = $this->getLFloat(); break; default: @@ -575,13 +576,13 @@ class NetworkBinaryStream extends BinaryStream{ $this->putString($name); $this->putUnsignedVarInt($rule[0]); switch($rule[0]){ - case 1: + case GameRuleType::BOOL: $this->putBool($rule[1]); break; - case 2: + case GameRuleType::INT: $this->putUnsignedVarInt($rule[1]); break; - case 3: + case GameRuleType::FLOAT: $this->putLFloat($rule[1]); break; default: