0
0
mirror of https://github.com/pmmp/PocketMine-MP.git synced 2024-11-21 17:45:20 +00:00
PocketMine-MP/changelogs/5.21.md
2024-11-12 11:48:01 +00:00

4.7 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() : ?ChiseledBookshelfSlot
    • public 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 properties
    • CopperBulb
    • CopperDoor
    • CopperGrate
    • CopperTrapdoor
    • SoulCampfire
    • Campfire
  • The following enums have new cases:
    • utils\BannerPatternType has new cases FLOW and GUSTER

pocketmine\crafting

  • The following enums have new cases:
    • FurnaceType has new cases CAMPFIRE and SOUL_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 - interface
      • transaction\action\CallbackSlotValidator - class allowing a closure to be used for slot content validation
      • SlotValidatedInventory - implemented by inventories which support the use of slot validators

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 (formerly generate-blockstate-upgrade-schema.php) has several improvements:
    • Support for generating flattenedProperties rules 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 data
      • update - regenerates an existing schema in a newer format
      • update-all - regenerates a folder of existing schemas in a newer format (useful for updating BedrockBlockUpgradeSchema en masse)
      • test - verifies that a schema produces the results expected by provided data

Internals

  • Fixed incorrect visibility of createEntity in spawn eggs.
  • Added support for newer BedrockBlockUpgradeSchema in BlockStateUpgrader.

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.