mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2024-11-21 22:16:15 +00:00
130 lines
7.5 KiB
Markdown
130 lines
7.5 KiB
Markdown
**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 of `0` 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 in `plugin.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` and `StructureTemplateDataExportResponsePacket`.
|
|
- Fixed broken type asserts in `LevelChunkPacket::withCache()` and `ClientCacheMissResponsePacket::create()`.
|
|
- `types\CommandParameter` field `byte1` has been renamed to `flags`.
|
|
- 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](https://github.com/phpstan/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()` and `Entity->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 of `DataPacket` subclasses.
|
|
- Fixed overloads with zero arguments being missing when decoding `AvailableCommandsPacket`.
|
|
- `CraftingDataPacket` now retains the `cleanRecipes` field when decoding.
|
|
- Fixed `Block->getMetadata()` returning null (non-iterable).
|
|
- `PlayerChatEvent` documentation has been updated to specify that `CommandSender` 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.
|