mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2024-11-21 16:35:25 +00:00
2.9 KiB
2.9 KiB
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 ofWorld::setBlock()
andWorld::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.
- The following things now positively affect crop growth speed:
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 trackstring
instead ofCompressBatchPromise
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.
- Clients can correlate their disconnects with server-side logs using the