Release 4.0.0-BETA13

This commit is contained in:
Dylan K. Taylor 2021-11-25 00:40:40 +00:00
parent 9346ecdc39
commit 9338d42742
No known key found for this signature in database
GPG Key ID: 8927471A91CAFD3D
2 changed files with 39 additions and 2 deletions

View File

@ -1710,4 +1710,41 @@ Released 9th November 2021.
### Server
- Added the following API methods:
- `Server->getIpV6()`
- `Server->getPortV6()`
- `Server->getPortV6()`
# 4.0.0-BETA13
Released 25th November 2021.
## General
- Improved error messages when a plugin command name or alias contains an illegal character.
- Fixed script plugins reading tags from non-docblocks before the actual docblock.
- Added a sanity check to `Human->setCurrentTotalXp()` to try and catch an elusive bug that's been appearing in the wild - please get in touch if you know how to reproduce it!
- Updated `BUILDING.md` to reflect the fact that submodules are no longer required to build or run the server.
## Internals
- Crashdump rendering has been separated from crashdump data generation. This allows rendering crashdumps from existing JSON data.
- Direct iteration of arrays with string keys is now disallowed by a custom PHPStan rule. This is because numeric strings are casted to integers when used as array keys, which produces a variety of unexpected behaviour particularly for iteration.
- To iterate on arrays with string keys, `Utils::stringifyKeys()` must now be used.
## Fixes
- Fixed various crashes involving bad entity data saved on disk (e.g. an item entity with invalid item would crash the server).
- Fixed various crashes involving arrays with numeric string keys.
- Fixed crash when players try to pickup XP while already having max XP.
- Fixed ungenerated chunks saved on disk by old versions of PocketMine-MP (before 3.0.0) being treated as corrupted during world conversion (they are now ignored instead).
- Fixed misleading corruption error message when saved chunks have missing NBT tags.
## Gameplay
- Fixed `/setworldspawn` setting incorrect positions based on player position when in negative coordinates.
- `/setworldspawn` now accepts relative coordinates when used as a player.
- Added some extra aliases for `/give` and `/clear`: `chipped_anvil`, `coarse_dirt`, `damaged_anvil`, `dark_oak_standing_sign`, `jungle_wood_stairs`, `jungle_wooden_stairs` and `oak_standing_sign`.
- Some of these were added for quality-of-life, others were added just to be consistent.
- Fixed explosions dropping incorrect items when destroying blocks with tile data (e.g. banners, beds).
- Fixed the bounding box of skulls when mounted on a wall.
- Fixed podzol dropping itself when mined (instead of dirt).
## API
### Entity
- `Projectile->move()` is now protected, like its parent.
### Utils
- `Utils::parseDocComment()` now allows `-` in tag names.

View File

@ -30,7 +30,7 @@ use function str_repeat;
final class VersionInfo{
public const NAME = "PocketMine-MP";
public const BASE_VERSION = "4.0.0-BETA13";
public const IS_DEVELOPMENT_BUILD = true;
public const IS_DEVELOPMENT_BUILD = false;
public const BUILD_NUMBER = 0;
public const BUILD_CHANNEL = "beta";