From fea820a99e3fba8c91c0dc770fdef502ff8a6517 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 27 Apr 2023 13:31:02 +0100 Subject: [PATCH] Release 4.20.1 --- changelogs/4.20.md | 10 ++++++++++ src/VersionInfo.php | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/changelogs/4.20.md b/changelogs/4.20.md index 357cdaced..d8f4c66b0 100644 --- a/changelogs/4.20.md +++ b/changelogs/4.20.md @@ -34,3 +34,13 @@ Released 26th April 2023. ### `pocketmine\player` - The following API methods have been added: - `public Player->openSignEditor(Vector3 $position) : void` - opens the client-side sign editor GUI for the given position + +# 4.20.1 +Released 27th April 2023. + +## Fixes +- Fixed server crash when firing a bow while holding arrows in the offhand slot. + +## Internals +- `ItemStackContainerIdTranslator::translate()` now requires an additional `int $slotId` parameter and returns `array{int, int}` (translated window ID, translated slot ID) to be used with `InventoryManager->locateWindowAndSlot()`. +- `InventoryManager->locateWindowAndSlot()` now checks if the translated slot actually exists in the requested inventory, and returns `null` if not. Previously, it would return potentially invalid slot IDs without checking them, potentially leading to crashes. diff --git a/src/VersionInfo.php b/src/VersionInfo.php index 8f31f6509..b2189ed23 100644 --- a/src/VersionInfo.php +++ b/src/VersionInfo.php @@ -32,7 +32,7 @@ use function str_repeat; final class VersionInfo{ public const NAME = "PocketMine-MP"; public const BASE_VERSION = "4.20.1"; - public const IS_DEVELOPMENT_BUILD = true; + public const IS_DEVELOPMENT_BUILD = false; public const BUILD_CHANNEL = "stable"; private function __construct(){