mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-07-06 01:51:51 +00:00
Release 5.0.0-ALPHA7
This commit is contained in:
parent
de3ba00684
commit
023010370b
@ -737,3 +737,135 @@ Released 19th December 2022.
|
|||||||
- `EntityLegacyIds` has been removed. Legacy entity IDs found during world loading are now converted via `LegacyEntityIdToStringIdMap`.
|
- `EntityLegacyIds` has been removed. Legacy entity IDs found during world loading are now converted via `LegacyEntityIdToStringIdMap`.
|
||||||
- All usages of NBT keys now use class constants instead of hardcoded strings (except for an occasional overlooked one).
|
- All usages of NBT keys now use class constants instead of hardcoded strings (except for an occasional overlooked one).
|
||||||
- All members of `BlockTypeTags` now have a `pocketmine:` prefix on the value. This does not affect constant usages.
|
- All members of `BlockTypeTags` now have a `pocketmine:` prefix on the value. This does not affect constant usages.
|
||||||
|
|
||||||
|
# 5.0.0-ALPHA7
|
||||||
|
Released 18th January 2023.
|
||||||
|
|
||||||
|
**This release includes changes from the following releases, which may not be mentioned:**
|
||||||
|
- [4.12.3](https://github.com/pmmp/PocketMine-MP/releases/tag/4.12.3)
|
||||||
|
- [4.12.4](https://github.com/pmmp/PocketMine-MP/releases/tag/4.12.4)
|
||||||
|
- [4.12.5](https://github.com/pmmp/PocketMine-MP/releases/tag/4.12.5)
|
||||||
|
- [4.12.6](https://github.com/pmmp/PocketMine-MP/releases/tag/4.12.6)
|
||||||
|
- [4.12.7](https://github.com/pmmp/PocketMine-MP/releases/tag/4.12.7)
|
||||||
|
- [4.12.8](https://github.com/pmmp/PocketMine-MP/releases/tag/4.12.8)
|
||||||
|
- [4.12.9](https://github.com/pmmp/PocketMine-MP/releases/tag/4.12.9)
|
||||||
|
- [4.12.10](https://github.com/pmmp/PocketMine-MP/releases/tag/4.12.10)
|
||||||
|
- [4.13.0-BETA1](https://github.com/pmmp/PocketMine-MP/releases/tag/4.13.0-BETA1)
|
||||||
|
|
||||||
|
## Fixes
|
||||||
|
- Fixed glowing item frame placement creating the wrong tile, causing invisible items.
|
||||||
|
|
||||||
|
## Localization
|
||||||
|
- Localized disconnect messages are now used in the following cases:
|
||||||
|
- Server full
|
||||||
|
- Player not on the server whitelist
|
||||||
|
- Player on the server ban list
|
||||||
|
- Invalid skin
|
||||||
|
- Invalid username
|
||||||
|
- Kicked using `/kick`
|
||||||
|
- Banned using `/ban`
|
||||||
|
- Failure to find a safe spawn position
|
||||||
|
- Session open, session close and session player name discovery messages are now localized.
|
||||||
|
- All permissions now have localized descriptions. These are not currently used by PocketMine-MP, but may be useful for plugins.
|
||||||
|
|
||||||
|
## Gameplay
|
||||||
|
### Worlds
|
||||||
|
- Added support for 3D biomes. This isn't used by PocketMine-MP yet, but is necessary to be able to fully load 1.18 worlds.
|
||||||
|
|
||||||
|
### Blocks
|
||||||
|
- Added the following new blocks:
|
||||||
|
- Chain
|
||||||
|
- Sculk
|
||||||
|
|
||||||
|
### Items
|
||||||
|
- Added the following new items:
|
||||||
|
- Eye Drops (from Education Edition)
|
||||||
|
- Antidote (from Education Edition)
|
||||||
|
- Elixir (from Education Edition)
|
||||||
|
- Tonic (from Education Edition)
|
||||||
|
|
||||||
|
## API
|
||||||
|
### Overview
|
||||||
|
- Biome-related APIs have changed to accommodate 3D biomes.
|
||||||
|
- Disconnect-related APIs have changed to accommodate localized disconnect messages.
|
||||||
|
- New, more powerful chat formatting API introduced to `PlayerChatEvent`.
|
||||||
|
- Glowing item frames moved to a separate block type instead of being a property of regular item frames (due to technical limitations).
|
||||||
|
|
||||||
|
### `pocketmine\block`
|
||||||
|
- The following API methods have been removed:
|
||||||
|
- `ItemFrame->isGlowing() : bool`
|
||||||
|
- `ItemFrame->setGlowing(bool $glowing) : void`
|
||||||
|
- The following new API methods have been added:
|
||||||
|
- `public static VanillaBlocks::GLOWING_ITEM_FRAME() : ItemFrame`
|
||||||
|
- The following constants have been added:
|
||||||
|
- `BlockTypeIds::GLOWING_ITEM_FRAME`
|
||||||
|
- `BlockTypeIds::CHAIN`
|
||||||
|
- `BlockTypeIds::SCULK`
|
||||||
|
- The following new classes have been added:
|
||||||
|
- `Chain`
|
||||||
|
- `Sculk`
|
||||||
|
|
||||||
|
### `pocketmine\event\player`
|
||||||
|
- The following API methods have changed signatures:
|
||||||
|
- `PlayerDuplicateLoginEvent->getDisconnectMessage()` now returns `Translatable|string` instead of `string`
|
||||||
|
- `PlayerDuplicateLoginEvent->setDisconnectMessage()` now accepts `Translatable|string` instead of `string`
|
||||||
|
- `PlayerKickEvent->getReason()` now returns `Translatable|string` instead of `string`
|
||||||
|
- `PlayerKickEvent->setReason()` now accepts `Translatable|string` instead of `string`
|
||||||
|
- `PlayerLoginEvent->getKickMessage()` now returns `Translatable|string` instead of `string`
|
||||||
|
- `PlayerLoginEvent->setKickMessage()` now accepts `Translatable|string` instead of `string`
|
||||||
|
- `PlayerPreLoginEvent->getFinalKickMessage()` now returns `Translatable|string` instead of `string`
|
||||||
|
- `PlayerPreLoginEvent->getKickMessage()` now returns `Translatable|string|null` instead of `string|null`
|
||||||
|
- `PlayerPreLoginEvent->setKickReason()` now accepts `Translatable|string` for the `$message` parameter instead of `string`
|
||||||
|
- `PlayerQuitEvent->getQuitReason()` now returns `Translatable|string` instead of `string`
|
||||||
|
- The following API methods have been removed:
|
||||||
|
- `PlayerChatEvent->getFormat()` (use `PlayerChatEvent->getChatFormatter()` instead)
|
||||||
|
- `PlayerChatEvent->setFormat()` (use `PlayerChatEvent->setChatFormatter()` instead)
|
||||||
|
- The following new API methods have been added:
|
||||||
|
- `public PlayerChatEvent->setChatFormatter(\pocketmine\player\chat\ChatFormatter $formatter) : void` - sets the chat formatter to be used for this event
|
||||||
|
- `public PlayerChatEvent->getChatFormatter() : \pocketmine\player\chat\ChatFormatter` - returns the chat formatter to be used for this event
|
||||||
|
|
||||||
|
### `pocketmine\item`
|
||||||
|
- The following new classes have been added:
|
||||||
|
- `Medicine`
|
||||||
|
- `MedicineType`
|
||||||
|
- The following new class constants have been added:
|
||||||
|
- `ItemTypeIds::MEDICINE`
|
||||||
|
|
||||||
|
### `pocketmine\network\query`
|
||||||
|
- The following API methods have changed signatures:
|
||||||
|
- `QueryInfo->getPlayerList()` now returns `list<string>` instead of `list<Player>`
|
||||||
|
- `QueryInfo->setPlayerList()` now accepts `list<string>` instead of `list<Player>`
|
||||||
|
|
||||||
|
### `pocketmine\player`
|
||||||
|
- The following API methods have changed signatures:
|
||||||
|
- `Player->kick()` now accepts `Translatable|string` for `$reason` instead of `string` (to allow localized kick messages)
|
||||||
|
- `Player->disconnect()` now accepts `Translatable|string` for `$reason` instead of `string` (to allow localized disconnect messages)
|
||||||
|
- `Player->sendJukeboxPopup()` now accepts `Translatable|string` instead of `string, string[]`
|
||||||
|
|
||||||
|
#### `pocketmine\player\chat`
|
||||||
|
- The following new classes have been added:
|
||||||
|
- `ChatFormatter` - interface implemented by chat formatters
|
||||||
|
- `StandardChatFormatter` - formats chat messages in the vanilla Minecraft style
|
||||||
|
- `LegacyRawChatFormatter` - implements the same behaviour previously used by `PlayerChatEvent->setFormat()`
|
||||||
|
|
||||||
|
### `pocketmine\world`
|
||||||
|
- The following API methods have changed signatures:
|
||||||
|
- `World->getBiome()` now accepts `int $x, int $y, int $z` instead of `int $x, int $z`
|
||||||
|
- `World->getBiomeId()` now accepts `int $x, int $y, int $z` instead of `int $x, int $z`
|
||||||
|
- `World->setBiomeId()` now accepts `int $x, int $y, int $z` instead of `int $x, int $z`
|
||||||
|
|
||||||
|
#### `pocketmine\world\format`
|
||||||
|
- The following new API methods have been added:
|
||||||
|
- `public SubChunk->getBiomeArray() : PalettedBlockArray`
|
||||||
|
- The following API methods have changed signatures:
|
||||||
|
- `Chunk->getBiomeId()` now accepts `int $x, int $y, int $z` instead of `int $x, int $z`
|
||||||
|
- `Chunk->setBiomeId()` now accepts `int $x, int $y, int $z` instead of `int $x, int $z`
|
||||||
|
- `Chunk->__construct()` no longer accepts `BiomeArray` as a parameter (contained in each subchunk instead)
|
||||||
|
- `SubChunk->__construct()` now accepts `int $emptyBlockId, list<PalettedBlockArray> $blocks, PalettedBlockArray $biomes, ?LightArray $blockLight, ?LightArray $skyLight` instead of `int, list<PalettedBlockArray>, ?LightArray, ?LightArray`
|
||||||
|
- The following classes have been removed
|
||||||
|
- `BiomeArray`
|
||||||
|
|
||||||
|
## Internals
|
||||||
|
- Built-in commands now declare their names inside the class constructor, rather than accepting them as parameters. This improves code consistency.
|
||||||
|
- `NetworkSession` disconnect APIs now accept `Translatable|string` instead of `string` to allow localized disconnect messages.
|
||||||
|
- All external usages of `KnownTranslationKeys` are now removed. All localized messages are now sent using `Translatable` objects (usually from `KnownTranslationFactory`).
|
||||||
|
@ -32,7 +32,7 @@ use function str_repeat;
|
|||||||
final class VersionInfo{
|
final class VersionInfo{
|
||||||
public const NAME = "PocketMine-MP";
|
public const NAME = "PocketMine-MP";
|
||||||
public const BASE_VERSION = "5.0.0-ALPHA7";
|
public const BASE_VERSION = "5.0.0-ALPHA7";
|
||||||
public const IS_DEVELOPMENT_BUILD = true;
|
public const IS_DEVELOPMENT_BUILD = false;
|
||||||
public const BUILD_CHANNEL = "alpha";
|
public const BUILD_CHANNEL = "alpha";
|
||||||
|
|
||||||
private function __construct(){
|
private function __construct(){
|
||||||
|
Loading…
x
Reference in New Issue
Block a user