diff --git a/changelogs/4.0-snapshot.md b/changelogs/4.0-snapshot.md index 4c9c0b162..a7fa98f36 100644 --- a/changelogs/4.0-snapshot.md +++ b/changelogs/4.0-snapshot.md @@ -61,10 +61,6 @@ This major version features substantial changes throughout the core, including s ## Core ### General - A new "plugin greylist" feature has been introduced, which allows whitelisting or blacklisting plugins from loading. -- The `/reload` command has been removed. -- The `/effect` command no longer supports numeric IDs - it's now required to use names. -- The `/enchant` command no longer supports numeric IDs - it's now required to use names. -- Added `/clear` command with functionality equivalent to that of vanilla Minecraft. - Remote console (RCON) has been removed. The [RconServer](https://github.com/pmmp/RconServer) plugin is provided as a substitute. - Spawn protection has been removed. The [BasicSpawnProtection](https://github.com/pmmp/BasicSpawnProtection) plugin is provided as a substitute. - CTRL+C signal handling has been removed. The [PcntlSignalHandler](https://github.com/pmmp/PcntlSignalHandler) plugin is provided as a substitute. @@ -80,6 +76,17 @@ This major version features substantial changes throughout the core, including s - Spawning inside blocks (or above the ground) when respawning with a custom spawn position set - Player spawn positions sticking to the old location when world spawn position changed - this was because the world spawn at time of player creation was used as the player's custom spawn, so the bug will persist for older player data, but will work as expected for new players. +### Commands +- The `/reload` command has been removed. +- The `/effect` command no longer supports numeric IDs - it's now required to use names. +- The `/enchant` command no longer supports numeric IDs - it's now required to use names. +- Added `/clear` command with functionality equivalent to that of vanilla Minecraft. +- The following commands' outputs are now localized according to the chosen language settings: + - `/gc` + - `/status` + - `/op` + - `/deop` + ### Configuration - World presets can now be provided as a `preset` key in `pocketmine.yml`, instead of putting them in the `generator` key. - The following new options have been added to `pocketmine.yml`: @@ -199,7 +206,7 @@ However, if we add `src-namespace-prefix: pmmp\TesterPlugin` to the `plugin.yml` ### Block - A new `VanillaBlocks` class has been added, which contains static methods for creating any currently-known block type. This should be preferred instead of use of `BlockFactory::get()` where constants were used. -- Blocks now contain their positions instead of extending `Position`. `Block->getPos()` has been added. +- Blocks now contain their positions instead of extending `Position`. `Block->getPosition()` has been added. - Blocks with IDs >= 256 are now supported. - Block state and variant metadata have been separated. - Variant is considered an extension of ID and is immutable. @@ -288,6 +295,7 @@ However, if we add `src-namespace-prefix: pmmp\TesterPlugin` to the `plugin.yml` - The following API methods have signature changes: - `Command->setPermission()` argument is now mandatory (but still nullable). - `CommandSender->setScreenLineHeight()` argument is now mandatory (but still nullable). +- Commands with spaces in the name are no longer supported. ### Entity #### General @@ -496,6 +504,7 @@ However, if we add `src-namespace-prefix: pmmp\TesterPlugin` to the `plugin.yml` - `PlayerInteractEvent::RIGHT_CLICK_AIR` - `PlayerInteractEvent::PHYSICAL` - The following events have been added: + - `PlayerEntityInteractEvent`: player right-clicking (or long-clicking on mobile) on an entity. - `PlayerItemUseEvent`: player activating their held item, for example to throw it. - `BlockTeleportEvent`: block teleporting, for example dragon egg when attacked. - `PlayerDisplayNameChangeEvent` @@ -1079,6 +1088,7 @@ However, if we add `src-namespace-prefix: pmmp\TesterPlugin` to the `plugin.yml` - `Chunk->setSubChunk()` no longer accepts `SubChunkInterface`, and the `$allowEmpty` parameter has been removed. - `WorldManager->generateWorld()` (previously `Server->generateWorld()`) now accepts `WorldCreationOptions` instead of `int $seed, class-string $generator, mixed[] $options`. - The following API methods have been renamed / moved: + - `Level->getChunks()` -> `World->getLoadedChunks()` - `Level->getCollisionCubes()` -> `World->getCollisionBoxes()` - `World->getName()` -> `World->getDisplayName()` - `World->populateChunk()` has been split into `World->requestChunkPopulation()` and `World->orderChunkPopulation()`.