This story dates back to the days when getVariantBitmask() was introduced. The purpose of this function was to allow the variant info to be extracted from the metadata, for use with item drops. This was later changed to state bitmask for reasons I don't clearly recall. In the great 4.0 refactor, we now store variant magic numbers separately, so we don't need any generic bitmask to split up variant and state information anymore. Variant is now only ever serialized and never deserialized. The same thing goes for blockIDs. States are read from the world by matching the full stateID against a table of prefilled known blocks, so the variant doesn't need to be deserialized - only the state does, and the state metadata readers already do bit fuckery by themselves and don't need this mask - notice how little actual changes were required to get rid of this?
A highly customisable, open source server software for Minecraft: Bedrock Edition written in PHP
Setup, help & support, FAQs
Head over to the documentation site. If you don't find what you're looking for there, talk to a human. Please do not use our issue tracker for support requests.
Discussion
Plugins
There are a very wide range of already-written plugins available which you can use to customise your server. Check out Poggit, or just search GitHub.
For developers
- Latest API documentation - Doxygen documentation generated from development
- DevTools - Development tools plugin for creating plugins
- ExamplePlugin - Example plugin demonstrating some basic API features
Can I contribute?
Yes you can! Contributions are welcomed provided that they comply with our Contributing Guidelines. Please ensure you read the relevant sections of the guidelines carefully before making a Pull Request or opening an Issue.
Where can I get the latest .phar?
- Latest release builds can be found in our GitHub releases.
- Latest bleeding-edge development builds (and other builds in the build job channels) can be found on our Jenkins server.
Note: Please avoid development builds unless there is no other alternative for what you need. Development builds are subject to changes at any time without notice, and it is likely that your server or plugins might break without warning.
Donate
Donations help support the development of the project and pay for our expenses.
- Bitcoin Cash (BCH):
qz9p8dqkv0r7aahdatu5uewqfkvstrglv58f8yle07
- Bitcoin (BTC):
1PVAyDJ2g7kcjCxAC3C89oxpV2ZYcLad8T
- Patreon
Licensing information
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
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.