Dylan T. ba2a7cceaf Refactor SubChunk to use non-nullable block and liquid layers
- Changed SubChunk constructor to accept null for layers and initialize empty PalettedBlockArray internally
- Updated all SubChunk getters to return non-nullable PalettedBlockArray
- Modified serialization/deserialization logic to check for layer emptiness instead of null
- Updated all SubChunk constructor calls across codebase to pass null for empty layers
- Simplified code by removing unnecessary null checks throughout the codebase
- Updated tests to match new SubChunk API
2025-06-27 15:47:58 +00:00
2025-06-24 13:35:32 +01:00
2022-03-09 16:28:38 +00:00
2021-11-30 01:16:28 +00:00
2025-05-04 17:19:15 +01:00
2025-06-23 23:30:48 +03:00
2024-12-02 00:40:55 +00:00
2025-03-09 00:23:59 +00:00
2022-08-16 17:22:22 +01:00


A highly customisable, open source server software for Minecraft: Bedrock Edition written in PHP

CI GitHub release (latest SemVer) Discord
GitHub all releases GitHub release (latest by SemVer)

What is this?

PocketMine-MP is a highly customisable server software for Minecraft: Bedrock Edition, built from scratch in PHP, with over 10 years of history.

If you're looking to create a Minecraft: Bedrock server with custom functionality, look no further.

  • 🧩 Powerful plugin API - extend and customise gameplay as you see fit
  • 🗺️ Rich ecosystem and large developer community - find plugins easily and learn to develop your own
  • 🌐 Multi-world support - offer a more varied game experience to players without transferring them to other server nodes
  • 🏎️ Performance - get 100+ players onto one server (depending on hardware and plugins)
  • ⤴️ Continuously updated - new Minecraft versions are usually supported within days

PocketMine-MP is NOT a vanilla Minecraft server software.

It is poorly suited to hosting vanilla survival servers. It doesn't have many features from the vanilla game, such as vanilla world generation, redstone, mob AI, and various other things.

If you just want to play vanilla survival multiplayer, consider using the official Minecraft: Bedrock server software instead of PocketMine-MP.

If that's not an option for you, you may be able to add some of PocketMine-MP's missing features using plugins from Poggit, or write plugins to implement them yourself.

Getting Started

Community & Support

Join our Discord server to chat with other users and developers.

You can also post questions on StackOverflow under the tag pocketmine.

Developing Plugins

If you want to write your own plugins, the following resources may be useful. Don't forget you can always ask our community if you need help.

Contributing to PocketMine-MP

PocketMine-MP accepts community contributions! The following resources will be useful if you want to contribute to PocketMine-MP.

New here? Check out issues with the "Easy task" label for things you could work to familiarise yourself with the codebase.

Donate

PocketMine-MP is free, but it requires a lot of time and effort from unpaid volunteers to develop. Donations enable us to keep delivering support for new versions and adding features your players love.

You can support development using the following methods:

  • Patreon
  • Bitcoin (BTC): 171u8K9e4FtU6j3e5sqNoxKUgEw9qWQdRV
  • Stellar Lumens (XLM): GAAC5WZ33HCTE3BFJFZJXONMEIBNHFLBXM2HJVAZHXXPYA3HP5XPPS7T

Thanks for your support!

Licensing information

This project is licensed under LGPL-3.0. Please see the LICENSE file for details.

pmmp/PocketMine are not affiliated with Mojang. All brands and trademarks belong to their respective owners. PocketMine-MP is not a Mojang-approved software, nor is it associated with Mojang.

Languages
PHP 99.9%