2020-02-21 19:18:48 +00:00

5.1 KiB

For Minecraft: Bedrock Edition 1.14.0

Note about API versions

Plugins which don't touch the protocol and compatible with any previous 3.x.y version will also run on these releases and do not need API bumps. Plugin developers should only update their required API to this version if you need the changes in this build.

WARNING: If your plugin uses the protocol, you're not shielded by API change constraints. You should consider using the mcpe-protocol directive in plugin.yml as a constraint if you do.

3.11.0

  • Added support for Minecraft: Bedrock Edition 1.14.0
  • Removed compatibility with 1.13.0

3.11.1

  • Fixed blocks with incorrect properties when placed or interacted with.

3.11.2

Core

  • PHPStan 0.12.3 with level 5 is now used for automated static analysis.
  • Fixed a possible crash when plugins override the EnderChest tile class with something incompatible.
  • Fixed disconnected players being considered as never played.
  • Fixed enchantments with IDs outside the range 0-255 in item NBT crashing the server.
  • Fixed particles rendering incorrectly.
  • Timings handlers are no longer able to underflow; they now throw exceptions when attempting to be stopped more times than they were started.
  • Fixed explosion rays getting stuck in empty subchunks (possible incorrect behaviour in large caves).
  • Fixed bad tile/entity NBT data being propagated from world providers in some cases.
  • Fixed a possible crash when detecting timezone on CentOS.
  • Fixed many cases of incorrectly documented types in the API found by PHPStan.
  • Generation tasks no longer assume that generator instances stored in TLS are always valid, fixing a possible crash.

Protocol

  • Fixed skin animation image corruption in LoginPacket handling caused by incorrect data handling.
  • Fixed skin animation extra data not being decoded from LoginPacket.
  • SkinImage now throws InvalidArgumentException if it receives an unexpected amount of bytes for the given image heigh/width.
  • Fixed broken code in PlayerAuthInputPacket::create().
  • Removed some dead constants from NetworkInventoryAction.

3.11.3

  • Fixed some PHPStan false-positives in release builds.
  • Git hash is now correctly detected for source builds when the working directory is not the repository root.
  • Added a specialized build script build/server-phar.php for creating server phars.
  • Fixed timings crashing the server.
  • Timings chains now work correctly.
  • Fixed some minor timing errors in chained timings.
  • Forcing resource packs no longer causes removal of client-sided resource packs. If this behaviour is desired, use a vanilla resource pack at the bottom of your resource stack (as was necessary for non-forced packs).
  • Added documentation to the API to clarify that effect durations are in ticks.

3.11.4

  • Fixed performance issue in leaf decay.
  • Fixed entity position desync when entities stop moving, but still have velocity on the client.
  • Fixed a crash when encountering truncated level.dat files in LevelDB worlds.
  • Core code is now analyzed using PHPStan level 6.
  • The core constants pocketmine\PATH and pocketmine\RESOURCE_PATH are now unconditionally available when including the Composer autoloader.
  • Populate type information in lots of places where it was previously missing; this will improve the quality of static analysis for plugins.
  • MainLogger::logException() now logs previous exceptions recursively.
  • MainLogger::logException() now always logs exceptions as critical.

3.11.5

  • PHPStan and PHPUnit are now managed as Composer dev dependencies.
  • Core code is now analyzed using PHPStan level 6 (full, including iterable types checking).
  • Improved type information available to PHPStan in many areas.
  • Mass-removal of useless PHPDoc.
  • Fixed incorrect documentation of Internet::getURL(), Internet::postURL() and Internet::simpleCurl().
  • Fixed crash on use of case-mismatched recursive command aliases.
  • Basic build instructions are now provided in BUILDING.md.
  • build/server-phar.php now uses GZIP compression on created phars, providing a 75% size reduction.
  • ClientboundMapItemDataPacket now uses MapDecoration objects for decorations instead of associative arrays.
  • Updated Composer dependencies to get bug fixes in pocketmine/nbt and other libraries.
  • Packages pocketmine/classloader and pockegtmine/log are now required; these provide classes previously part of pocketmine/spl. This change has no effect on API compatibility.

3.11.6

  • Core code, tests and build scripts are now analyzed using phpstan-strict-rules and phpstan-phpunit rules.
  • Added more PHPStan-specific type annotations to improve static analysis.
  • Fixed more incorrect PHPDoc types.
  • Added a workaround for player movement not working since 1.14.30.
  • Fixed lava and water buckets being edible since 1.13.
  • AutoUpdater is now created before any plugins are loaded.
  • Fixed trees not generating below y=2 in custom generators.
  • Fixed crash when opening a chest improperly unpaired from its pair (destroyed, setBlock(), unloaded, etc.).
  • ThreadManager is now lazily initialized.
  • Removed raw NBT storage from Item internals. The following methods are now deprecated:
    • Item::setCompoundTag()