mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-04-21 00:07:30 +00:00
Merge remote-tracking branch 'origin/stable'
# Conflicts: # composer.json # composer.lock # resources/vanilla # src/CrashDump.php # src/PocketMine.php # src/pocketmine/Server.php # src/pocketmine/item/Bucket.php # src/pocketmine/item/Item.php # src/pocketmine/level/format/Chunk.php # src/pocketmine/level/format/io/leveldb/LevelDB.php # src/pocketmine/level/format/io/region/McRegion.php # src/pocketmine/network/mcpe/protocol/BatchPacket.php # src/pocketmine/tile/Furnace.php # src/pocketmine/utils/UUID.php # src/utils/ServerKiller.php
This commit is contained in:
commit
9228f006d4
6
.github/workflows/main.yml
vendored
6
.github/workflows/main.yml
vendored
@ -24,13 +24,11 @@ jobs:
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: "./bin"
|
||||
key: "php-build-generic-${{ hashFiles('./build/php/compile.sh') }}"
|
||||
key: "php-build-generic-${{ hashFiles('./tests/gh-actions/build.sh') }}"
|
||||
|
||||
- name: Compile PHP
|
||||
if: steps.php-build-cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
sudo apt update && sudo apt install -y re2c libtool libtool-bin
|
||||
march=x86-64 ./build/php/compile.sh -j8
|
||||
run: ./tests/gh-actions/build.sh
|
||||
|
||||
- name: Prefix PHP to PATH
|
||||
run: echo "$(pwd)/bin/php7/bin" >> $GITHUB_PATH
|
||||
|
@ -3,7 +3,7 @@
|
||||
<b>A highly customisable, open source server software for Minecraft: Bedrock Edition written in PHP</b>
|
||||
</p>
|
||||
|
||||
[](https://travis-ci.com/pmmp/PocketMine-MP)
|
||||

|
||||
|
||||
## Getting started
|
||||
- [Documentation](http://pmmp.readthedocs.org/)
|
||||
|
@ -7,7 +7,6 @@
|
||||
"require": {
|
||||
"php": ">=7.3.0",
|
||||
"php-64bit": "*",
|
||||
"ext-bcmath": "*",
|
||||
"ext-chunkutils2": "^0.1.0",
|
||||
"ext-curl": "*",
|
||||
"ext-crypto": "^0.3.1",
|
||||
@ -51,7 +50,7 @@
|
||||
"composer-runtime-api": "^2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpstan/phpstan": "0.12.59",
|
||||
"phpstan/phpstan": "0.12.63",
|
||||
"phpstan/phpstan-phpunit": "^0.12.6",
|
||||
"phpstan/phpstan-strict-rules": "^0.12.2",
|
||||
"phpunit/phpunit": "^9.2"
|
||||
|
199
composer.lock
generated
199
composer.lock
generated
@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "59cfedb6b07a8e13ae3a77a6ea8e18d8",
|
||||
"content-hash": "9ffd33446ed14804ca22c92c04a39796",
|
||||
"packages": [
|
||||
{
|
||||
"name": "adhocore/json-comment",
|
||||
@ -262,12 +262,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/pmmp/BinaryUtils.git",
|
||||
"reference": "0e25f4baab948cfb88de94375d04df20330957d7"
|
||||
"reference": "7fbdf706e29dced2611eb4d01cd4ca60b4138f5a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/pmmp/BinaryUtils/zipball/0e25f4baab948cfb88de94375d04df20330957d7",
|
||||
"reference": "0e25f4baab948cfb88de94375d04df20330957d7",
|
||||
"url": "https://api.github.com/repos/pmmp/BinaryUtils/zipball/7fbdf706e29dced2611eb4d01cd4ca60b4138f5a",
|
||||
"reference": "7fbdf706e29dced2611eb4d01cd4ca60b4138f5a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -276,7 +276,7 @@
|
||||
},
|
||||
"require-dev": {
|
||||
"phpstan/extension-installer": "^1.0",
|
||||
"phpstan/phpstan": "0.12.40",
|
||||
"phpstan/phpstan": "0.12.63",
|
||||
"phpstan/phpstan-strict-rules": "^0.12.4"
|
||||
},
|
||||
"type": "library",
|
||||
@ -294,32 +294,32 @@
|
||||
"issues": "https://github.com/pmmp/BinaryUtils/issues",
|
||||
"source": "https://github.com/pmmp/BinaryUtils/tree/master"
|
||||
},
|
||||
"time": "2020-08-28T20:45:19+00:00"
|
||||
"time": "2020-12-17T17:42:11+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pocketmine/callback-validator",
|
||||
"version": "1.0.2",
|
||||
"version": "1.0.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "git@github.com:pmmp/CallbackValidator.git",
|
||||
"reference": "8321aa3ccfe63639b0d08f0cbf270755cfc99fe2"
|
||||
"url": "https://github.com/pmmp/CallbackValidator.git",
|
||||
"reference": "64787469766bcaa7e5885242e85c23c25e8c55a2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/pmmp/CallbackValidator/zipball/8321aa3ccfe63639b0d08f0cbf270755cfc99fe2",
|
||||
"reference": "8321aa3ccfe63639b0d08f0cbf270755cfc99fe2",
|
||||
"url": "https://api.github.com/repos/pmmp/CallbackValidator/zipball/64787469766bcaa7e5885242e85c23c25e8c55a2",
|
||||
"reference": "64787469766bcaa7e5885242e85c23c25e8c55a2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-reflection": "*",
|
||||
"php": ">=7.1"
|
||||
"php": "^7.1 || ^8.0"
|
||||
},
|
||||
"replace": {
|
||||
"daverandom/callback-validator": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpstan/extension-installer": "^1.0",
|
||||
"phpstan/phpstan": "0.12.38",
|
||||
"phpstan/phpstan": "0.12.59",
|
||||
"phpstan/phpstan-strict-rules": "^0.12.4",
|
||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.0"
|
||||
},
|
||||
@ -340,7 +340,11 @@
|
||||
}
|
||||
],
|
||||
"description": "Fork of daverandom/callback-validator - Tools for validating callback signatures",
|
||||
"time": "2020-08-21T19:51:42+00:00"
|
||||
"support": {
|
||||
"issues": "https://github.com/pmmp/CallbackValidator/issues",
|
||||
"source": "https://github.com/pmmp/CallbackValidator/tree/1.0.3"
|
||||
},
|
||||
"time": "2020-12-11T01:45:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pocketmine/classloader",
|
||||
@ -348,12 +352,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/pmmp/ClassLoader.git",
|
||||
"reference": "14871a77ac5a7c4c0571391ad404b89bc15a3513"
|
||||
"reference": "67ad4a426f00bca9f1361d8e4bc99188fbfbf9d9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/pmmp/ClassLoader/zipball/14871a77ac5a7c4c0571391ad404b89bc15a3513",
|
||||
"reference": "14871a77ac5a7c4c0571391ad404b89bc15a3513",
|
||||
"url": "https://api.github.com/repos/pmmp/ClassLoader/zipball/67ad4a426f00bca9f1361d8e4bc99188fbfbf9d9",
|
||||
"reference": "67ad4a426f00bca9f1361d8e4bc99188fbfbf9d9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -366,10 +370,9 @@
|
||||
},
|
||||
"require-dev": {
|
||||
"phpstan/extension-installer": "^1.0",
|
||||
"phpstan/phpstan": "0.12.40",
|
||||
"phpstan/phpstan": "0.12.63",
|
||||
"phpstan/phpstan-strict-rules": "^0.12.4"
|
||||
},
|
||||
"default-branch": true,
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
@ -385,7 +388,7 @@
|
||||
"issues": "https://github.com/pmmp/ClassLoader/issues",
|
||||
"source": "https://github.com/pmmp/ClassLoader/tree/master"
|
||||
},
|
||||
"time": "2020-08-27T11:43:41+00:00"
|
||||
"time": "2020-12-17T17:02:45+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pocketmine/color",
|
||||
@ -469,12 +472,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/pmmp/Log.git",
|
||||
"reference": "cfac4a3ba23efa2f94802868787cf6f449255082"
|
||||
"reference": "b8509a5f30c6317db42a8511785b781b41c5cdd5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/pmmp/Log/zipball/cfac4a3ba23efa2f94802868787cf6f449255082",
|
||||
"reference": "cfac4a3ba23efa2f94802868787cf6f449255082",
|
||||
"url": "https://api.github.com/repos/pmmp/Log/zipball/b8509a5f30c6317db42a8511785b781b41c5cdd5",
|
||||
"reference": "b8509a5f30c6317db42a8511785b781b41c5cdd5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -484,7 +487,7 @@
|
||||
"pocketmine/spl": "<0.4"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpstan/phpstan": "0.12.40",
|
||||
"phpstan/phpstan": "0.12.59",
|
||||
"phpstan/phpstan-strict-rules": "^0.12.2"
|
||||
},
|
||||
"type": "library",
|
||||
@ -502,7 +505,7 @@
|
||||
"issues": "https://github.com/pmmp/Log/issues",
|
||||
"source": "https://github.com/pmmp/Log/tree/master"
|
||||
},
|
||||
"time": "2020-08-28T20:50:44+00:00"
|
||||
"time": "2020-12-11T00:10:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pocketmine/log-pthreads",
|
||||
@ -510,12 +513,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/pmmp/LogPthreads.git",
|
||||
"reference": "343333f45a1041641de36d9f9285fbc5349a2571"
|
||||
"reference": "a01bd5dd4ea09c0c921c1f2cd74a75e26e69eb75"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/pmmp/LogPthreads/zipball/343333f45a1041641de36d9f9285fbc5349a2571",
|
||||
"reference": "343333f45a1041641de36d9f9285fbc5349a2571",
|
||||
"url": "https://api.github.com/repos/pmmp/LogPthreads/zipball/a01bd5dd4ea09c0c921c1f2cd74a75e26e69eb75",
|
||||
"reference": "a01bd5dd4ea09c0c921c1f2cd74a75e26e69eb75",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -528,7 +531,7 @@
|
||||
},
|
||||
"require-dev": {
|
||||
"phpstan/extension-installer": "^1.0",
|
||||
"phpstan/phpstan": "0.12.38",
|
||||
"phpstan/phpstan": "0.12.63",
|
||||
"phpstan/phpstan-strict-rules": "^0.12.4"
|
||||
},
|
||||
"type": "library",
|
||||
@ -546,7 +549,7 @@
|
||||
"issues": "https://github.com/pmmp/LogPthreads/issues",
|
||||
"source": "https://github.com/pmmp/LogPthreads/tree/master"
|
||||
},
|
||||
"time": "2020-08-22T12:07:54+00:00"
|
||||
"time": "2020-12-17T16:35:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pocketmine/math",
|
||||
@ -554,12 +557,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/pmmp/Math.git",
|
||||
"reference": "fd3a016cfee1939869e6f0bc320a7c99bd2f440d"
|
||||
"reference": "58ffaef47bc269b65c4cf6f0c85f563510c2a91d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/pmmp/Math/zipball/fd3a016cfee1939869e6f0bc320a7c99bd2f440d",
|
||||
"reference": "fd3a016cfee1939869e6f0bc320a7c99bd2f440d",
|
||||
"url": "https://api.github.com/repos/pmmp/Math/zipball/58ffaef47bc269b65c4cf6f0c85f563510c2a91d",
|
||||
"reference": "58ffaef47bc269b65c4cf6f0c85f563510c2a91d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -567,9 +570,9 @@
|
||||
"php-64bit": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"irstea/phpunit-shim": "^7.5",
|
||||
"irstea/phpunit-shim": "^8.5 || ^9.5",
|
||||
"phpstan/extension-installer": "^1.0",
|
||||
"phpstan/phpstan": "0.12.44",
|
||||
"phpstan/phpstan": "0.12.59",
|
||||
"phpstan/phpstan-strict-rules": "^0.12.4"
|
||||
},
|
||||
"type": "library",
|
||||
@ -587,7 +590,7 @@
|
||||
"issues": "https://github.com/pmmp/Math/issues",
|
||||
"source": "https://github.com/pmmp/Math/tree/master"
|
||||
},
|
||||
"time": "2020-09-25T17:32:58+00:00"
|
||||
"time": "2020-12-11T00:18:45+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pocketmine/nbt",
|
||||
@ -595,12 +598,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/pmmp/NBT.git",
|
||||
"reference": "7f715bd87e42a9b44cf5a8022e66a4a05280602d"
|
||||
"reference": "460b7f21e80323387197e030b1727c2aef12ec1c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/pmmp/NBT/zipball/7f715bd87e42a9b44cf5a8022e66a4a05280602d",
|
||||
"reference": "7f715bd87e42a9b44cf5a8022e66a4a05280602d",
|
||||
"url": "https://api.github.com/repos/pmmp/NBT/zipball/460b7f21e80323387197e030b1727c2aef12ec1c",
|
||||
"reference": "460b7f21e80323387197e030b1727c2aef12ec1c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -611,7 +614,7 @@
|
||||
"require-dev": {
|
||||
"irstea/phpunit-shim": "^7.5 || ^8.0",
|
||||
"phpstan/extension-installer": "^1.0",
|
||||
"phpstan/phpstan": "0.12.40",
|
||||
"phpstan/phpstan": "0.12.63",
|
||||
"phpstan/phpstan-strict-rules": "^0.12.4"
|
||||
},
|
||||
"type": "library",
|
||||
@ -629,7 +632,7 @@
|
||||
"issues": "https://github.com/pmmp/NBT/issues",
|
||||
"source": "https://github.com/pmmp/NBT/tree/master"
|
||||
},
|
||||
"time": "2020-08-28T21:02:57+00:00"
|
||||
"time": "2020-12-17T17:17:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pocketmine/raklib",
|
||||
@ -637,12 +640,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/pmmp/RakLib.git",
|
||||
"reference": "31e513ee53adf8e32cabad072a50f8572f6dfb12"
|
||||
"reference": "bd21d30af4f3b0d9a83e697922cd57dbefeb146f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/pmmp/RakLib/zipball/31e513ee53adf8e32cabad072a50f8572f6dfb12",
|
||||
"reference": "31e513ee53adf8e32cabad072a50f8572f6dfb12",
|
||||
"url": "https://api.github.com/repos/pmmp/RakLib/zipball/bd21d30af4f3b0d9a83e697922cd57dbefeb146f",
|
||||
"reference": "bd21d30af4f3b0d9a83e697922cd57dbefeb146f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -654,7 +657,7 @@
|
||||
"pocketmine/log": "dev-master"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpstan/phpstan": "0.12.59",
|
||||
"phpstan/phpstan": "0.12.63",
|
||||
"phpstan/phpstan-strict-rules": "^0.12.2"
|
||||
},
|
||||
"type": "library",
|
||||
@ -672,7 +675,7 @@
|
||||
"issues": "https://github.com/pmmp/RakLib/issues",
|
||||
"source": "https://github.com/pmmp/RakLib/tree/master"
|
||||
},
|
||||
"time": "2020-12-12T19:33:03+00:00"
|
||||
"time": "2020-12-17T17:49:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pocketmine/snooze",
|
||||
@ -1126,16 +1129,16 @@
|
||||
},
|
||||
{
|
||||
"name": "nikic/php-parser",
|
||||
"version": "v4.10.3",
|
||||
"version": "v4.10.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/nikic/PHP-Parser.git",
|
||||
"reference": "dbe56d23de8fcb157bbc0cfb3ad7c7de0cfb0984"
|
||||
"reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dbe56d23de8fcb157bbc0cfb3ad7c7de0cfb0984",
|
||||
"reference": "dbe56d23de8fcb157bbc0cfb3ad7c7de0cfb0984",
|
||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e",
|
||||
"reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1176,9 +1179,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/nikic/PHP-Parser/issues",
|
||||
"source": "https://github.com/nikic/PHP-Parser/tree/v4.10.3"
|
||||
"source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4"
|
||||
},
|
||||
"time": "2020-12-03T17:45:45+00:00"
|
||||
"time": "2020-12-20T10:01:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phar-io/manifest",
|
||||
@ -1242,16 +1245,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phar-io/version",
|
||||
"version": "3.0.3",
|
||||
"version": "3.0.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phar-io/version.git",
|
||||
"reference": "726c026815142e4f8677b7cb7f2249c9ffb7ecae"
|
||||
"reference": "e4782611070e50613683d2b9a57730e9a3ba5451"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phar-io/version/zipball/726c026815142e4f8677b7cb7f2249c9ffb7ecae",
|
||||
"reference": "726c026815142e4f8677b7cb7f2249c9ffb7ecae",
|
||||
"url": "https://api.github.com/repos/phar-io/version/zipball/e4782611070e50613683d2b9a57730e9a3ba5451",
|
||||
"reference": "e4782611070e50613683d2b9a57730e9a3ba5451",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1287,9 +1290,9 @@
|
||||
"description": "Library for handling version information and constraints",
|
||||
"support": {
|
||||
"issues": "https://github.com/phar-io/version/issues",
|
||||
"source": "https://github.com/phar-io/version/tree/3.0.3"
|
||||
"source": "https://github.com/phar-io/version/tree/3.0.4"
|
||||
},
|
||||
"time": "2020-11-30T09:21:21+00:00"
|
||||
"time": "2020-12-13T23:18:30+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/reflection-common",
|
||||
@ -1451,16 +1454,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpspec/prophecy",
|
||||
"version": "1.12.1",
|
||||
"version": "1.12.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpspec/prophecy.git",
|
||||
"reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d"
|
||||
"reference": "245710e971a030f42e08f4912863805570f23d39"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/8ce87516be71aae9b956f81906aaf0338e0d8a2d",
|
||||
"reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d",
|
||||
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/245710e971a030f42e08f4912863805570f23d39",
|
||||
"reference": "245710e971a030f42e08f4912863805570f23d39",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1472,7 +1475,7 @@
|
||||
},
|
||||
"require-dev": {
|
||||
"phpspec/phpspec": "^6.0",
|
||||
"phpunit/phpunit": "^8.0 || ^9.0 <9.3"
|
||||
"phpunit/phpunit": "^8.0 || ^9.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
@ -1512,22 +1515,22 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/phpspec/prophecy/issues",
|
||||
"source": "https://github.com/phpspec/prophecy/tree/1.12.1"
|
||||
"source": "https://github.com/phpspec/prophecy/tree/1.12.2"
|
||||
},
|
||||
"time": "2020-09-29T09:10:42+00:00"
|
||||
"time": "2020-12-19T10:15:11+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpstan",
|
||||
"version": "0.12.59",
|
||||
"version": "0.12.63",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpstan.git",
|
||||
"reference": "cf4107257c8ca2ad967efdd6a00f12b21acbb779"
|
||||
"reference": "c97ec4754bd53099a06c24847bd2870b99966b6a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/cf4107257c8ca2ad967efdd6a00f12b21acbb779",
|
||||
"reference": "cf4107257c8ca2ad967efdd6a00f12b21acbb779",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/c97ec4754bd53099a06c24847bd2870b99966b6a",
|
||||
"reference": "c97ec4754bd53099a06c24847bd2870b99966b6a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1558,7 +1561,7 @@
|
||||
"description": "PHPStan - PHP Static Analysis Tool",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpstan/issues",
|
||||
"source": "https://github.com/phpstan/phpstan/tree/0.12.59"
|
||||
"source": "https://github.com/phpstan/phpstan/tree/0.12.63"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -1574,39 +1577,34 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-12-07T14:46:03+00:00"
|
||||
"time": "2020-12-15T16:37:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpstan-phpunit",
|
||||
"version": "0.12.16",
|
||||
"version": "0.12.17",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpstan-phpunit.git",
|
||||
"reference": "1dd916d181b0539dea5cd37e91546afb8b107e17"
|
||||
"reference": "432575b41cf2d4f44e460234acaf56119ed97d36"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/1dd916d181b0539dea5cd37e91546afb8b107e17",
|
||||
"reference": "1dd916d181b0539dea5cd37e91546afb8b107e17",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/432575b41cf2d4f44e460234acaf56119ed97d36",
|
||||
"reference": "432575b41cf2d4f44e460234acaf56119ed97d36",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.1 || ^8.0",
|
||||
"phpstan/phpstan": "^0.12.33"
|
||||
"phpstan/phpstan": "^0.12.60"
|
||||
},
|
||||
"conflict": {
|
||||
"phpunit/phpunit": "<7.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"consistence/coding-standard": "^3.5",
|
||||
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
|
||||
"ergebnis/composer-normalize": "^2.0.2",
|
||||
"jakub-onderka/php-parallel-lint": "^1.0",
|
||||
"phing/phing": "^2.16.0",
|
||||
"phpstan/phpstan-strict-rules": "^0.12",
|
||||
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
|
||||
"satooshi/php-coveralls": "^1.0",
|
||||
"slevomat/coding-standard": "^4.7.2"
|
||||
"phing/phing": "^2.16.3",
|
||||
"php-parallel-lint/php-parallel-lint": "^1.2",
|
||||
"phpstan/phpstan-strict-rules": "^0.12.6",
|
||||
"phpunit/phpunit": "^7.5.20"
|
||||
},
|
||||
"type": "phpstan-extension",
|
||||
"extra": {
|
||||
@ -1632,37 +1630,33 @@
|
||||
"description": "PHPUnit extensions and rules for PHPStan",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpstan-phpunit/issues",
|
||||
"source": "https://github.com/phpstan/phpstan-phpunit/tree/0.12.16"
|
||||
"source": "https://github.com/phpstan/phpstan-phpunit/tree/0.12.17"
|
||||
},
|
||||
"time": "2020-08-05T13:28:50+00:00"
|
||||
"time": "2020-12-13T12:12:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpstan-strict-rules",
|
||||
"version": "0.12.5",
|
||||
"version": "0.12.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpstan-strict-rules.git",
|
||||
"reference": "334898a32217e4605e0f9cfa3d3fc3101bda26be"
|
||||
"reference": "03807e3410747ec18cd5f05a6342384adcc423bf"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/334898a32217e4605e0f9cfa3d3fc3101bda26be",
|
||||
"reference": "334898a32217e4605e0f9cfa3d3fc3101bda26be",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/03807e3410747ec18cd5f05a6342384adcc423bf",
|
||||
"reference": "03807e3410747ec18cd5f05a6342384adcc423bf",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.1 || ^8.0",
|
||||
"phpstan/phpstan": "^0.12.33"
|
||||
"phpstan/phpstan": "^0.12.60"
|
||||
},
|
||||
"require-dev": {
|
||||
"consistence/coding-standard": "^3.0.1",
|
||||
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
|
||||
"ergebnis/composer-normalize": "^2.0.2",
|
||||
"jakub-onderka/php-parallel-lint": "^1.0",
|
||||
"phing/phing": "^2.16.0",
|
||||
"phpstan/phpstan-phpunit": "^0.12",
|
||||
"phpunit/phpunit": "^7.0",
|
||||
"slevomat/coding-standard": "^4.5.2"
|
||||
"phing/phing": "^2.16.3",
|
||||
"php-parallel-lint/php-parallel-lint": "^1.2",
|
||||
"phpstan/phpstan-phpunit": "^0.12.16",
|
||||
"phpunit/phpunit": "^7.5.20"
|
||||
},
|
||||
"type": "phpstan-extension",
|
||||
"extra": {
|
||||
@ -1687,9 +1681,9 @@
|
||||
"description": "Extra strict and opinionated rules for PHPStan",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpstan-strict-rules/issues",
|
||||
"source": "https://github.com/phpstan/phpstan-strict-rules/tree/master"
|
||||
"source": "https://github.com/phpstan/phpstan-strict-rules/tree/0.12.7"
|
||||
},
|
||||
"time": "2020-08-30T15:42:06+00:00"
|
||||
"time": "2020-12-13T13:27:14+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
@ -3276,7 +3270,6 @@
|
||||
"platform": {
|
||||
"php": ">=7.3.0",
|
||||
"php-64bit": "*",
|
||||
"ext-bcmath": "*",
|
||||
"ext-chunkutils2": "^0.1.0",
|
||||
"ext-curl": "*",
|
||||
"ext-crypto": "^0.3.1",
|
||||
|
@ -28,6 +28,7 @@ use pocketmine\errorhandler\ErrorTypeToStringMap;
|
||||
use pocketmine\network\mcpe\protocol\ProtocolInfo;
|
||||
use pocketmine\plugin\PluginBase;
|
||||
use pocketmine\plugin\PluginManager;
|
||||
use pocketmine\utils\AssumptionFailedError;
|
||||
use pocketmine\utils\Filesystem;
|
||||
use pocketmine\utils\Utils;
|
||||
use function base64_encode;
|
||||
@ -149,7 +150,8 @@ class CrashDump{
|
||||
if($json === false){
|
||||
throw new \RuntimeException("Failed to encode crashdump JSON: " . json_last_error_msg());
|
||||
}
|
||||
$this->encodedData = zlib_encode($json, ZLIB_ENCODING_DEFLATE, 9);
|
||||
$zlibEncoded = zlib_encode($json, ZLIB_ENCODING_DEFLATE, 9);
|
||||
if($zlibEncoded === false) throw new AssumptionFailedError("ZLIB compression failed");
|
||||
foreach(str_split(base64_encode($this->encodedData), 76) as $line){
|
||||
$this->addLine($line);
|
||||
}
|
||||
|
@ -73,7 +73,6 @@ namespace pocketmine {
|
||||
}
|
||||
|
||||
$extensions = [
|
||||
"bcmath" => "BC Math",
|
||||
"chunkutils2" => "PocketMine ChunkUtils v2",
|
||||
"curl" => "cURL",
|
||||
"crypto" => "php-crypto",
|
||||
@ -254,7 +253,7 @@ namespace pocketmine {
|
||||
|
||||
if(ThreadManager::getInstance()->stopAll() > 0){
|
||||
$logger->debug("Some threads could not be stopped, performing a force-kill");
|
||||
Process::kill(getmypid());
|
||||
Process::kill(Process::pid());
|
||||
}
|
||||
}while(false);
|
||||
|
||||
|
@ -112,7 +112,6 @@ use function file_get_contents;
|
||||
use function file_put_contents;
|
||||
use function filemtime;
|
||||
use function get_class;
|
||||
use function getmypid;
|
||||
use function implode;
|
||||
use function ini_set;
|
||||
use function is_a;
|
||||
@ -1383,7 +1382,7 @@ class Server{
|
||||
}catch(\Throwable $e){
|
||||
$this->logger->logException($e);
|
||||
$this->logger->emergency("Crashed while crashing, killing process");
|
||||
@Process::kill(getmypid());
|
||||
@Process::kill(Process::pid());
|
||||
}
|
||||
|
||||
}
|
||||
@ -1516,7 +1515,7 @@ class Server{
|
||||
echo "--- Waiting $spacing seconds to throttle automatic restart (you can kill the process safely now) ---" . PHP_EOL;
|
||||
sleep($spacing);
|
||||
}
|
||||
@Process::kill(getmypid());
|
||||
@Process::kill(Process::pid());
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -132,8 +132,7 @@ class Furnace extends Spawnable implements Container, Nameable{
|
||||
}
|
||||
|
||||
if($this->remainingFuelTime > 0 and $ev->isBurning()){
|
||||
$fuel->pop();
|
||||
$this->inventory->setFuel($fuel);
|
||||
$this->inventory->setFuel($fuel->getFuelResidue());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -460,6 +460,16 @@ class Item implements \JsonSerializable{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an item after burning fuel
|
||||
*/
|
||||
public function getFuelResidue() : Item{
|
||||
$item = clone $this;
|
||||
$item->pop();
|
||||
|
||||
return $item;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns how many points of damage this item will deal to an entity when used as a weapon.
|
||||
*/
|
||||
|
@ -52,6 +52,10 @@ class LiquidBucket extends Item{
|
||||
return 0;
|
||||
}
|
||||
|
||||
public function getFuelResidue() : Item{
|
||||
return VanillaItems::BUCKET();
|
||||
}
|
||||
|
||||
public function onInteractBlock(Player $player, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector) : ItemUseResult{
|
||||
if(!$blockReplace->canBeReplaced()){
|
||||
return ItemUseResult::NONE();
|
||||
|
@ -23,6 +23,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace pocketmine\network\mcpe\compression;
|
||||
|
||||
use pocketmine\utils\AssumptionFailedError;
|
||||
use pocketmine\utils\SingletonTrait;
|
||||
use function function_exists;
|
||||
use function libdeflate_deflate_compress;
|
||||
@ -73,12 +74,18 @@ final class ZlibCompressor implements Compressor{
|
||||
return $result;
|
||||
}
|
||||
|
||||
private static function zlib_encode(string $data, int $level) : string{
|
||||
$result = zlib_encode($data, ZLIB_ENCODING_RAW, $level);
|
||||
if($result === false) throw new AssumptionFailedError("ZLIB compression failed");
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function compress(string $payload) : string{
|
||||
if(function_exists('libdeflate_deflate_compress')){
|
||||
return $this->willCompress($payload) ?
|
||||
libdeflate_deflate_compress($payload, $this->level) :
|
||||
zlib_encode($payload, ZLIB_ENCODING_RAW, 0);
|
||||
self::zlib_encode($payload, 0);
|
||||
}
|
||||
return zlib_encode($payload, ZLIB_ENCODING_RAW, $this->willCompress($payload) ? $this->level : 0);
|
||||
return self::zlib_encode($payload, $this->willCompress($payload) ? $this->level : 0);
|
||||
}
|
||||
}
|
||||
|
@ -87,7 +87,7 @@ trait EnumTrait{
|
||||
}
|
||||
$this->enumName = $enumName;
|
||||
if(self::$nextId === null){
|
||||
self::$nextId = getmypid(); //this provides enough base entropy to prevent hardcoding
|
||||
self::$nextId = Process::pid(); //this provides enough base entropy to prevent hardcoding
|
||||
}
|
||||
$this->runtimeId = self::$nextId++;
|
||||
}
|
||||
|
@ -30,6 +30,8 @@ use function fclose;
|
||||
use function file;
|
||||
use function file_get_contents;
|
||||
use function function_exists;
|
||||
use function getmypid;
|
||||
use function getmyuid;
|
||||
use function hexdec;
|
||||
use function memory_get_usage;
|
||||
use function posix_kill;
|
||||
@ -173,4 +175,20 @@ final class Process{
|
||||
|
||||
return proc_close($process);
|
||||
}
|
||||
|
||||
public static function pid() : int{
|
||||
$result = getmypid();
|
||||
if($result === false){
|
||||
throw new \LogicException("getmypid() doesn't work on this platform");
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
public static function uid() : int{
|
||||
$result = getmyuid();
|
||||
if($result === false){
|
||||
throw new \LogicException("getmyuid() doesn't work on this platform");
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
@ -24,7 +24,6 @@ declare(strict_types=1);
|
||||
namespace pocketmine\utils;
|
||||
|
||||
use pocketmine\thread\Thread;
|
||||
use function getmypid;
|
||||
use function time;
|
||||
|
||||
class ServerKiller extends Thread{
|
||||
@ -51,7 +50,7 @@ class ServerKiller extends Thread{
|
||||
});
|
||||
if(time() - $start >= $this->time){
|
||||
echo "\nTook too long to stop, server was killed forcefully!\n";
|
||||
@Process::kill(getmypid());
|
||||
@Process::kill(Process::pid());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -183,7 +183,14 @@ final class Utils{
|
||||
}
|
||||
|
||||
$machine = php_uname("a");
|
||||
$machine .= ($cpuinfo = @file("/proc/cpuinfo")) !== false ? implode(preg_grep("/(model name|Processor|Serial)/", $cpuinfo)) : "";
|
||||
$cpuinfo = @file("/proc/cpuinfo");
|
||||
if($cpuinfo !== false){
|
||||
$cpuinfoLines = preg_grep("/(model name|Processor|Serial)/", $cpuinfo);
|
||||
if($cpuinfoLines === false){
|
||||
throw new AssumptionFailedError("Pattern is valid, so this shouldn't fail ...");
|
||||
}
|
||||
$machine .= implode("", $cpuinfoLines);
|
||||
}
|
||||
$machine .= sys_get_temp_dir();
|
||||
$machine .= $extra;
|
||||
$os = Utils::getOS();
|
||||
|
@ -126,7 +126,9 @@ final class FastChunkSerializer{
|
||||
for($i = 0, $layerCount = $stream->getByte(); $i < $layerCount; ++$i){
|
||||
$bitsPerBlock = $stream->getByte();
|
||||
$words = $stream->get(PalettedBlockArray::getExpectedWordArraySize($bitsPerBlock));
|
||||
$palette = array_values(unpack("L*", $stream->get($stream->getInt())));
|
||||
/** @var int[] $unpackedPalette */
|
||||
$unpackedPalette = unpack("L*", $stream->get($stream->getInt())); //unpack() will never fail here
|
||||
$palette = array_values($unpackedPalette);
|
||||
|
||||
$layers[] = PalettedBlockArray::fromData($bitsPerBlock, $words, $palette);
|
||||
}
|
||||
@ -137,7 +139,9 @@ final class FastChunkSerializer{
|
||||
|
||||
$biomeIds = new BiomeArray($stream->get(256));
|
||||
if($lightPopulated){
|
||||
$heightMap = new HeightArray(array_values(unpack("S*", $stream->get(512))));
|
||||
/** @var int[] $unpackedHeightMap */
|
||||
$unpackedHeightMap = unpack("S*", $stream->get(512)); //unpack() will never fail here
|
||||
$heightMap = new HeightArray(array_values($unpackedHeightMap));
|
||||
}
|
||||
|
||||
$chunk = new Chunk($subChunks, null, null, $biomeIds, $heightMap);
|
||||
|
@ -365,7 +365,9 @@ class LevelDB extends BaseWorldProvider implements WritableWorldProvider{
|
||||
|
||||
try{
|
||||
$binaryStream->get(256); //heightmap, discard it
|
||||
$biomeArray = new BiomeArray(ChunkUtils::convertBiomeColors(array_values(unpack("N*", $binaryStream->get(1024))))); //never throws
|
||||
/** @var int[] $unpackedBiomeArray */
|
||||
$unpackedBiomeArray = unpack("N*", $binaryStream->get(1024)); //unpack() will never fail here
|
||||
$biomeArray = new BiomeArray(ChunkUtils::convertBiomeColors(array_values($unpackedBiomeArray))); //never throws
|
||||
}catch(BinaryDataException $e){
|
||||
throw new CorruptedChunkException($e->getMessage(), 0, $e);
|
||||
}
|
||||
|
54
tests/gh-actions/build.sh
Executable file
54
tests/gh-actions/build.sh
Executable file
@ -0,0 +1,54 @@
|
||||
VERSION=7.4.13
|
||||
sudo apt update && sudo apt install -y \
|
||||
re2c \
|
||||
libtool \
|
||||
libtool-bin \
|
||||
zlib1g-dev \
|
||||
libcurl4-openssl-dev \
|
||||
libxml2-dev \
|
||||
libyaml-dev \
|
||||
libgmp-dev \
|
||||
libzip-dev \
|
||||
libssl-dev
|
||||
|
||||
curl -sSL https://www.php.net/distributions/php-$VERSION.tar.gz | tar -xz
|
||||
|
||||
INSTALL_DIR="$(pwd)/bin/php7"
|
||||
cd php-$VERSION
|
||||
cd ext/
|
||||
curl -sSL https://github.com/pmmp/pthreads/archive/2bcd8b8c10395d58b8a9bc013e3a5328080c867f.tar.gz | tar -xz
|
||||
curl -sSL https://github.com/php/pecl-file_formats-yaml/archive/2.2.0.tar.gz | tar -xz
|
||||
cd ..
|
||||
|
||||
CFLAGS="$CFLAGS -march=x86-64"
|
||||
CXXFLAGS="$CXXFLAGS -march=x86-64"
|
||||
|
||||
./buildconf --force
|
||||
./configure \
|
||||
--prefix="$INSTALL_DIR" \
|
||||
--exec-prefix="$INSTALL_DIR" \
|
||||
--enable-maintainer-zts \
|
||||
--enable-cli \
|
||||
--disable-cgi \
|
||||
--disable-phpdbg \
|
||||
--disable-session \
|
||||
--without-pear \
|
||||
--without-sqlite3 \
|
||||
--disable-pdo \
|
||||
--enable-pthreads \
|
||||
--with-yaml \
|
||||
--with-libxml \
|
||||
--enable-xml \
|
||||
--enable-simplexml \
|
||||
--enable-xmlreader \
|
||||
--enable-xmlwriter \
|
||||
--enable-mbstring \
|
||||
--disable-mbregex \
|
||||
--enable-sockets \
|
||||
--with-curl \
|
||||
--with-zlib \
|
||||
--with-zip \
|
||||
--with-gmp \
|
||||
--with-openssl
|
||||
|
||||
make -j8 install
|
Loading…
x
Reference in New Issue
Block a user