mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2024-11-21 17:45:20 +00:00
10 KiB
10 KiB
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 duringPlayerJoinEvent
. 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
andPlayerJoinEvent
. 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 otherPlayer->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()
andEvent->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
commandtimes
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
andspawn-animals
no longer appear in generatedserver.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. Thedebug.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 writingworldname:
with no generation settings in theworlds
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
andexp
timestamps in the login JWT. - Fixed XP orbs following players who switched to a location spatially nearby in a different world.
Player->removeWindow()
now throwsInvalidArgumentException
instead ofBadMethodCallException
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 theunload
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()
andSign->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.