Skip to content

Releases: pmmp/PocketMine-MP

PocketMine-MP 1.6.2dev "Unleashed" with API 3.0.0-ALPHA1

23 Jan 16:09
Compare
Choose a tag to compare

For Minecraft PE 1.0.0.16

Initial snapshot of MCPE 1.0 changes.

DISCLAIMER: THIS IS AN ALPHA SNAPSHOT. THIS BUILD IS NOT FEATURE-COMPLETE AND IS LIKELY TO BE HIGHLY UNSTABLE. WE ARE NOT RESPONSIBLE FOR NUCLEAR WAR, EXPLOSIONS OR CORRUPTION OF DATA RESULTING FROM USE OF THIS BUILD.

This build has breaking API changes, so the API has been bumped to 3.0.0-ALPHA1. These changes are NOT yet complete.

Changes

Core

  • New generic in-memory chunk format for universal chunk handling and future conversion implementation.

Gameplay

  • Supported 256-height worlds
  • Standard chunk interface changed from FullChunk to Chunk (see above)

API

  • Removed biome color support and all related biome color API methods (no longer supported by MCPE client)

Fixes

  • Fixed Win10 throws away their held item when the inventory is closed (3b3abab)
  • Fixed MobHead bounding box and properties (c79077c)
  • Fixed server ignoring head rotation (fa5624f)
  • Fixed gamemode switching to adventure/spectator for op players (43a36db)
  • Fixed clicking on fire to extinguish it (#132)
  • Fixed players always respawning at the server spawn when the folder name is different to the world name (#150)

PocketMine 1.6.1dev-87 "Unleashed"

25 Nov 10:19
Compare
Choose a tag to compare
Pre-release

For Minecraft PE 0.16.0.5 alpha

THIS IS A PRE RELEASE. Do not use it in production unless you are sure you know what you are doing.

Only changes since the 1.6dev tag will be documented here. Changes between 1.4.1 and 1.6dev are far too extensive to document effectively.

Changes

Core

  • New RNG, based on XorShift128 from the php-random library. This fixes issue with repeating terrain on 32-bit systems. Note however that new generation into existing worlds will not be seamless.
  • Block and Item IDs have been moved to interfaces for better consistency
  • Better method for synchronisation of client/server time (less packet spam)
  • Utils::getRandomBytes() has been deprecated in favour of php7's random_bytes() function.
  • <player>.dat saving/reading can now be disabled in pocketmine.yml (set player.save-player-data to false)

Gameplay/game features

  • Added Flower Pots
  • Containers can now be opened in creative
  • Trapdoors can now be placed without a supporting block

API

This release has API changes, bumping the version to 2.1.0.

Entity metadata (0.16)

Many changes have been made to entity metadata. Many true/false data properties are now entity status flags, such as NoAI, NametagVisible and various others. Entity status flags can be set using:
$entity->setDataFlag(Entity::DATA_FLAGS, Entity::INSERT_DATA_FLAG_NAME, true/false);

Breaking changes are detailed here. Additions are not documented. https://gist.github.com/dktapps/76b291b7a861762b54f7a8b834389883

NOTE: It's strongly recommended to use provided API methods where possible instead of tampering with metadata directly.

AsyncTask API additions

  • Main thread local storage: Developers can pass any data including objects to the constructor of AsyncTask such that the data can be retrieved after the AsyncTask completes using the new AsyncTask::fetchLocal() method, or use the AsyncTask::peekLocal() method to get the data without removing it.
  • Progress updates: Developers can use the new AsyncTask::publishProgress() method and overrideAsyncTask::onProgressUpdated()` to handle AsyncTask progress information in the main thread.

Refer to #1 and #100 for details.

WeakPosition

WeakPosition was added in 1.6.1 to fix bugs with unloading levels which have player spawn points set in them. This type of position holds a level ID instead of a direct reference. Use this when your position may outlive the level it is in.

Removal of Item/NBT circular dependency

Refer to #121 for details.

Other

  • Added Player->sendWhisper() (#73).
  • Removed LargeExplodeParticle due to incorrect name - use HugeExplodeParticle. Added HugeExplodeSeedParticle and BlockForceFieldParticle (7314aaf)

Fixes

  • Fixed the infamous hotbar spaz bug
  • Creative/spectator inventory now sends correctly
  • Fixed spectator flight controls
  • Fixed issues with items going past the end of the regular inventory
  • Fixed furnace client crashes
  • Fixed inventory windows for anvils and enchanting tables
  • Fixed kicked for walking on lily pads (#blameshoghicp)
  • Fixed a nasty entity-related memory leak on chunk unload
  • Fixed sleeping players floating above beds and teleportation of sleeping players.
  • Fixed a bug in Level::updateAround() where only one block would update
  • Fixed some slab placement issues (#31)
  • Fixed crash loading 1.11 worlds (#32)
  • Fixed broken --disable-readline command-line option (#34)
  • Fixed world unload crash when players have spawnpoints set in that world (#24)
  • Fixed start.sh detection of system PHP binaries (#66)
  • Fixed anvil rotation when placed and variant drops (d696049)
  • /timings command is now more verbose about paste errors (#95)
  • Fixed server crash at shutdown when RCON is enabled (#101)
  • Fixed server name is always "Minecraft: PE Server" when running setup wizard (92bd1a7)
  • Fixed CraftItemEvent->getInput() does not return used items (7eb9530)
  • Fixed useless ServerKiller (#122)

PocketMine-MP 1.4.1 "Zekkou Cake"

08 May 20:58
891eeff
Compare
Choose a tag to compare

For Minecraft: PE v0.10.5 alpha

This version has API changes, bumping the version to 1.11.0, and it won't be bumped again until a stable build is released. These changes are detailed below.

Main features:

  • Improved chunk saving and reduced world corruption
  • Fixed some strange crashes on broken systems
  • Improved movement and block placing
  • Automatic resource freeing on Region-based worlds
  • Ignore spawn protection when no ops are set
  • Improved flight cheat protection
  • Fixed chunk corruptions

API changes

  • API 1.11.0
  • Added PlayerCreationEvent
  • Added Level->getChunks(), fixed some Doc Comments
  • Added Async Task crash warning
  • Fixed issue where plugins schedule a Player update before log in
  • Added new predictive flight protection
  • Added Location::__toString()
  • Added Entity->resetFallDistance()
  • Fixed #2619 BlockMetadataStore
  • Added Entity->fastMove() for players and direct-controlled entities
  • Implemented Threaded ClassLoader, improves class loading while on different threads (no need to synchronize states)
  • Allow plugins to cancel some kicks better, closes #2743

Fixes and additions:

  • Improved threading and resource usage, new defaults
  • Removed all @mkdir() calls
  • Implemented proportional armor modifier, applied armor in other damage types and consume armor when player is damaged
  • Implemented hardcore banning, closes #2574
  • Implemented double chest fix, closes #2744, fixes #2493
  • Catch exceptions on level generation
  • Changed generator choosing logic, add proper preset if needed, fixes #2751
  • Fixed some crashes related to crashing
  • Fixed messages and default settings
  • Fixed #2488 Player suffocates when putting blocks to climb higher
  • Fixed #2489 Falling Sand drops as an item when not expected
  • Cleaned up BanEntry creation
  • Fixed phar check
  • Fixed visual typo in /ban-ip, closes #2503
  • Improved chunk saving times by not marking it as changed when Players are added/removed
  • Fixed #2511
  • Catch more corruption issues in Region-based worlds, fixed first chunk being generated on an invalid sector
  • Fixed Entities being placed in recreated chunks
  • Fixed Flat generator on existing chunks, region issues
  • Unload unused regions after 5 minutes
  • Improved file resource usage
  • Added GarbageCollectionTask, workaround for weird PHP behaviour when using --disable-ansi
  • Fixed /timings off
  • Fixed fences not showing up
  • Improved chunk ticking
  • Block saving chunks too big
  • Changed max speed per tick from 100 to 10 blocks
  • Added outdated event static properties
  • Allow placing Snow Layers on top of solid transparent blocks
  • Fixed PHPRC env. variable being set
  • Throw exception when RakLib crashes
  • Added rotation transformations to remaining packet
  • Fixed #2557
  • Fixed #2541 server not saving chunks on chunk unloading
  • Return on Level->getSafeSpawn() in case of invalid position
  • Fixed #2565
  • Falling sand will become block when in contact with a Liquid
  • Fixed Iron bar, Stonecutter drops
  • TallGrass blocks should be only placed on grass blocks
  • Fixed #2615
  • Fixed players getting kicked for flying when going through special blocks
  • Future workaround for #2626
  • Catch file saving exceptions
  • Added basic speed protection
  • Fixed Dark Oak Fence's name
  • Fixed #2762
  • Fixed Anvil lighting issues
  • Fix some Chunk corruption due to Chunk overlap
  • Fixed constructors, default memory to -1, default async generator
  • Fixed NBT IntArray off-by-one reading
  • Fixed falling sand breaking on full BB partial blocks, closes #2770

Not implemented or known issues:
Please do not report lacking features to the bug tracker, only report bugs on implemented features.

  • Entities / Entity AI
  • No conversion for old levels (will be added later)
  • No Minecarts
  • Not all items are implemented
  • Generated worlds use a basic generator

PocketMine-MP 1.4.1-936 beta1

08 May 20:58
1.4.1dev-936
37fd037
Compare
Choose a tag to compare
Pre-release

For Minecraft: PE v0.10.4 alpha

This version has API changes, bumping the version to 1.11.0, and it won't be bumped again until a stable build is released. These changes are detailed below.

Main features:

  • Improved chunk saving and reduced world corruption
  • Fixed some strange crashes on broken systems
  • Improved movement and block placing
  • Automatic resource freeing on Region-based worlds

API changes

  • API 1.11.0
  • Added PlayerCreationEvent
  • Added Level->getChunks(), fixed some Doc Comments
  • Added Async Task crash warning
  • Fixed issue where plugins schedule a Player update before log in

Fixes and additions:

  • Improved threading and resource usage, new defaults
  • Removed all @mkdir() calls
  • Catch exceptions on level generation
  • Fixed some crashes related to crashing
  • Fixed messages and default settings
  • Fixed #2488 Player suffocates when putting blocks to climb higher
  • Fixed #2489 Falling Sand drops as an item when not expected
  • Cleaned up BanEntry creation
  • Fixed phar check
  • Fixed visual typo in /ban-ip, closes #2503
  • Improved chunk saving times by not marking it as changed when Players are added/removed
  • Fixed #2511
  • Catch more corruption issues in Region-based worlds, fixed first chunk being generated on an invalid sector
  • Fixed Entities being placed in recreated chunks
  • Fixed Flat generator on existing chunks, region issues
  • Unload unused regions after 5 minutes
  • Improved file resource usage
  • Added GarbageCollectionTask, workaround for weird PHP behaviour when using --disable-ansi

Not implemented or known issues:
Please do not report lacking features to the bug tracker, only report bugs on implemented features.

  • Entities / Entity AI
  • No conversion for old levels (will be added later)
  • No Minecarts
  • Not all items are implemented
  • Generated worlds use a basic generator

PocketMine-MP 1.4 "Zekkou Cake"

08 May 20:58
3de14d8
Compare
Choose a tag to compare

For Minecraft: PE v0.10.4 alpha

This is the first stable build of PocketMine-MP 1.4. Lots of changes have happened since 1.3.12, and they won't be detailed here. You can find them on the release list here on GitHub.

Old worlds won't be converted automatically, and you can find it lacking some features. These will be implemented in a future update, as the release was pushed ahead due to the old "stable" release being completely outdated and no features being offered by it.


This version has API changes, bumping the version to 1.10.0. These changes are detailed below.

Main features:

  • New version format (drops the stage part)
  • Added automatic/manual IP blocking
  • Increased chunk defaults
  • Improved speed of several generation steps
  • Fixed some memory leaks on 32-bit hosts
  • Improved exception handling and trace creation

API changes

  • API 1.10.0
  • Changed RakLib network interface implementation

Fixes and additions:

  • Bitmask block state
  • New version format
  • Possible workaround for some PHP bug related to resources and threads
  • Players won't take damage 60 ticks after spawning / respawning.
  • Fixed #2446
  • Added automatic/manual RakLib IP address, block addresses when exceptions are thrown
  • Move Query exceptions to debug level > 1
  • Block IP addresses on ban-ip
  • Added typehints to HelpCommand
  • Corrected fence crafting recipes, closes #2457
  • Improved Normal generator speed
  • Fixed memory leak issues on chunk generation under 32-bit hosts. Closes #2419, fixes #2308
  • Fixed issue with generated chunks not having a provider. Closes #2421
  • Higher chunk defaults
  • Improved Simplex 2D noise
  • Added chunk check on Level
  • Detect really big corrupted chunks, closes #2471
  • Improved exception handling and trace creation
  • Fixed players not calculating onGround correctly

Not implemented or known issues:
Please do not report lacking features to the bug tracker, only report bugs on implemented features.

  • Entities / Entity AI
  • No conversion for old levels (will be added later)
  • No Minecarts
  • Not all items are implemented
  • Generated worlds use a basic generator

PocketMine-MP 1.4-916 beta18 "Zekkou Cake"

08 May 20:58
3de14d8
Compare
Choose a tag to compare

For Minecraft: PE v0.10.4 alpha

This version has API changes, bumping the version to 1.10.0. These changes are detailed below.

Main features:

  • New version format (drops the stage part)
  • Added automatic/manual IP blocking
  • Increased chunk defaults
  • Improved speed of several generation steps
  • Fixed some memory leaks on 32-bit hosts
  • Improved exception handling and trace creation

API changes

  • API 1.10.0
  • Changed RakLib network interface implementation

Fixes and additions:

  • Bitmask block state
  • New version format
  • Possible workaround for some PHP bug related to resources and threads
  • Players won't take damage 60 ticks after spawning / respawning.
  • Fixed #2446
  • Added automatic/manual RakLib IP address, block addresses when exceptions are thrown
  • Move Query exceptions to debug level > 1
  • Block IP addresses on ban-ip
  • Added typehints to HelpCommand
  • Corrected fence crafting recipes, closes #2457
  • Improved Normal generator speed
  • Fixed memory leak issues on chunk generation under 32-bit hosts. Closes #2419, fixes #2308
  • Fixed issue with generated chunks not having a provider. Closes #2421
  • Higher chunk defaults
  • Improved Simplex 2D noise
  • Added chunk check on Level
  • Detect really big corrupted chunks, closes #2471
  • Improved exception handling and trace creation
  • Fixed players not calculating onGround correctly

Not implemented or known issues:
Please do not report lacking features to the bug tracker, only report bugs on implemented features.

  • Entities / Entity AI
  • No conversion for old levels (will be added later)
  • No Minecarts
  • Not all items are implemented
  • Generated worlds use a basic generator

PocketMine-MP 1.4dev-900 beta17 "Zekkou Cake"

08 May 20:58
Alpha_1.4dev-900
6cb88af
Compare
Choose a tag to compare

For Minecraft: PE v0.10.4 alpha

This version has API changes, some additions and fixes, bumping the version to 1.9.0. These changes are detailed below.

Main features:

  • Global optimizations
  • New block/item creation and handling system
  • Multiple non-ordered hotbar slots
  • Added death animations
  • Updated RakLib: proper recovery queues and packet reordering
  • Experimental LevelDB worlds support

API changes

  • API 1.9.0
  • Added internal use warning for TaskHandler::cancel()
  • Implemented no damage ticks
  • Added Config->getNested(key) and Config->setNested(key, value)
  • Added HeightMap get/set methods on chunks, Level
  • Do not quiet error messages when parsing config files
  • Added Level->getFullBlock()
  • Added FullChunk->getFullBlock()
  • Added Chunk->getFullBlock()
  • Added ChunkSection->getFullBlock()
  • Deprecated FullChunk->getBlock()
  • Deprecated Chunk->getBlock()
  • Deprecated ChunkSection->getBlock()
  • Added trait autoloading
  • Fixed #2392
  • Fixed #2394
  • Allow $base in knockback() to be dynamic and getters/setters in EntityDamageByEntityEvent
  • Update documentation of PluginBase::getCommand() for IDEs' auto completion
  • Added default parameter to Config getters, implements #2398
  • Added optional parameter for multiple NBT read

Fixes and additions:

  • Change last X/Y/Z/Yaw/Pitch on teleport
  • Added armor items and max stack size for them.
  • Force player setting their new position
  • Block creating and property handling rewrite
  • Fix CPU issue when starting without STDIN
  • Use squared distance on movement handling
  • Renamed old getID() calls to getId()
  • Improved Item property handling
  • Handle a hotbar queue to allow using more than the first slot (won't save order due to the protocol)
  • Collect unallocated chunks from the Level provider
  • Faster Level provider chunk unloading
  • Improved block reading
  • Created global block states array
  • Improved Level->getBlock() using block states
  • Improved Level->getBlock() for 64-bit systems
  • Better block creation on Level
  • Added Player death animations, improved spawning behavior to correct invisible players, fixed players getting stuck when dead, closes #2304
  • Replaced some instanceof to null checks
  • Fixed players not getting sound when they are harmed
  • Level optimization, added new chunk/block hashes
  • Optimized Liquid spreading, optimized light updates, improved side block get/update, fixed raw set not cleaning Block cache (TNT explosions)
  • Updated RakLib: Implemented packet reordering, fixed packet recovery in both sides, errors are now debug level, workarounds possible CPU-hog DoS attack over ACK/NACK packets
  • Changed some Entity move AABB calls
  • Snow layer recipe added: Fix for #2400
  • Added World Generation timings
  • Added experimental LevelDB support, fixed a few issues with NBT, spawning and Binary R/W
  • Fixed #2423
  • Added Double Plant block, fixes damage walking inside it.
  • Added Chest recreation on imported levels
  • Fixed possible memory leak when hiding players from each other
  • Fixed server.log created in two different places on path changed
  • Increased transaction timeout, not needed anymore due to packet ordering
  • Improved block breaking time and event handling

Not implemented or known issues:
Please do not report lacking features to the bug tracker, only report bugs on implemented features.

  • Entities / Entity AI
  • No conversion for old levels (will be added later)
  • No Minecarts
  • Not all items are implemented
  • Generated worlds use a basic generator

PocketMine-MP 1.4dev-855 beta16 "Zekkou Cake"

08 May 20:58
Compare
Choose a tag to compare

For Minecraft: PE v0.10.4 alpha

This version has API changes, some additions and fixes, bumping the version to 1.8.0. These changes are detailed below.

Main features:

  • Fixed some duplication issues
  • Added light spreading
  • Less glitched PlayerMoveEvent handling by plugins

API changes

  • API 1.8.0
  • Added Level->getFullLight()
  • Updated player movement processing and event handling

Fixes and additions:

  • Fixed armor dropping twice
  • Fixed invalid worlds property being set by users
  • Removed temporal pthreads workaround
  • Implemented light population
  • Removed old revert flag from Player->processMovement()
  • Enabled batch block sending again

Not implemented or known issues:
Please do not report lacking features to the bug tracker, only report bugs on implemented features.

  • Entities / Entity AI
  • No support for LevelDB worlds (0.9.0 format)
  • No conversion for old levels (will be added later)
  • No Minecarts
  • Not all items are implemented
  • Generated worlds use a basic generator

PocketMine-MP 1.4dev-847 beta15 "Zekkou Cake"

08 May 20:58
Compare
Choose a tag to compare

For Minecraft: PE v0.10.4 alpha

Main features:

  • Fixed a crash introduced on the last beta
  • Improved inventory handling

API changes

  • Fixed Inventory->addItem()
  • Removed unused Block->isLiquid property

Fixes and additions:

  • Fixed #2340
  • Improved Inventory->addItem(), fixed breaking containers duplicating the last slot, removed not necessary slot changes
  • Fixed ladder crafting recipe

Not implemented or known issues:
Please do not report lacking features to the bug tracker, only report bugs on implemented features.

  • Entities / Entity AI
  • No support for LevelDB worlds (0.9.0 format)
  • No conversion for old levels (will be added later)
  • No Minecarts
  • Not all items are implemented
  • Generated worlds use a basic generator

PocketMine-MP 1.4dev-842 beta14 "Zekkou Cake"

08 May 20:58
Compare
Choose a tag to compare

For Minecraft: PE v0.10.4 alpha

Main features:

  • Improved chunk loading
  • Catch more exceptions and give extra debug messages
  • Recreates / fixes corrupt chunks with a huge amount of tile entities

API changes

  • Improved exception handling and debugging

Fixes and additions:

  • Improved chunk loading/unloading
  • Protect permission removal against bad plugins
  • Remove duplicated tiles from chunk table automatically
  • Regenerate corrupt player data if invalid data is found
  • Catch corrupted chunk data errors
  • Increased Fence, Fence Gate and Stone Wall Y bounding box
  • Bumped Minecraft: PE version string
  • Removed old trigger_error() calls, closes #2335
  • Properly close inventory windows from Players
  • Catch exceptions when chunks are unloaded
  • Possible fix for #2267, #2314
  • Improved player spawn item in hand sending
  • Improved global entity motion encoding using per-player queues

Not implemented or known issues:
Please do not report lacking features to the bug tracker, only report bugs on implemented features.

  • Issues with spawnpoint
  • Entities / Entity AI
  • No support for LevelDB worlds (0.9.0 format)
  • No conversion for old levels (will be added later)
  • No Minecarts
  • Not all items are implemented
  • Generated worlds use a basic generator