From dd9ea4ee02b1344e2d0eb6862522951d19d8cd51 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Tue, 11 Apr 2023 23:27:01 +0100 Subject: [PATCH] Release 5.0.0-BETA2 --- changelogs/5.0-beta.md | 53 +++++++++++++++++++++++++++++++++++++++++- src/VersionInfo.php | 2 +- 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/changelogs/5.0-beta.md b/changelogs/5.0-beta.md index 0fef808fc..e2e9079b5 100644 --- a/changelogs/5.0-beta.md +++ b/changelogs/5.0-beta.md @@ -41,4 +41,55 @@ Released 7th March 2023. - 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. \ No newline at end of file +- 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:** +- [4.17.0](https://github.com/pmmp/PocketMine-MP/blob/5.0.0-BETA2/changelogs/4.17.md#4170) +- [4.17.1](https://github.com/pmmp/PocketMine-MP/blob/5.0.0-BETA2/changelogs/4.17.md#4171) +- [4.17.2](https://github.com/pmmp/PocketMine-MP/blob/5.0.0-BETA2/changelogs/4.17.md#4172) +- [4.18.0](https://github.com/pmmp/PocketMine-MP/blob/5.0.0-BETA2/changelogs/4.18.md#4180) +- [4.18.1](https://github.com/pmmp/PocketMine-MP/blob/5.0.0-BETA2/changelogs/4.18.md#4181) +- [4.18.2](https://github.com/pmmp/PocketMine-MP/blob/5.0.0-BETA2/changelogs/4.18.md#4182) +- [4.18.3](https://github.com/pmmp/PocketMine-MP/blob/5.0.0-BETA2/changelogs/4.18.md#4183) +- [4.18.4](https://github.com/pmmp/PocketMine-MP/blob/5.0.0-BETA2/changelogs/4.18.md#4184) +- [4.19.0](https://github.com/pmmp/PocketMine-MP/blob/5.0.0-BETA2/changelogs/4.19.md#4190) + +## 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](https://github.com/pmmp/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. diff --git a/src/VersionInfo.php b/src/VersionInfo.php index 9fa2339ff..4955f5c17 100644 --- a/src/VersionInfo.php +++ b/src/VersionInfo.php @@ -33,7 +33,7 @@ final class VersionInfo{ public const NAME = "PocketMine-MP"; public const BASE_VERSION = "5.0.0-BETA2"; - public const IS_DEVELOPMENT_BUILD = true; + public const IS_DEVELOPMENT_BUILD = false; public const BUILD_CHANNEL = "beta"; private function __construct(){