An implementation of the Minecraft: Bedrock Edition protocol in PHP
LGPL-3.0 License
Bot releases are visible (Hide)
Published by github-actions[bot] almost 2 years ago
LevelSoundEvent
enum to 1.19.50ContainerUIIds
adds a new member RECIPE_BOOK
(21) - everything above and including ENCHANTING_INPUT
shifts value up by 1Published by github-actions[bot] almost 2 years ago
UpdateClientInputLocksPacket
: exact purpose unclear, currently non-functionalStructureTemplateDataRequestPacket
has a new type IMPORT
StructureTemplateDataResponsePacket
has a new type IMPORT
EntityMetadataFlags
added a new CAN_DASH
(46) - everything above and including LINGER
shifts value up by 1ClientboundMapItemDataPacket
checking incorrect flags when reading scale field.Published by github-actions[bot] almost 2 years ago
ItemStackRequest
(BC break)StructureSettings
(BC break)BossEventPacket::unknown6()
Published by github-actions[bot] almost 2 years ago
Published by github-actions[bot] almost 2 years ago
AddActorPacket
now requires a new PropertySyncData $syncedProperties
fieldAddPlayerPacket
now requires a new PropertySyncData $syncedProperties
fieldSetActorDataPacket
now requires a new PropertySyncData $syncedProperties
fieldUpdateAbilitiesPacketLayer
has a new EDITOR
memberPropertySyncData
: Purpose currently unclear, but appears to be a planned replacement for actor metadata. Currently unused and can be filled with empty arrays for now.Published by github-actions[bot] about 2 years ago
GameTestRequestPacket
GameTestResultsPacket
RequestNetworkSettingsPacket
- this is now the first packet in a session, instead of LoginPacket
ServerStatsPacket
AdventureSettingsPacket
NetworkSettingsPacket
has new fields int $compressionAlgorithm, bool $enableClientThrottling, int $clientThrottleThreshold, float $clientThrottleScalar
StructureBlockUpdatePacket
has a new field bool $waterlogged
TextPacket
has a new type TYPE_JSON_ANNOUNCEMENT
CompressionType
- used by NetworkSettingsPacket
RecipeIngredient
now accepts an ItemDescriptor
instead of ID+meta. This enables more features like selecting items based on tags, Molang code, or other conditions. The types of descriptors currently supported are:
IntIdMetaItemDescriptor
- this is used by all current vanilla recipes and is essentially the same as what we had to begin withMolangItemDescriptor
- allows selecting compatible items based on a Molang code predicateStringIdMetaItemDescriptor
- same as IntIdMetaItemDescriptor
, but uses string IDs and doesn't allow negative meta values (?)TagItemDescriptor
- allows selecting compatible items based on their type tags, like in Java (see the wiki)Published by github-actions[bot] about 2 years ago
The only change known between 1.19.20 and 1.19.21 has to do with custom blocks. Nobody seems to have any specifics about it.
Published by github-actions[bot] about 2 years ago
ContainerUIIds
for working with the ItemStackRequest
systemphotoId
to PhotoInfoRequestPacket
Published by github-actions[bot] about 2 years ago
FeatureRegistryPacket
- sends generator settings to the client for client-side chunk generationChatRestrictionLevel
AttributeModifierOperation
AttributeModifierTargetOperand
ClientboundMapItemDataPacket
now contains a BlockPosition $origin
fieldMapInfoRequestPacket
now contains a list<MapInfoRequestPacketClientPixel>
- list of map pixels from the client's own chunk generation, to override pixels in the response packet. It's not clear why this is needed.ModalFormResponsePacket
cancelReason
field, which can be one of USER_CLOSED
or USER_BUSY
constantsnull
if the form was closed, rather than the JSON-encoded text null
as a string.NetworkChunkPublisherUpdatePacket
now contains a list<ChunkPosition> $savedChunks
- tells the client which chunks not to generate, if client-side chunk generation is enabledStartGamePacket
now contains a bool $enableClientSideChunkGeneration
Attribute
now requires list<AttributeModifer>
in the constructorLevelSettings
contains the following new fields:
bool $disablePersona
bool $disableCustomSkins
int $chatRestrictionLevel
- see ChatRestrictionLevel
bool $disablePlayerInteractions
ClientData
JSON in LoginPacket
now requires a new TrustedSkin
boolLevelChunkPacket
now requires ChunkPosition
instead of separate chunkX/chunkZ parametersPacketSerializer->readOptional()
and PacketSerializer->writeOptional()
- used for boolean-prefixed optional typesPublished by github-actions[bot] about 2 years ago
PlayerAuthInputPacket->hasFlag()
.Published by github-actions[bot] about 2 years ago
UIInventorySlotOffset
introduced by 11.0.2.Published by github-actions[bot] about 2 years ago
UIInventorySlotOffset::SMITHING_TABLE
offsets.Published by github-actions[bot] over 2 years ago
CraftingRecipeBlockType::SMITHING_TABLE
DeathInfoPacket
Published by github-actions[bot] over 2 years ago
DeathInfoPacket
- sets the subtitle text under You died!
on the death screenEditorNetworkPacket
- unclear purposeUpdateAbilitiesPacket
- replaces the ability-specific parts of AdventureSettingsPacket
(e.g. command permissions, build/mine flags, fly speed, etc).UpdateAdventureSettingsPacket
- sets some misc flags that aren't considered "abilities", such as noAttackingMobs
, showNameTags
, autoJump
, etc. Intended to replace AdventureSettingsPacket
.AddActorPacket
now requires an additional bodyYaw
field (unclear purpose, since yaw
is already body yaw)AddPlayerPacket
no longer accepts an actorUniqueId
fieldAddPlayerPacket
now embeds an UpdateAbilitiesPacket
instead of AdventureSettingsPacket
PlayStatusPacket
has new statuses LOGIN_FAILED_EDITOR_VANILLA
and LOGIN_FAILED_VANILLA_EDITOR
ActorEvent
has new members VIBRATION_DETECTED
and DRINK_MILK
LoginPacket
JWT changesClientData
has a new IsEditorMode
fieldCommandPermission
- used by AdventureSettingsPacket
and UpdateAbilitiesPacket
(this isn't really new to the game, but it was added to BedrockProtocol
in this version)AdventureSettingsPacket
- CommandPermission
constants should now be used insteadPublished by github-actions[bot] over 2 years ago
CommandEnumConstraint
.Published by github-actions[bot] over 2 years ago
Updated to support Bedrock 1.19.0 (BC breaks).
LessonProgressPacket
RequestAbilityPacket
RequestPermissionsPacket
ToastRequestPacket
PlayerActionPacket
now requires a resultPosition
fieldPlayerAuthInputPacket
now requires an interactionMode
fieldStartGamePacket
now requires playerActorProperties
and worldTemplateId
fieldsInteractionMode
(used in PlayerAuthInputPacket
)PlayerAction
has new cases START_ITEM_USE_ON
and STOP_ITEM_USE_ON
Published by github-actions[bot] over 2 years ago
molangVariablesJson
in SpawnParticleEffectPacket
.Published by github-actions[bot] over 2 years ago
AvailableCommandsPacket::ARG_TYPE_*
constants being incorrect for 1.18.30.Published by github-actions[bot] over 2 years ago
InteractPacket
.*
(e.g. PHPStan constant wildcards).Updated to support Bedrock 1.18.30 (BC breaks)
AgentActionEventPacket
ChangeMobPropertyPacket
DimensionDataPacket
TickingAreasLoadStatusPacket
AgentActionType
- used by AgentActionEventPacket
DimensionNameIds
- used by DimensionDataPacket
DimensionData
- used by DimensionDataPacket
AddPlayerPacket
now requires a gameMode
field, which should be filled by a member of the GameMode
enum.AddVolumeEntityPacket
now requires minBound
, maxBound
and dimension
fields.RemoveVolumeEntityPacket
now requires a dimension
field.SpawnParticleEffectPacket
now requires a molangVariablesJson
field.LevelSettings->seed
is now ulongLE instead of svarint32Published by github-actions[bot] over 2 years ago
LoginPacket
decoding causing unchecked exceptions to be thrown.