-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
48 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# 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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters