mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-04-21 08:17:34 +00:00
Merge branch 'stable'
# Conflicts: # .travis.yml # resources/vanilla # src/block/BlockToolType.php # src/network/mcpe/protocol/types/entity/MetadataProperty.php # tests/travis/setup-php.yml
This commit is contained in:
commit
2af15557b9
59
.github/workflows/main.yml
vendored
Normal file
59
.github/workflows/main.yml
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||
jobs:
|
||||
# This workflow contains a single job called "build"
|
||||
build:
|
||||
# The type of runner that the job will run on
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Restore PHP build cache
|
||||
id: php-build-cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: "./bin"
|
||||
key: "php-build-generic-${{ hashFiles('./build/php/compile.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
|
||||
|
||||
- name: Prefix PHP to PATH
|
||||
run: echo "$(pwd)/bin/php7/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Install Composer
|
||||
run: curl -sS https://getcomposer.org/installer | php
|
||||
|
||||
- name: Restore Composer package cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/.composer/cache/files
|
||||
~/.composer/cache/vcs
|
||||
key: composer-cache
|
||||
|
||||
- name: Install Composer dependencies
|
||||
run: php composer.phar install --prefer-dist --no-interaction
|
||||
|
||||
- name: Run PHPStan
|
||||
run: ./vendor/bin/phpstan analyze --no-progress --memory-limit=2G
|
||||
|
||||
- name: Run PHPUnit tests
|
||||
run: ./vendor/bin/phpunit --bootstrap vendor/autoload.php --fail-on-warning tests/phpunit
|
||||
|
||||
- name: Run integration tests
|
||||
run: ./tests/travis.sh -t4
|
20
.travis.yml
20
.travis.yml
@ -1,20 +0,0 @@
|
||||
import:
|
||||
source: ./tests/travis/setup-php.yml
|
||||
|
||||
script:
|
||||
- composer install --prefer-dist
|
||||
- ./vendor/bin/phpstan analyze --no-progress --memory-limit=2G
|
||||
- ./vendor/bin/phpunit --bootstrap vendor/autoload.php --fail-on-warning tests/phpunit
|
||||
- composer install --no-dev --prefer-dist
|
||||
- ./tests/travis.sh -t4
|
||||
|
||||
cache:
|
||||
- $HOME/.composer/cache/files
|
||||
- $HOME/.composer/cache/vcs
|
||||
|
||||
notifications:
|
||||
email:
|
||||
recipients:
|
||||
- team@pmmp.io
|
||||
on_success: change
|
||||
on_failure: always
|
@ -39,5 +39,6 @@ final class BlockToolType{
|
||||
public const PICKAXE = 1 << 2;
|
||||
public const AXE = 1 << 3;
|
||||
public const SHEARS = 1 << 4;
|
||||
public const HOE = 1 << 5;
|
||||
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ class Sponge extends Opaque{
|
||||
protected $wet = false;
|
||||
|
||||
public function __construct(BlockIdentifier $idInfo, string $name, ?BlockBreakInfo $breakInfo = null){
|
||||
parent::__construct($idInfo, $name, $breakInfo ?? new BlockBreakInfo(0.6));
|
||||
parent::__construct($idInfo, $name, $breakInfo ?? new BlockBreakInfo(0.6, BlockToolType::HOE));
|
||||
}
|
||||
|
||||
protected function writeStateToMeta() : int{
|
||||
|
@ -23,11 +23,24 @@ declare(strict_types=1);
|
||||
|
||||
namespace pocketmine\item;
|
||||
|
||||
use pocketmine\block\Block;
|
||||
use pocketmine\block\BlockToolType;
|
||||
use pocketmine\entity\Entity;
|
||||
|
||||
class Hoe extends TieredTool{
|
||||
|
||||
public function getBlockToolType() : int{
|
||||
return BlockToolType::HOE;
|
||||
}
|
||||
|
||||
public function onAttackEntity(Entity $victim) : bool{
|
||||
return $this->applyDamage(1);
|
||||
}
|
||||
|
||||
public function onDestroyBlock(Block $block) : bool{
|
||||
if(!$block->getBreakInfo()->breaksInstantly()){
|
||||
return $this->applyDamage(1);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -1,79 +0,0 @@
|
||||
dist: xenial
|
||||
language: php
|
||||
php:
|
||||
- 7.3
|
||||
- 7.4
|
||||
|
||||
before_script:
|
||||
- phpenv config-rm xdebug.ini
|
||||
- |
|
||||
set -e
|
||||
|
||||
LEVELDB_VERSION="f520e1d607759b00e335e332469c9c1b13e05f41"
|
||||
if [ ! -f "./leveldb-mcpe/built_version" ] || [ $(cat "./leveldb-mcpe/built_version") != "$LEVELDB_VERSION" ]; then
|
||||
echo "Building new LevelDB"
|
||||
rm -rf "./leveldb-mcpe" || true
|
||||
mkdir "./leveldb-mcpe"
|
||||
|
||||
curl -fsSL "https://github.com/pmmp/leveldb/archive/$LEVELDB_VERSION.tar.gz" | tar -zx
|
||||
mv "./leveldb-$LEVELDB_VERSION" leveldb-mcpe-build
|
||||
DIR=$(pwd)/leveldb-mcpe
|
||||
cd leveldb-mcpe-build
|
||||
CFLAGS="-fPIC" CXXFLAGS="-fPIC" cmake . \
|
||||
-DCMAKE_INSTALL_PREFIX="$DIR" \
|
||||
-DCMAKE_PREFIX_PATH="$DIR" \
|
||||
-DCMAKE_INSTALL_LIBDIR=lib \
|
||||
-DLEVELDB_BUILD_TESTS=OFF \
|
||||
-DLEVELDB_BUILD_BENCHMARKS=OFF \
|
||||
-DLEVELDB_SNAPPY=OFF \
|
||||
-DLEVELDB_ZSTD=OFF \
|
||||
-DLEVELDB_TCMALLOC=OFF \
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
make -j4 install
|
||||
|
||||
echo "$LEVELDB_VERSION" > "./built_version"
|
||||
cd ..
|
||||
else
|
||||
echo "Using cached build for LevelDB version $LEVELDB_VERSION"
|
||||
fi
|
||||
|
||||
- git clone https://github.com/pmmp/php-leveldb.git leveldb
|
||||
- cd leveldb
|
||||
- git checkout bed651cf74e83139d97ebbcacc749fa7752b7782
|
||||
- phpize
|
||||
- ./configure --with-leveldb=../leveldb-mcpe && make && make install
|
||||
- cd ..
|
||||
- git clone https://github.com/pmmp/ext-chunkutils2.git chunkutils
|
||||
- cd chunkutils
|
||||
- git checkout -f d8d762a597ac0da6f333f862096d6af0e6286b75
|
||||
- phpize
|
||||
- ./configure && make && make install
|
||||
- cd ..
|
||||
# - pecl install channel://pecl.php.net/pthreads-3.1.6
|
||||
- echo | pecl install channel://pecl.php.net/yaml-2.1.0
|
||||
- pecl install channel://pecl.php.net/crypto-0.3.1
|
||||
- pecl install channel://pecl.php.net/ds-1.2.9
|
||||
- pecl install channel://pecl.php.net/igbinary-3.1.2
|
||||
- git clone https://github.com/pmmp/pthreads.git
|
||||
- cd pthreads
|
||||
- git checkout b81ab29df58fa0fb239a9d5ca1c2380a0d087feb
|
||||
- phpize
|
||||
- ./configure
|
||||
- make
|
||||
- make install
|
||||
- cd ..
|
||||
- |
|
||||
git clone https://github.com/pmmp/ext-morton.git -b 0.1.0 --depth=1
|
||||
cd ext-morton
|
||||
phpize
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
cd ..
|
||||
- echo "extension=pthreads.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||
- echo "extension=chunkutils2.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||
- echo "extension=leveldb.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||
- echo "extension=morton.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||
- composer self-update --2
|
||||
cache:
|
||||
- leveldb-mcpe
|
Loading…
x
Reference in New Issue
Block a user