Merge commit 'fd63f1919'

# Conflicts:
#	resources/vanilla
#	src/network/mcpe/protocol/serializer/NetworkBinaryStream.php
#	src/pocketmine/network/mcpe/protocol/StartGamePacket.php
This commit is contained in:
Dylan K. Taylor 2020-05-20 20:09:54 +01:00
commit 8f6ccb17fd
2 changed files with 9 additions and 7 deletions

View File

@ -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<string, array{0: int, 1: bool|int|float}>
*/
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;

View File

@ -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: