mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2024-11-21 17:45:20 +00:00
7.5 KiB
7.5 KiB
For Minecraft: Bedrock Edition 1.12.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.9.0
- Added support for Minecraft: Bedrock Edition 1.12.0
- Removed compatibility with 1.11.0
Protocol
- The following classes in the
\pocketmine\network\mcpe\protocol
namespace have been renamed:AddEntityPacket
->AddActorPacket
AddItemEntityPacket
->AddItemActorPacket
AvailableEntityIdentifiersPacket
->AvailableActorIdentifiersPacket
BlockEntityDataPacket
->BlockActorDataPacket
EntityEventPacket
->ActorEventPacket
EntityFallPacket
->ActorFallPacket
EntityPickRequestPacket
->ActorPickRequestPacket
MoveEntityAbsolutePacket
->MoveActorAbsolutePacket
MoveEntityDeltaPacket
->MoveActorDeltaPacket
RemoveEntityPacket
->RemoveActorPacket
SetEntityDataPacket
->SetActorDataPacket
SetEntityLinkPacket
->SetActorLinkPacket
SetEntityMotionPacket
->SetActorMotionPacket
TakeItemEntityPacket
->TakeItemActorPacket
- The following classes in the
\pocketmine\network\mcpe\protocol
namespace have been removed:FullChunkDataPacket
- The following classes in the
\pocketmine\network\mcpe\protocol
namespace have been added:AddEntityPacket
(not to be confused with the old one)ClientCacheBlobStatusPacket
ClientCacheMissResponsePacket
ClientCacheStatusPacket
LevelChunkPacket
RemoveEntityPacket
(not to be confused with the old one)StructureTemplateDataExportRequestPacket
StructureTemplateDataExportResponsePacket
3.9.1
- Fixed resource packs not working on 1.12 clients.
- Fixed some particles displaying incorrectly (some still don't render at all).
- Fixed
Entity->setFireTicks()
with a value of0
setting the on-fire flag. - Silenced a debug message which appeared every time a player right-clicked a block.
- Updated constants for
LevelSoundEventPacket
.
3.9.2
- Logger warnings for illegal player movements have been lowered to debug.
- TNT explosions now start from the center instead of the base. This fixes unexpected results when TNT is lit on top of obsidian.
- Fixed the
loadbefore
directive inplugin.yml
sometimes being ignored. - Fixed
Item->setCustomName()
with an empty string leaving behind an empty tag. - Fixed incorrect positioning of bucket empty sound.
- Fixed some incorrect tag parsing in
/give
involving quoted numbers.
3.9.3
- Fixed a memory leak on async task removal in error conditions.
- Fixed scheduled block updates (for example liquid) triggering chunk reloading. This could cause a significant performance issue in some conditions.
- Fixed some minor cosmetic issues in documentation.
3.9.4
- Fixed a memory leak when scheduled updates were pending on a chunk being unloaded.
- Fixed plugin detection in crashdumps. Previously
src/pocketmine
anywhere in the path would cause the error to be considered a core crash, regardless of the preceding path. - Fixed entity metadata types for 1.12. The SLOT type was removed and a COMPOUND_TAG type added. This change involves changes to internal API which may break plugins. See the warning at the top of this changelog about API versioning.
- Fixed random and base populator amounts of trees and tallgrass never being initialized. This bug had no obvious effect, but may have become a problem in future PHP versions.
- The following internal methods have been marked as
@deprecated
and documentation warnings added:Entity->getBlocksAround()
Entity->despawnFrom()
Entity->despawnFromAll()
- Fixed plugin
softdepend
not influencing load order when a soft-depended plugin had an unresolved soft dependency of its own. - Fixed endless falling of sand on top of fences.
3.9.5
- Fixed some issues with multiple consecutive commas inside quotes in form responses.
- Fixed server crash when the manifest json does not contain a json object in a resource pack.
- Ender pearls no longer collide with blocks that do not have any collision boxes.
3.9.6
- Updated Composer dependencies to their latest versions.
- Prevent clients repeating the resource pack sequence. This fixes error spam with bugged 1.12 clients.
Internet::simpleCurl()
now includes the PocketMine-MP version in the user-agent string.- Spawn protection is now disabled by default in the setup wizard.
- Default difficulty is now NORMAL(2) instead of EASY(1).
- Fixed crashing on corrupted world manifest and unsupported world formats.
- Fixed
/transferserver
being usable without appropriate permissions. RegionLoader->removeChunk()
now writes the region header as appropriate.- Fixed performance issue when loading large regions (bug in header validation).
- Fixed skin geometry being removed when the JSON contained comments.
- Added new constants to
EventPacket
. - Added encode/decode for
StructureTemplateDataExportRequestPacket
andStructureTemplateDataExportResponsePacket
. - Fixed broken type asserts in
LevelChunkPacket::withCache()
andClientCacheMissResponsePacket::create()
. types\CommandParameter
fieldbyte1
has been renamed toflags
.- Cleaned up public interface of
AvailableCommandsPacket
, removing fields which exposed details of the encoding scheme. - Improved documentation for the following API methods:
pocketmine\item\Item
:addCreativeItem()
removeCreativeItem()
clearCreativeItems()
pocketmine\level\Explosion
:explodeA()
explodeB()
- Fixed various cosmetic documentation inconsistencies in the core and dependencies.
3.9.7
- Fixed a crash that could occur during timezone detection.
- Squid no longer spin around constantly in enclosed spaces. Their performance impact is reduced.
- Cleaned up the bootstrap file.
3.9.8
- Added PHPStan configuration. PHPStan is now used on CI for automated QA, which should improve stability and quality going forward.
- The following constants are now autoloaded when loading the Composer autoloader:
pocketmine\NAME
pocketmine\BASE_VERSION
pocketmine\IS_DEVELOPMENT_BUILD
pocketmine\BUILD_NUMBER
INT32_MIN
INT32_MAX
INT32_MASK
- Fixed memory leaks and crashes caused by plugin use of
Player->showPlayer()
andEntity->spawnTo()
. - Fixed crashes that could occur when tile classes were overridden with classes incompatible with the originals.
- Fixed improper handling of non-Compound root NBT tags on network itemstack decoding.
- Fixed paintings dropping multiple items when destroyed by block updates.
- Fixed
var_dump()
not showing private and protected properties ofDataPacket
subclasses. - Fixed overloads with zero arguments being missing when decoding
AvailableCommandsPacket
. CraftingDataPacket
now retains thecleanRecipes
field when decoding.- Fixed
Block->getMetadata()
returning null (non-iterable). PlayerChatEvent
documentation has been updated to specify thatCommandSender
recipients are accepted. This behaviour was already present in previous versions, but incorrectly documented.- Fixed various issues with PHPDoc comments reported by PHPStan.
- Fixed various minor code nits reported by PHPStan.