3.1 KiB
5.25.0
Released 16th February 2025.
This is a support release for Minecraft: Bedrock Edition 1.21.60. It also includes some minor API additions supporting new features in this version.
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 support for Minecraft: Bedrock Edition 1.21.60.
- Removed support for earlier versions.
Documentation
- Fixed the documentation of
Utils::getOS()
. It now refers to theUtils::OS_*
constants instead of a list of hardcoded strings.
API
pocketmine\inventory
This release allows plugins to decide which creative tab they want to add their new items to. It also allows creating new collapsible groups of items, and modifying or removing existing ones.
- The following new methods have been added:
public CreativeInventory->getAllEntries() : list<CreativeInventoryEntry>
- returns an array of objects, each containing a creative item and information about its category and collapsible group (if applicable).public CreativeInventory->getEntry(int $index) : ?CreativeInventoryEntry
- returns the creative item with the specified identifier, ornull
if not found
- The following methods have signature changes:
CreativeInventory->add()
now accepts two additional optional parameters:CreativeCategory $category, ?CreativeGroup $group
. If not specified, the item will be added to the Items tab without a group.
- The following new classes have been added:
CreativeCategory
- enum of possible creative inventory categories (each has its own tab on the GUI)CreativeGroup
- contains information about a collapsible group of creative items, including tooltip text and iconCreativeInventoryEntry
- contains information about a creative inventory item, including its category and collapsible group (if applicable)
Internals
CreativeContentPacket
is no longer fully cached due to the requirement for translation context during construction. The individual items are still cached (which is the most expensive part), but the packet itself is now constructed on demand, and group entries are constructed on the fly. This may affect performance, but this has not been investigated.BedrockDataFiles
now includes constants for folders at the top level ofBedrockData
as well as files.- The structure of creative data in
BedrockData
was changed to accommodate item category and grouping information.creativeitems.json
has been replaced bycreative/*.json
, which contain information about item grouping and also segregates item lists per category. - New information was added to
required_item_list.json
inBedrockData
, as the server is now required to send item component NBT data in some cases.