mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-05 11:27:07 +00:00
Release 4.0.0-BETA12
This commit is contained in:
parent
c3ec9c0948
commit
635a9143de
@ -1634,3 +1634,72 @@ Released 6th November 2021.
|
||||
### Gameplay
|
||||
- Chunks are now sent in proper circles. This improves the experience when flying quickly parallel to X or Z axis, since now more chunks in front of the player will load sooner.
|
||||
- Added support for emotes.
|
||||
|
||||
# 4.0.0-BETA12
|
||||
Released 9th November 2021.
|
||||
|
||||
## General
|
||||
- Introduced support for connecting via IPv6.
|
||||
- PHP binary used must now always be built with IPv6 support, even if IPv6 is disabled. This is because RakNet may still send link-local IPv6 loopback addresses in connection packets even when only using IPv4.
|
||||
- The default port for IPv6 is `19133` (similar to Bedrock Dedicated Server).
|
||||
- Port `19133` is used by default so that Minecraft Bedrock can detect IPv6 servers on LAN.
|
||||
- GS4 Query is supported on both IPv4 and IPv6 according to `server.properties` settings.
|
||||
- The following `server.properties` settings are influential:
|
||||
- `enable-ipv6`: `on` by default. Disabling this completely disables IPv6 support.
|
||||
- `server-ipv6`: `::` by default (equivalent to "any IP", like `0.0.0.0` for IPv4). Most users shouldn't need to change this setting, and it doesn't appear in `server.properties` by default.
|
||||
- `server-portv6`: `19133` by default. You may run both IPv4 and IPv6 on the same port.
|
||||
- Various internal changes have been made to prepare for negative Y axis support (upcoming 1.18).
|
||||
|
||||
## Fixes
|
||||
- Fixed resource packs not applying.
|
||||
- Fixed inventory windows being unopenable after dying with inventory windows open.
|
||||
- Fixed plugins being able to alter other plugins' permission defaults by redeclaring them in the `plugin.yml`.
|
||||
|
||||
## API
|
||||
### Block
|
||||
- `VanillaBlocks::fromString()` has been removed.
|
||||
- Added `CraftingTableInventory`. This exclusively represents a crafting table's 3x3 crafting grid.
|
||||
|
||||
### Crafting
|
||||
- `CraftingGrid` is now abstract.
|
||||
- Removed `CraftingGrid->getHolder()`.
|
||||
- The constructor of `CraftingGrid` no longer accepts a `Player` parameter.
|
||||
|
||||
### Entity
|
||||
#### Effect
|
||||
- `Effect->__construct()` once again accepts an `int $defaultDuration` parameter.
|
||||
- Removed `VanillaEffects::fromString()`.
|
||||
- Added `StringToEffectParser`
|
||||
- Supports custom aliases!
|
||||
- This is used by `/effect` to provide name support.
|
||||
|
||||
### Event
|
||||
- `InventoryOpenEvent` is now fired when a player opens a crafting table's UI.
|
||||
- `InventoryCloseEvent` is now fired when a player closes a crafting table's UI.
|
||||
- `PlayerDropItemEvent` will now prevent the drops from force-closing of the following inventories:
|
||||
- anvil
|
||||
- enchanting table
|
||||
- loom
|
||||
|
||||
### Inventory
|
||||
- Added `TemporaryInventory`. This should be implemented by any inventory whose contents should be evacuated when closing.
|
||||
- Added `PlayerCraftingInventory`. This exclusively represents the player's own 2x2 crafting grid.
|
||||
|
||||
### Item
|
||||
- Removed `VanillaItems::fromString()`
|
||||
- Obsoleted by the far superior, much more dynamic, and plugin-customizable `StringToItemParser`.
|
||||
- `StringToItemParser` allows mapping strings to closure callbacks, allowing you to create aliases for `/give` for any item, including custom ones.
|
||||
|
||||
#### Enchantment
|
||||
- Removed `VanillaEnchantments::fromString()`.
|
||||
- Added `StringToEnchantmentParser`
|
||||
- Supports custom aliases!
|
||||
- This is used by `/enchant` to provide name support.
|
||||
|
||||
### Player
|
||||
- Removed `Player->setCraftingGrid()`. To open a 3x3 crafting grid to a player, use `setCurrentWindow(new CraftingTableInventory)`.
|
||||
|
||||
### Server
|
||||
- Added the following API methods:
|
||||
- `Server->getIpV6()`
|
||||
- `Server->getPortV6()`
|
@ -30,7 +30,7 @@ use function str_repeat;
|
||||
final class VersionInfo{
|
||||
public const NAME = "PocketMine-MP";
|
||||
public const BASE_VERSION = "4.0.0-BETA12";
|
||||
public const IS_DEVELOPMENT_BUILD = true;
|
||||
public const IS_DEVELOPMENT_BUILD = false;
|
||||
public const BUILD_NUMBER = 0;
|
||||
public const BUILD_CHANNEL = "beta";
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user