mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2024-11-21 16:35:25 +00:00
6.4 KiB
6.4 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 throwsInvalidArgumentException
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
andpocketmine\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 ascritical
.
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()
andInternet::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 usesMapDecoration
objects for decorations instead of associative arrays.- Updated Composer dependencies to get bug fixes in
pocketmine/nbt
and other libraries. - Packages
pocketmine/classloader
andpocketmine/log
are now required; these provide classes previously part ofpocketmine/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
andphpstan-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()
3.11.7
- Build system: Fixed crash reports of Jenkins builds being rejected by the crash archive as invalid.
- Introduced a new dependency on
pocketmine/log-pthreads
, which contains classes separated frompocketmine/log
. - Fixed minimum composer stability preventing any newer version of
pocketmine/pocketmine-mp
being installed than 3.3.4 by replacingdaverandom/callback-validator
withpocketmine/callback-validator
. - Fixed every player seeing eating particles when any player eats.
- Fixed setting held item not working during
BlockBreakEvent
,PlayerInteractEvent
andEntityDamageEvent
. - Fixed some incorrect documented types in
PlayerQuitEvent
reported by PHPStan. - Fixed documentation of
Item->pop()
return value. - Fixed server crash on encountering corrupted compressed data stored in region files.
- Protocol: Split screen header is now properly accounted for during decoding. Note that split screen is still not supported natively, but their packets can be decoded properly now.
- Protocol: Fixed wrong order of fields in
UpdateTradePacket
. - Protocol: Fixed loss of
fullSkinId
when decoding network skins. - Fixed RCON not being able to bind to port after a fast server restart.