mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-10-20 15:41:33 +00:00
5.5 KiB
5.5 KiB
5.21.0
Released 3rd November 2024.
This is a minor feature release, including gameplay features and minor internals 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.
Gameplay
- Added the following new blocks:
- Campfire
- Chiseled Copper
- Chiseled Tuff
- Chiseled Tuff Bricks
- Copper Bulb
- Copper Door
- Copper Grate
- Copper Trapdoor
- Polished Tuff, Slabs, Stairs and Walls
- Soul Campfire
- Tuff Bricks, Slabs, Stairs and Walls
- Tuff Slab, Stairs and Walls
- Added the following new types of painting:
- backyard
- baroque
- bouquet
- cavebird
- changing
- cotan
- endboss
- fern
- finding
- humble
- lowmist
- meditative
- orb
- owlemons
- passage
- pond
- prairie_ride
- sunflowers
- tides
- unpacked
- Armor slots are now properly restricted (on the server side) to only contain the appropriate type of armor or headwear.
- Implemented Aqua Affinity enchantment. Since the server doesn't currently enforce any movement restrictions in water, this enchantment works based on client-side behaviour only.
API
pocketmine\block
- The following new API methods have been added:
public ChiseledBookshelf->getLastInteractedSlot() : ?ChiseledBookshelfSlotpublic ChiseledBookshelf->setLastInteractedSlot(?ChiseledBookshelfSlot $lastInteractedSlot) : $this
- The following new classes have been added:
utils\CopperMaterial- interface implemented by all copper-like blocks with oxidation and waxed propertiesCopperBulbCopperDoorCopperGrateCopperTrapdoorSoulCampfireCampfire
- The following enums have new cases:
utils\BannerPatternTypehas new casesFLOWandGUSTER
pocketmine\crafting
- The following enums have new cases:
FurnaceTypehas new casesCAMPFIREandSOUL_CAMPFIRE
pocketmine\event
- The following new classes have been added:
block\CampfireCookEvent- called when a campfire finishes cooking an item
pocketmine\inventory
- Added support for slot validators, which permit restricting the types of items a player can put into an inventory slot.
- The following new classes have been added:
transaction\action\SlotValidator- interfacetransaction\action\CallbackSlotValidator- class allowing a closure to be used for slot content validationSlotValidatedInventory- implemented by inventories which support the use of slot validators
- The following new classes have been added:
pocketmine\item
- The following new API methods have been added:
public Item->getCooldownTag() : ?string- returns the cooldown group this item belongs to, used for ensuring that, for example, different types of goat horns all respect a general horn cooldown
- The following new classes have been added:
ItemCooldownTags- list of cooldown group tags used by PocketMine-MP
pocketmine\world\sound
- The following new classes have been added
CampfireSound- sound made by campfires while lit
Tools
tools/blockstate-upgrade-schema-utils.php(formerlygenerate-blockstate-upgrade-schema.php) has several improvements:- Support for generating
flattenedPropertiesrules as per BedrockBlockUpgradeSchema 5.0.0 - Improved criteria for flattened property selection to minimize the amount of rules required
- Several subcommands are now available:
generate- generates a schema from provided dataupdate- regenerates an existing schema in a newer formatupdate-all- regenerates a folder of existing schemas in a newer format (useful for updatingBedrockBlockUpgradeSchemaen masse)test- verifies that a schema produces the results expected by provided data
- Support for generating
Internals
- Fixed incorrect visibility of
createEntityin spawn eggs. - Added support for newer
BedrockBlockUpgradeSchemainBlockStateUpgrader.
5.21.1
Released 12th November 2024.
Fixes
- Fixed server crash when applying a cooldown to an item with 1 count.
- Fixed garbage collector cycle count increase on player disconnect.
- Fixed weakness effect being applied to all attack types, causing damage splash potions to become weaker.
- Fixed Enchanted Golden Apple regeneration effect amplifier to match vanilla.
5.21.2
Released 29th November 2024.
Fixes
- Fixed blocks destroyable by water being able to be placed inside water.
- Fixed deprecation warnings about nullable typehints on PHP 8.4.
- Fixed
Utils::getNiceClosureName()not working correctly on PHP 8.4. - Fixed incorrect break animations when breaking the block behind an instantly-breakable block like a torch.
- Fixed candle extinguish logic.
- Fixed various documentation issues around array key types.
- Introduced a new PHPStan rule along with
Utils::promoteKeys()to improve PHPStan error reporting around unspecified array key types. Previously, some errors were missed due to PHPStan's BenevolentUnionType.
DevOps
pmmp/server-developersteam is now automatically requested for review on any new PR.Status: Waiting on Authorlabel is now automatically removed from PRs when they are updated.