diff --git a/README.md b/README.md index 3764512e4..2df12887a 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ - [Documentation](http://pmmp.readthedocs.org/) - [Installation instructions](https://pmmp.readthedocs.io/en/rtfd/installation.html) - [Docker image](https://hub.docker.com/r/pmmp/pocketmine-mp) -- [Plugin repository](https://poggit.pmmp.io) +- [Plugin repository](https://poggit.pmmp.io/plugins) ### Discussion - [Forums](https://forums.pmmp.io/) @@ -22,8 +22,8 @@ * [Contributing Guidelines](CONTRIBUTING.md) ### Donate -- Bitcoin Cash (BCH): `qz9p8dqkv0r7aahdatu5uewqfkvstrglv58f8yle07` -- Bitcoin (BTC): `1PVAyDJ2g7kcjCxAC3C89oxpV2ZYcLad8T` +- Bitcoin Cash (BCH): `qq3r46hn6ljnhnqnfwxt5pg3g447eq9jhvw5ddfear` +- Bitcoin (BTC): `171u8K9e4FtU6j3e5sqNoxKUgEw9qWQdRV` - [Patreon](https://www.patreon.com/pocketminemp) ## Licensing information diff --git a/build/make-release.php b/build/make-release.php new file mode 100644 index 000000000..f13d66b89 --- /dev/null +++ b/build/make-release.php @@ -0,0 +1,73 @@ +getMajor(), + $currentVer->getMinor(), + $currentVer->getPatch() + 1 +)); + + +$versionInfoPath = dirname(__DIR__) . '/src/pocketmine/VersionInfo.php'; +$versionInfo = file_get_contents($versionInfoPath); + +file_put_contents($versionInfoPath, preg_replace( + '/^const IS_DEVELOPMENT_BUILD = true;$/m', + 'const IS_DEVELOPMENT_BUILD = false;', + $versionInfo +)); +echo "please add appropriate notes to the changelog and press enter..."; +fgets(STDIN); +system('git add "' . dirname(__DIR__) . '/changelogs"'); +system('git commit -m "Release ' . BASE_VERSION . '" --include "' . $versionInfoPath . '"'); +system('git tag ' . BASE_VERSION); +file_put_contents($versionInfoPath, $mod = preg_replace( + $pattern = '/^const BASE_VERSION = "' . preg_quote(BASE_VERSION, '/') . '";$/m', + 'const BASE_VERSION = "' . $nextVer->getBaseVersion() . '";', + $versionInfo +)); +system('git add "' . $versionInfoPath . '"'); +system('git commit -m "' . $nextVer->getBaseVersion() . ' is next" --include "' . $versionInfoPath . '"'); +echo "pushing changes in 10 seconds"; +sleep(10); +system('git push origin HEAD ' . BASE_VERSION); diff --git a/changelogs/3.8.md b/changelogs/3.8.md index e73ae4119..7255a77ee 100644 --- a/changelogs/3.8.md +++ b/changelogs/3.8.md @@ -54,3 +54,4 @@ This changelog **does not account for protocol changes**. If your plugin uses th - PID of server is now reported in the error message when attempting to run two servers from the same data directory at once. - Fixed sluggish playercount updating on MOTD. - Added new MultiRecipe UUIDs. +- Added an extra field to `StartGamePacket` to resolve minor incompatibility issues on different 1.11.x patch versions. diff --git a/src/pocketmine/VersionInfo.php b/src/pocketmine/VersionInfo.php index a446b583c..5166c5991 100644 --- a/src/pocketmine/VersionInfo.php +++ b/src/pocketmine/VersionInfo.php @@ -22,6 +22,6 @@ namespace pocketmine; const NAME = "PocketMine-MP"; -const BASE_VERSION = "3.8.5"; +const BASE_VERSION = "3.8.6"; const IS_DEVELOPMENT_BUILD = true; const BUILD_NUMBER = 0; diff --git a/src/pocketmine/network/mcpe/protocol/StartGamePacket.php b/src/pocketmine/network/mcpe/protocol/StartGamePacket.php index 445a077f6..4894d8acf 100644 --- a/src/pocketmine/network/mcpe/protocol/StartGamePacket.php +++ b/src/pocketmine/network/mcpe/protocol/StartGamePacket.php @@ -138,6 +138,9 @@ class StartGamePacket extends DataPacket{ /** @var string */ public $multiplayerCorrelationId = ""; //TODO: this should be filled with a UUID of some sort + /** @var bool */ + public $onlySpawnV1Villagers = false; + /** @var array|null each entry must have a "name" (string) and "data" (int16) element */ public $runtimeIdTable = null; @@ -202,6 +205,7 @@ class StartGamePacket extends DataPacket{ $this->runtimeIdTable = $table; $this->multiplayerCorrelationId = $this->getString(); + $this->onlySpawnV1Villagers = $this->getBool(); } protected function encodePayload(){ @@ -265,6 +269,7 @@ class StartGamePacket extends DataPacket{ } $this->putString($this->multiplayerCorrelationId); + $this->putBool($this->onlySpawnV1Villagers); } private static function serializeBlockTable(array $table) : string{