mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-07-03 16:49:53 +00:00
[ci skip] update changelog
This commit is contained in:
parent
1d8680aaa9
commit
4122517292
@ -3,55 +3,58 @@
|
|||||||
This major version features substantial changes throughout the core, including significant API changes, new world format support, performance improvements and a network revamp.
|
This major version features substantial changes throughout the core, including significant API changes, new world format support, performance improvements and a network revamp.
|
||||||
|
|
||||||
## Contents
|
## Contents
|
||||||
* [Core](#core)
|
* [Core](#core)
|
||||||
+ [General](#general)
|
+ [General](#general)
|
||||||
+ [Configuration](#configuration)
|
+ [Configuration](#configuration)
|
||||||
+ [World handling](#world-handling)
|
+ [World handling](#world-handling)
|
||||||
- [Interface](#interface)
|
- [Interface](#interface)
|
||||||
- [Functional](#functional)
|
- [Functional](#functional)
|
||||||
- [Performance](#performance)
|
- [Performance](#performance)
|
||||||
+ [Logger revamp](#logger-revamp)
|
+ [Logger revamp](#logger-revamp)
|
||||||
+ [Network](#network)
|
+ [Network](#network)
|
||||||
- [Minecraft Bedrock packet encryption](#minecraft-bedrock-packet-encryption)
|
- [Minecraft Bedrock packet encryption](#minecraft-bedrock-packet-encryption)
|
||||||
- [Packet receive error handling has been overhauled](#packet-receive-error-handling-has-been-overhauled)
|
- [Packet receive error handling has been overhauled](#packet-receive-error-handling-has-been-overhauled)
|
||||||
- [New packet handler system](#new-packet-handler-system)
|
- [New packet handler system](#new-packet-handler-system)
|
||||||
* [API](#api)
|
* [API](#api)
|
||||||
+ [General](#general-1)
|
+ [General](#general-1)
|
||||||
+ [Block](#block)
|
+ [Changes to `plugin.yml`](#changes-to-pluginyml)
|
||||||
+ [Command](#command)
|
- [Permission nesting](#permission-nesting)
|
||||||
+ [Entity](#entity)
|
- [`src-namespace-prefix`](#src-namespace-prefix)
|
||||||
- [General](#general-2)
|
+ [Block](#block)
|
||||||
- [Effect](#effect)
|
+ [Command](#command)
|
||||||
- [Removal of runtime entity NBT](#removal-of-runtime-entity-nbt)
|
+ [Entity](#entity)
|
||||||
- [Entity creation](#entity-creation)
|
- [General](#general-2)
|
||||||
- [WIP removal of entity network metadata](#wip-removal-of-entity-network-metadata)
|
- [Effect](#effect)
|
||||||
+ [Event](#event)
|
- [Removal of runtime entity NBT](#removal-of-runtime-entity-nbt)
|
||||||
- [Internal event system no longer depends on `Listener`s](#internal-event-system-no-longer-depends-on-listeners)
|
- [Entity creation](#entity-creation)
|
||||||
- [Default cancelled handling behaviour has changed](#default-cancelled-handling-behaviour-has-changed)
|
- [WIP removal of entity network metadata](#wip-removal-of-entity-network-metadata)
|
||||||
- [`PlayerPreLoginEvent` changes](#playerpreloginevent-changes)
|
+ [Event](#event)
|
||||||
- [Other changes](#other-changes)
|
- [Internal event system no longer depends on `Listener`s](#internal-event-system-no-longer-depends-on-listeners)
|
||||||
+ [Inventory](#inventory)
|
- [Default cancelled handling behaviour has changed](#default-cancelled-handling-behaviour-has-changed)
|
||||||
+ [Item](#item)
|
- [`PlayerPreLoginEvent` changes](#playerpreloginevent-changes)
|
||||||
- [General](#general-3)
|
- [Other changes](#other-changes)
|
||||||
- [NBT handling](#nbt-handling)
|
+ [Inventory](#inventory)
|
||||||
- [Enchantment](#enchantment)
|
+ [Item](#item)
|
||||||
+ [Lang](#lang)
|
- [General](#general-3)
|
||||||
+ [Network](#network-1)
|
- [NBT handling](#nbt-handling)
|
||||||
+ [Permission](#permission)
|
- [Enchantment](#enchantment)
|
||||||
+ [Player](#player)
|
+ [Lang](#lang)
|
||||||
+ [Plugin](#plugin)
|
+ [Network](#network-1)
|
||||||
+ [Scheduler](#scheduler)
|
+ [Permission](#permission)
|
||||||
- [Thread-local storage for AsyncTasks](#thread-local-storage-for-asynctasks)
|
+ [Player](#player)
|
||||||
- [Other changes](#other-changes-1)
|
+ [Plugin](#plugin)
|
||||||
+ [Server](#server)
|
+ [Scheduler](#scheduler)
|
||||||
+ [Level / World](#level---world)
|
- [Thread-local storage for AsyncTasks](#thread-local-storage-for-asynctasks)
|
||||||
- [General](#general-4)
|
- [Other changes](#other-changes-1)
|
||||||
- [Particles](#particles)
|
+ [Server](#server)
|
||||||
- [Sounds](#sounds)
|
+ [Level / World](#level--world)
|
||||||
+ [Utils](#utils)
|
- [General](#general-4)
|
||||||
* [Gameplay](#gameplay)
|
- [Particles](#particles)
|
||||||
+ [Blocks](#blocks)
|
- [Sounds](#sounds)
|
||||||
+ [Items](#items)
|
+ [Utils](#utils)
|
||||||
|
* [Gameplay](#gameplay)
|
||||||
|
+ [Blocks](#blocks)
|
||||||
|
+ [Items](#items)
|
||||||
|
|
||||||
<small><i><a href='http://ecotrust-canada.github.io/markdown-toc/'>Table of contents generated with markdown-toc</a></i></small>
|
<small><i><a href='http://ecotrust-canada.github.io/markdown-toc/'>Table of contents generated with markdown-toc</a></i></small>
|
||||||
|
|
||||||
@ -145,6 +148,57 @@ This version features substantial changes to the network system, improving coher
|
|||||||
- `void` and `?nullable` parameter and return types have been applied in many places.
|
- `void` and `?nullable` parameter and return types have been applied in many places.
|
||||||
- Everything in the `pocketmine\metadata` namespace and related implementations have been removed.
|
- Everything in the `pocketmine\metadata` namespace and related implementations have been removed.
|
||||||
|
|
||||||
|
### Changes to `plugin.yml`
|
||||||
|
#### Permission nesting
|
||||||
|
Permission nesting is no longer supported in `plugin.yml`. Grouping permissions (with defaults) in `plugin.yml` had very confusing and inconsistent behaviour.
|
||||||
|
Instead of nesting permission declarations, they should each be declared separately.
|
||||||
|
|
||||||
|
_Before_:
|
||||||
|
```
|
||||||
|
permissions:
|
||||||
|
pmmp:
|
||||||
|
default: op
|
||||||
|
children:
|
||||||
|
pmmp.something:
|
||||||
|
default: op
|
||||||
|
pmmp.somethingElse
|
||||||
|
default: op
|
||||||
|
```
|
||||||
|
|
||||||
|
_After_:
|
||||||
|
```
|
||||||
|
permissions:
|
||||||
|
pmmp.something:
|
||||||
|
default: op
|
||||||
|
pmmp.somethingElse
|
||||||
|
default: op
|
||||||
|
```
|
||||||
|
|
||||||
|
#### `src-namespace-prefix`
|
||||||
|
A new directive `src-namespace-prefix` has been introduced. This allows you to get rid of those useless subdirectories in a plugin's structure.
|
||||||
|
For example, a plugin whose main was `pmmp\TesterPlugin\Main` used to have to be structured like this:
|
||||||
|
```
|
||||||
|
|-- plugin.yml
|
||||||
|
|-- src/
|
||||||
|
|-- pmmp/
|
||||||
|
|-- TesterPlugin/
|
||||||
|
|-- Main.php
|
||||||
|
|-- SomeOtherClass.php
|
||||||
|
|-- SomeNamespace/
|
||||||
|
|-- SomeNamespacedClass.php
|
||||||
|
```
|
||||||
|
However, if we add `src-namespace-prefix: pmmp\TesterPlugin` to the `plugin.yml`, now we can get rid of the useless directories and structure it like this instead:
|
||||||
|
```
|
||||||
|
|-- plugin.yml
|
||||||
|
|-- src/
|
||||||
|
|-- Main.php
|
||||||
|
|-- SomeOtherClass.php
|
||||||
|
|-- SomeNamespace/
|
||||||
|
|-- SomeNamespacedClass.php
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note**: The old structure will also still work just fine. This is not a required change.
|
||||||
|
|
||||||
### Block
|
### 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.
|
- 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->getPos()` has been added.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user