mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-04-21 00:07:30 +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.
|
||||
|
||||
## Contents
|
||||
* [Core](#core)
|
||||
+ [General](#general)
|
||||
+ [Configuration](#configuration)
|
||||
+ [World handling](#world-handling)
|
||||
- [Interface](#interface)
|
||||
- [Functional](#functional)
|
||||
- [Performance](#performance)
|
||||
+ [Logger revamp](#logger-revamp)
|
||||
+ [Network](#network)
|
||||
- [Minecraft Bedrock packet encryption](#minecraft-bedrock-packet-encryption)
|
||||
- [Packet receive error handling has been overhauled](#packet-receive-error-handling-has-been-overhauled)
|
||||
- [New packet handler system](#new-packet-handler-system)
|
||||
* [API](#api)
|
||||
+ [General](#general-1)
|
||||
+ [Block](#block)
|
||||
+ [Command](#command)
|
||||
+ [Entity](#entity)
|
||||
- [General](#general-2)
|
||||
- [Effect](#effect)
|
||||
- [Removal of runtime entity NBT](#removal-of-runtime-entity-nbt)
|
||||
- [Entity creation](#entity-creation)
|
||||
- [WIP removal of entity network metadata](#wip-removal-of-entity-network-metadata)
|
||||
+ [Event](#event)
|
||||
- [Internal event system no longer depends on `Listener`s](#internal-event-system-no-longer-depends-on-listeners)
|
||||
- [Default cancelled handling behaviour has changed](#default-cancelled-handling-behaviour-has-changed)
|
||||
- [`PlayerPreLoginEvent` changes](#playerpreloginevent-changes)
|
||||
- [Other changes](#other-changes)
|
||||
+ [Inventory](#inventory)
|
||||
+ [Item](#item)
|
||||
- [General](#general-3)
|
||||
- [NBT handling](#nbt-handling)
|
||||
- [Enchantment](#enchantment)
|
||||
+ [Lang](#lang)
|
||||
+ [Network](#network-1)
|
||||
+ [Permission](#permission)
|
||||
+ [Player](#player)
|
||||
+ [Plugin](#plugin)
|
||||
+ [Scheduler](#scheduler)
|
||||
- [Thread-local storage for AsyncTasks](#thread-local-storage-for-asynctasks)
|
||||
- [Other changes](#other-changes-1)
|
||||
+ [Server](#server)
|
||||
+ [Level / World](#level---world)
|
||||
- [General](#general-4)
|
||||
- [Particles](#particles)
|
||||
- [Sounds](#sounds)
|
||||
+ [Utils](#utils)
|
||||
* [Gameplay](#gameplay)
|
||||
+ [Blocks](#blocks)
|
||||
+ [Items](#items)
|
||||
* [Core](#core)
|
||||
+ [General](#general)
|
||||
+ [Configuration](#configuration)
|
||||
+ [World handling](#world-handling)
|
||||
- [Interface](#interface)
|
||||
- [Functional](#functional)
|
||||
- [Performance](#performance)
|
||||
+ [Logger revamp](#logger-revamp)
|
||||
+ [Network](#network)
|
||||
- [Minecraft Bedrock packet encryption](#minecraft-bedrock-packet-encryption)
|
||||
- [Packet receive error handling has been overhauled](#packet-receive-error-handling-has-been-overhauled)
|
||||
- [New packet handler system](#new-packet-handler-system)
|
||||
* [API](#api)
|
||||
+ [General](#general-1)
|
||||
+ [Changes to `plugin.yml`](#changes-to-pluginyml)
|
||||
- [Permission nesting](#permission-nesting)
|
||||
- [`src-namespace-prefix`](#src-namespace-prefix)
|
||||
+ [Block](#block)
|
||||
+ [Command](#command)
|
||||
+ [Entity](#entity)
|
||||
- [General](#general-2)
|
||||
- [Effect](#effect)
|
||||
- [Removal of runtime entity NBT](#removal-of-runtime-entity-nbt)
|
||||
- [Entity creation](#entity-creation)
|
||||
- [WIP removal of entity network metadata](#wip-removal-of-entity-network-metadata)
|
||||
+ [Event](#event)
|
||||
- [Internal event system no longer depends on `Listener`s](#internal-event-system-no-longer-depends-on-listeners)
|
||||
- [Default cancelled handling behaviour has changed](#default-cancelled-handling-behaviour-has-changed)
|
||||
- [`PlayerPreLoginEvent` changes](#playerpreloginevent-changes)
|
||||
- [Other changes](#other-changes)
|
||||
+ [Inventory](#inventory)
|
||||
+ [Item](#item)
|
||||
- [General](#general-3)
|
||||
- [NBT handling](#nbt-handling)
|
||||
- [Enchantment](#enchantment)
|
||||
+ [Lang](#lang)
|
||||
+ [Network](#network-1)
|
||||
+ [Permission](#permission)
|
||||
+ [Player](#player)
|
||||
+ [Plugin](#plugin)
|
||||
+ [Scheduler](#scheduler)
|
||||
- [Thread-local storage for AsyncTasks](#thread-local-storage-for-asynctasks)
|
||||
- [Other changes](#other-changes-1)
|
||||
+ [Server](#server)
|
||||
+ [Level / World](#level--world)
|
||||
- [General](#general-4)
|
||||
- [Particles](#particles)
|
||||
- [Sounds](#sounds)
|
||||
+ [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>
|
||||
|
||||
@ -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.
|
||||
- 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
|
||||
- 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.
|
||||
|
Loading…
x
Reference in New Issue
Block a user