mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2024-11-24 16:46:13 +00:00
47 lines
2.9 KiB
Markdown
47 lines
2.9 KiB
Markdown
# 5.10.0
|
|
Released 14th December 2023.
|
|
|
|
**For Minecraft: Bedrock Edition 1.20.50**
|
|
|
|
This is a minor feature release, including new gameplay features and minor performance 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
|
|
- PHP 8.2 is now used by default. PHP 8.1 is still supported, but will be removed in a future 5.x release.
|
|
- Improved timings reports by removing `Breakdown` timings group. This group serves no purpose with tree timings and made for confusing reading.
|
|
|
|
## Performance
|
|
- Improved performance of `Block::encodeFullState()` in most conditions. This in turn improves performance of `World::setBlock()` and `World::setBlockAt()`.
|
|
- Improved network compression performance by avoiding unnecessary object allocations.
|
|
- Timings now report time spent in individual `Snooze` handlers, making it easier to debug performance issues.
|
|
|
|
## Gameplay
|
|
### Blocks
|
|
- Implemented crop growth speed modifiers.
|
|
- The following things now positively affect crop growth speed:
|
|
- Being planted on or being adjacent to farmland (hydrated farmland offers a larger benefit than dry farmland)
|
|
- Potential light level of at least 9
|
|
- Being planted in rows with space between them (or a different type of crop)
|
|
- The following things now negatively affect crop growth speed:
|
|
- Improper arrangement (e.g. the same crop on all sides)
|
|
- Insufficient light level (below 9)
|
|
- Poorly arranged crops will grow slower in this version. Past versions behaved as if crops were always planted in ideal conditions.
|
|
- Crops planted in ideal conditions will grow at the same speed as before.
|
|
|
|
### Items
|
|
- Added the following new items:
|
|
- All types of Smithing Template
|
|
- Pitcher Pod is now correctly registered. In previous versions, it was mapped to the Pitcher Crop block, causing incorrect name display in commands.
|
|
|
|
## Internals
|
|
- Cleaned up various getter usages where direct property access is possible.
|
|
- Avoided unnecessary repeated getter calls in some loops.
|
|
- `NetworkSession` may now track `string` instead of `CompressBatchPromise` when a batch was synchronously compressed. This significantly reduces object allocations and improves performance.
|
|
- `NetworkSession` now sends less information to clients on login validation failure. This avoids leaking potentially sensitive error information to clients.
|
|
- Clients can correlate their disconnects with server-side logs using the `Error ID` shown on the disconnect screen.
|