mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2024-11-24 02:46:12 +00:00
3.1 KiB
3.1 KiB
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 generatepocketmine\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 withgetLit()
andsetLit()
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 extendsFlowable
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 storageAsyncWorker->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
vsWorker
(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 newmatch
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.