mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2024-11-24 05:06:13 +00:00
64 lines
3.1 KiB
Markdown
64 lines
3.1 KiB
Markdown
# 5.12.0
|
|
Released 28th February 2024
|
|
|
|
**For Minecraft: Bedrock Edition 1.20.60**
|
|
|
|
This is a minor feature release, with a few new features and improvements.
|
|
|
|
**Plugin compatibility:** Plugins for previous 5.x versions will run unchanged on this release, unless they use internal APIs, reflection, or packages like the `pocketmine\network\mcpe` or `pocketmine\data` namespace.
|
|
Do not update plugin minimum API versions unless you need new features added in this release.
|
|
|
|
**WARNING: If your plugin uses the `pocketmine\network\mcpe` namespace, you're not shielded by API change constraints.**
|
|
Consider using the `mcpe-protocol` directive in `plugin.yml` as a constraint if you're using packets directly.
|
|
|
|
## General
|
|
- Added a `--version` command-line option to display the server version and exit.
|
|
|
|
## Tools
|
|
- Added `tools/generate-biome-ids.php` to generate `pocketmine\data\bedrock\BiomeIds`.
|
|
- Fixed ordering of property values generated by `tools/generate-block-palette-spec.php`.
|
|
|
|
## API
|
|
### `pocketmine\block`
|
|
- The following new classes have been added:
|
|
- `utils\LightableTrait` - used by blocks with `getLit()` and `setLit()` methods
|
|
- The following methods have been deprecated:
|
|
- `Block->isSolid()` - this method returns confusing results which don't match expectations and no one really knows what it actually means
|
|
- `CocoaBlock` now extends `Flowable` to match vanilla Minecraft behaviour.
|
|
|
|
### `pocketmine\plugin`
|
|
- `PluginManager->registerEvent()` now throws an exception when given a generator function for the event handler.
|
|
- `PluginManager->registerEvents()` now throws an exception if any of the detected event handlers are generator functions. Use `@notHandler` to have the function ignored if intended.
|
|
|
|
### `pocketmine\promise`
|
|
- The following methods have been added:
|
|
- `public static Promise::all(list<Promise> $promises) : Promise` - returns a promise that is resolved once all given promises are resolved, or is rejected if any of the promises are rejected.
|
|
|
|
### `pocketmine\scheduler`
|
|
- The following methods have been deprecated:
|
|
- `AsyncWorker->getFromThreadStore()` - use class static properties for thread-local storage
|
|
- `AsyncWorker->removeFromThreadStore()`
|
|
- `AsyncWorker->saveToThreadStore()`
|
|
|
|
## Documentation
|
|
- Improved documentation of various methods in `Block`.
|
|
|
|
## Gameplay
|
|
- The following new items have been added:
|
|
- Name Tag
|
|
|
|
## Internals
|
|
- Removed specialization of shutdown logic for `Thread` vs `Worker` (no specialization is required).
|
|
- Authentication system no longer accepts logins signed with the old Mojang root public key.
|
|
- ID to enum mappings in `pocketmine\data` now use a new `match` convention to allow static analysis to ensure that all enum cases are handled.
|
|
- Updated version of `pocketmine/bedrock-protocol` allows avoiding decoding of some itemstack data from the client in most cases, improving performance.
|
|
|
|
# 5.12.1
|
|
Released 13th March 2024.
|
|
|
|
## Fixes
|
|
- Fixed `Player Network Receive - Decompression` timings not being stopped correctly when receiving an uncompressed packet.
|
|
|
|
## Internals
|
|
- Removed hardcoded batch packet size limit. This was already covered by other limits anyway.
|