Prepare 5.0.0-ALPHA6 changelog

This commit is contained in:
Dylan K. Taylor 2022-12-19 22:18:24 +00:00
parent 16f90f4120
commit 83bfe790fa
No known key found for this signature in database
GPG Key ID: 8927471A91CAFD3D

View File

@ -646,4 +646,94 @@ Released 13th November 2022.
- Copper blocks now play the correct scrape sound when using an axe on them.
## Internals
- Moved command timings to `Timings`.
- Moved command timings to `Timings`.
# 5.0.0-ALPHA6
Released 19th December 2022.
**This release includes changes from the following releases, which may not be explicitly mentioned:**
- [4.10.2](https://github.com/pmmp/PocketMine-MP/releases/tag/4.10.2)
- [4.11.0](https://github.com/pmmp/PocketMine-MP/releases/tag/4.11.0)
- [4.12.0](https://github.com/pmmp/PocketMine-MP/releases/tag/4.12.0)
- [4.12.1](https://github.com/pmmp/PocketMine-MP/releases/tag/4.12.1)
- [4.12.2](https://github.com/pmmp/PocketMine-MP/releases/tag/4.12.2)
## General
- Fixed the Bedrock client asking to upgrade worlds exported from PocketMine-MP to Bedrock (missing level.dat fields).
- Added support for 1.19.40 and newer Bedrock worlds.
- Commands are now enabled by default in worlds exported from PocketMine-MP to Bedrock.
## Gameplay
### Blocks
- Added the following new blocks:
- Twisting Vines
- Weeping Vines
- Anvils are now damaged when they hit the ground after falling.
- Added missing sounds for anvils hitting the ground after falling.
- Fixed missing sounds when a projectile strikes an amethyst block.
- Fixed some blocks being incorrectly able to be placed on top of a candle cake.
### Items
- Added the following new items:
- Music Disc (5)
- Music Disc (Otherside)
- Music Disc (Pigstep)
- Implemented Swift Sneak enchantment.
- Armour durability is now only reduced when the wearer receives a type of damage that the armour can protect against.
## API
### General
- Union and mixed native parameter, return and property types are now used where appropriate.
### `pocketmine\block`
- The following new API methods have been added:
- `public Furnace->getType() : utils\FurnaceType`
- The following interfaces have new requirements:
- `utils\Fallable` now requires `onHitGround()` to be implemented (although filled by default implementation in `FallableTrait`).
- `utils\Fallable` now requires `getLandSound()` to be implemented (although filled by default implementation in `FallableTrait`).
- The following new API constants have been added:
- `public BlockTypeTags::FIRE` - used by fire and soul fire
### `pocketmine\crafting`
- The `$type` parameter of `ShapelessRecipe->__construct()` is now mandatory.
### `pocketmine\entity`
- The following new API methods have been added:
- `public Living->getDisplayName() : string`
- The following API methods have changed signatures:
- `EntityFactory->register()` no longer accepts a `$legacyMcpeSaveId` parameter (now handled by internal conversions instead).
### `pocketmine\event`
- The following classes have been renamed:
- `entity\ExplosionPrimeEvent` -> `entity\EntityPreExplodeEvent`
- The following new classes have been added:
- `world\WorldParticleEvent` - called when a particle is spawned in a world
- `world\WorldSoundEvent` - called when a sound is played in a world
- The following API methods have changed signatures:
- `entity\EntityPreExplodeEvent->__construct()` has the `$force` parameter renamed to `$radius`
- `entity\EntityPreExplodeEvent->getForce() : float` -> `entity\EntityPreExplodeEvent->getRadius() : float`
- `entity\EntityPreExplodeEvent->setForce(float $force) : void` -> `entity\EntityPreExplodeEvent->setRadius(float $radius) : void`
### `pocketmine\item`
- The following new API methods have been added:
- `public Item->keepOnDeath() : bool` - returns whether this item will be retained when a player carrying it dies
- `public Item->onInteractEntity(Player $player, Entity $entity, Vector3 $clickPos) : bool` - called when a player interacts with an entity with this item in their hand
- `public Item->setKeepOnDeath(bool $keepOnDeath) : void` - sets whether this item will be retained when a player carrying it dies
- `public StringToItemParser->lookupAliases(Item $item) : list<string>` - returns a list of all registered aliases for the given item
- `public StringToItemParser->lookupBlockAliases(Block $block) : list<string>` - returns a list of all registered aliases for the given block
### `pocketmine\resourcepacks`
- The following new API methods have been added:
- `public ResourcePackManager->setPackEncryptionKey(string $id, ?string $key) : void` - sets the encryption key to be used for the resource pack identified by the given UUID
- `public ResourcePackManager->setResourceStack(list<ResourcePack> $resourceStack) : void` - sets the resource stack to be used by the server
### `pocketmine\world`
- The following API methods have changed signatures:
- `Explosion->__construct()` has the `$size` parameter renamed to `$radius`
- The following public properties have been renamed:
- `Explosion->size` -> `Explosion->radius`
## Internals
- `EntityLegacyIds` has been removed. Legacy entity IDs found during world loading are now converted via `LegacyEntityIdToStringIdMap`.
- All usages of NBT keys now use class constants instead of hardcoded strings (except for an occasional overlooked one).
- All members of `BlockTypeTags` now have a `pocketmine:` prefix on the value. This does not affect constant usages.