mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2024-11-21 22:16:15 +00:00
150 lines
10 KiB
Markdown
150 lines
10 KiB
Markdown
**For Minecraft: Bedrock Edition 1.8.0**
|
|
|
|
### Note
|
|
Plugins compatible with any previous 3.x.y version will also run on these releases and do not need API bumps. Plugin developers should **only** update their required API to this version if you need the changes in this build.
|
|
|
|
# 3.5.0
|
|
- Compatibility with Minecraft: Bedrock Edition 1.8.0
|
|
- Removed compatibility with 1.7.0
|
|
|
|
# 3.5.1
|
|
- Fixed internal server errors when attempting to craft.
|
|
- `DataPacket` errors when writing to undefined fields are now more clear.
|
|
- Fixed trees being able to overwrite the log parts of other trees.
|
|
- Fixed `Player->sendForm()` not working during `PlayerJoinEvent`.
|
|
- `Entity->setScale()` now explicitly requires a scale larger than 0.
|
|
- Adding invisible `FloatingTextParticle` to a level no longer causes an error.
|
|
|
|
# 3.5.2
|
|
- Updated some misc protocol magic numbers.
|
|
- Fixed burning TNT setting hurt entities on fire when exploding.
|
|
- `~` relative coordinates now work in the `/particle` command.
|
|
- Various boring fixes to error stack trace reporting.
|
|
- `Level->setChunk()` no longer deletes tiles and entities when replacing a chunk with itself.
|
|
- Fixed a generator race condition causing rare appearances of half-trees on the client in freshly generated terrain.
|
|
- `Attribute->resetToDefault()` now fits the default per the min/max bounds, fixing crashes when the bounds are changed to exclude the default.
|
|
- Fixed a crash with LevelDB worlds when the `TAG_2D_MAPS` tag is missing.
|
|
- Fixed `Utils::getCoreCount()` crashing on some Debian variants.
|
|
|
|
# 3.5.3
|
|
- Rewritten documentation of `PlayerPreLoginEvent`, `PlayerLoginEvent` and `PlayerJoinEvent`. They are now much more detailed and no longer misleading.
|
|
- Chest items block-picked from double chests will no longer place chests that crash the server when opened.
|
|
- Ender chests now make the correct sounds when opening and closing.
|
|
- Fixed Sign errors when a buggy or malicious client sent broken NBT with the wrong tags or wrong number of lines.
|
|
- Resource packs with comments in the manifest will now load correctly. (MOJANG!!!)
|
|
- Placement of unknown blocks is now disallowed. This solves a range of problems with invalid blocks in the world, such as #2260 .
|
|
- Errors thrown during `PlayerQuitEvent` or other `Player->close()` errors will now crash the server instead of causing cryptic bugs later on.
|
|
- Fixed large chunks (>= 1044476 bytes) becoming corrupted when saved in Region-based worlds - now an exception is thrown instead.
|
|
- Reduced the range of exceptions caught during chunk loading. Now, only chunk corruption errors are caught, and anything else will produce a crash.
|
|
- Removed catch-all block on chunk saving. Unexpected errors thrown during chunk save will now create a crash.
|
|
- Fixed some asserts in packet decode methods.
|
|
- `Attribute` now throws exceptions with more informative messages on errors.
|
|
- Properly handled some remaining `Uninitialized string offset` bugs when decoding packets.
|
|
- Fixed chunk updates taking several seconds to show up on the client. This bug was most apparent during generation and some world editing tools using asynchronous tasks.
|
|
- Fixed CPU waste ordering chunks for non-moving players.
|
|
|
|
# 3.5.4
|
|
### Fixes
|
|
- Fixed server crash when a block update occurs on a torch with corrupted metadata.
|
|
- Added a hack to mitigate client-side right-click spam bug. This mostly eliminates spam of `PlayerInteractEvent` on right-click.
|
|
- Players will no longer see commands they don't have permission to use in client-sided hints when typing a `/` in the chat window.
|
|
- `Event->isCancelled()` and `Event->setCancelled()` now throw more informative errors.
|
|
- Errors thrown during a network interface processing will now _actually_ crash the server.
|
|
|
|
### API changes
|
|
- Deprecated `NetworkInterfaceCrashEvent`. Nobody should have been using this anyway.
|
|
- Deprecated `Network->processInterface()`
|
|
- Deprecated `SourceInterface->emergencyShutdown()`
|
|
|
|
# 3.5.5
|
|
- Mobs no longer spawn with their heads facing a different direction to their bodies.
|
|
- Added a console message when the crash strangler sleeps to stop crash spam.
|
|
- Fixed crash in `/title` command `times` subcommand when not enough arguments were passed.
|
|
- AsyncWorkers will now not be shut down on GC unless they have not been used for the last 5 minutes. This reduces lag spikes on garbage collection.
|
|
- Fixed some unhandled error cases in `AddEntityPacket` encoding.
|
|
- Fixed `LogicException` descendents being thrown from some packet decoding methods when encountering bad userdata.
|
|
- Player network inventory transaction processing now catches more specific errors.
|
|
- Fixed missing decode for `TakeItemEntityPacket`.
|
|
- Fixed `/gc` and `/status` truncating memory statistics - now they report to 0.01 precision.
|
|
- Global functions and constants are now imported to improve performance.
|
|
- Fixed a typo in `pocketmine.command.op.take` description.
|
|
- Ice no longer creates water when a creative player breaks it.
|
|
- `spawn-mobs` and `spawn-animals` no longer appear in generated `server.properties` on a newly-installed server.
|
|
- Added a hack to disable pre-spawn client-sided movement.
|
|
- Assertions enabled warning now always shows when `zend.assertions` is not `-1`. The config option to disable this warning has been removed.
|
|
- `/status`,`/dumpmemory` and `/gc` are now enabled by default. The `debug.commands` config option has been removed.
|
|
- Crash dumps are now more thorough at catching plugin-related crashes.
|
|
|
|
# 3.5.6
|
|
- Fixed `#`-commenting properties in `.properties` files not working.
|
|
- `pocketmine.yml` now permits writing `worldname:` with no generation settings in the `worlds` section to force a world to be loaded.
|
|
- Fixed Bow force being too low - now it's consistent with Minecraft Java (but not with Bedrock due to a vanilla bug).
|
|
- Fixed `recursion detected` bug when encoding crashdumps in some cases.
|
|
- Items with too-large NBT tags on network will now have their tags ignored when sending over network, instead of crashing the server. This is a workaround for a protocol bug which will be addressed in a future Minecraft release.
|
|
- `/enchant` no longer crashes the server when out-of-bounds enchantment levels are used.
|
|
- Fixed some crashes loading Region-based worlds when encountering unexpected EOF.
|
|
- `Entity->fireTicks` is now protected (but accessible by magic method for BC purposes) and will now throw an exception when written to if the value is > 32767 or < 0.
|
|
- Fixed Signs asserting on corrupted world data with more than 4 lines of text per sign.
|
|
|
|
# 3.5.7
|
|
- Fixed several bugs in RCON packet receive that would allow an attacker to block or crash the RCON thread, denying service to other legitimate RCON clients.
|
|
- Fixed RCON connections not working (timing out with no response) on some platforms.
|
|
- Logins are now permitted to have up to 60 seconds clock drift on the `nbf` and `exp` timestamps in the login JWT.
|
|
- Fixed XP orbs following players who switched to a location spatially nearby in a different world.
|
|
- `Player->removeWindow()` now throws `InvalidArgumentException` instead of `BadMethodCallException` when trying to non-forcefully remove a fixed window ID.
|
|
|
|
# 3.5.8
|
|
- Fixed player XP not dropping if a player was fast enough to respawn.
|
|
- Player XP drop amount now matches vanilla (7x level points, incurs some loss of points for higher levels)
|
|
- Fixed Doxygen configuration including test sources.
|
|
- Improved performance of block-cache accesses.
|
|
- Improved performance of random block-ticking.
|
|
- Closure tasks will now show the correctly formatted name on timings.
|
|
- Fixed a crash when a local update happens next to an `ItemFrame` with invalid metadata.
|
|
- Fixed player being subscribed to broadcast permissions too early when permissions are modified before spawn.
|
|
- Block-picking is now disallowed on unknown blocks.
|
|
- Internal IP detection now works correctly on all platforms.
|
|
- Fixed UPnP portforwarding not working correctly when multiple network adapters are installed.
|
|
- Starting or stopping flight now resets fall distance and in-air ticks.
|
|
- Fixed falling causing starvation.
|
|
- Fixed crops consuming bone meal when fully grown.
|
|
- Users are no longer able to avoid agreeing to the license by restarting the server.
|
|
- Explosions no longer create broken double chests which crash the server. Existing chests affected by this bug will continue to crash. This will be addressed in a future release.
|
|
- Cactus and sugarcane no longer grow through non-air blocks.
|
|
- Fixed a memory leak in `setChunk()` when the `unload` parameter is true.
|
|
- Generator will now crash if preset is invalid, instead of producing unexpected results.
|
|
|
|
# 3.5.9
|
|
- Fixed a `setChunk()` bug introduced by 3.5.8.
|
|
- Applied a hack to disable client-sided automatic regeneration.
|
|
- `Level->getChunkPlayers()` is now deprecated.
|
|
|
|
# 3.5.10
|
|
- Some internal `Level` functions are now correctly marked `@internal`.
|
|
- Fixed splash potion distance being measured from player feet instead of eye height.
|
|
- Fixed tall grass being unplaceable on dirt.
|
|
- A debug message is now recorded when a chunk is loaded with no associated loaders.
|
|
- Composer dependencies have been updated to fix bugs in some dependencies.
|
|
|
|
# 3.5.11
|
|
- Fixed crashing when items with negative IDs are found in the inventory (caused by downgrading from dev builds).
|
|
- Updated creative inventory and crafting recipes.
|
|
|
|
# 3.5.12
|
|
- Fixed crash when too-large values are given to `/effect` for duration.
|
|
- `/op` and other commands no longer crash when an invalid player name is given.
|
|
- Startup time no longer includes the time spent in the setup wizard.
|
|
- `TextFormat::clean()` is now UTF-8 aware, and will scrub any invalid UTF-8 characters from the given string.
|
|
- Fixed `TextFormat::clean()` not fully removing ANSI escape codes in some cases.
|
|
- Fixed Korean command arguments failing to parse.
|
|
- `Sign->setText()` and `Sign->setLine()` now enforce that the given text must be UTF-8 text, or an exception will be thrown.
|
|
- Sign text is now processed by `mb_scrub()` immediately after loading to remove invalid UTF-8 characters that could crash the client.
|
|
- `Human->exhaust()` no longer underflows when the hunger attribute has a fractional value.
|
|
|
|
# 3.5.13
|
|
- Added a hack to disable client sided AI for non-moving entities. This fixes items floating in water despite it not being implemented server-side yet.
|
|
- Fixed max health not working as expected on respawn if changed by plugins.
|
|
- Fixed Item Frame hardness (0.25 instead of 0).
|
|
- Fire Aspect tools will now light TNT when right-clicked with.
|
|
- Fixed incorrect nullable typehints on `TaskScheduler` return values.
|