2023-04-11 23:27:01 +01:00

4.8 KiB

For Minecraft: Bedrock Edition 1.19.62

5.0.0 is a major update to PocketMine-MP, including many new features and API changes. It is not compatible with plugins written for previous versions of PocketMine-MP.

During the beta phase, no new features will be added.

This stage of development is focused on stability and cleaning up any major issues introduced during the alpha stage.

WARNING

This is a BETA release. This means that it may be unstable, and is not yet ready for production use.

Since this version has undergone substantial changes compared to 4.x, plugins written for 4.x will need to be updated to work on this version.

Breaking API changes may still occur during the beta phase, but only if they are strictly necessary to fix a problem prior to full release.

BACK UP your data before testing this. This version will work with worlds and player data from 4.x, BUT any world or player data loaded in 5.0.0 will not work in 4.x due to backwards-incompatible storage format changes.

5.0.0-BETA1

Released 7th March 2023.

This release includes changes from the following releases:

API

pocketmine\block

  • Improved documentation for the following methods:
    • Block->getTypeId()
    • Block->getStateId()
    • Block->describeType()
    • Block->describeState()

pocketmine\command

  • The following API methods have been renamed:
    • Command->getPermission() -> Command->getPermissions()

Internals

  • The following methods have been renamed:
    • Block->computeStateData() -> Block->computeTypeAndStateData()
    • Block->decodeStateData() -> Block->decodeTypeAndStateData()
  • Wall state data now packs connections into 7 bits instead of 8.

5.0.0-BETA2

Released 11th April 2023.

This release includes changes from the following releases:

Tools

  • Added script tools/generate-bedrock-data-from-packets.php. This tool accepts a txt file containing base64-encoded packet dumps.
    • This script has been used to generate data for BedrockData for several years, but has only now been open-sourced.
    • It's used to generate data such as crafting recipes, creative inventory data, and various other blobs of data needed to support the current version of Minecraft: Bedrock Edition.

Gameplay

  • Anvils now damage entities when they fall on top of them.

API

pocketmine\block\utils

  • The following API interface requirements have been added (BC breaking):
    • public Fallable->getFallDamagePerBlock() : float (default implementation provided by FallableTrait)
    • public Fallable->getMaxFallDamage() : float (default implementation provided by FallableTrait)

pocketmine\data\bedrock\block

  • The following new API methods have been added:
    • public BlockStateData->getVersionAsString() : string

pocketmine\data\bedrock\block\upgrade\model

  • BlockStateUpgradeSchemaModelBlockRemap now accepts null for oldState and newState. This makes it easier to generate portable schemas for other languages to read.

pocketmine\event\entity

  • The following new API constants have been added:
    • EntityDamageEvent::CAUSE_FALLING_BLOCK
    • EntityDamageEvent::MODIFIER_ARMOR_HELMET

pocketmine\item

  • The following API methods have signature changes:
    • ItemTypeIds::toBlockTypeId() may now return null if the item type ID is not a block.

pocketmine\player

  • The following classes have been removed:
    • PlayerChunkLoader - deprecated in 4.19.0 (this was technically internal, but never marked as such)

Internals

  • Make use of Item->canStackWith() instead of Item->equals() wherever possible, to make the code more readable.