0
0
mirror of https://github.com/pmmp/PocketMine-MP.git synced 2025-02-24 12:05:10 +00:00
2025-02-16 22:16:47 +00:00

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 the Utils::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, or null 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 icon
    • CreativeInventoryEntry - 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 of BedrockData 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 by creative/*.json, which contain information about item grouping and also segregates item lists per category.
  • New information was added to required_item_list.json in BedrockData, as the server is now required to send item component NBT data in some cases.