Dylan K. Taylor
44e446b621
Merge remote-tracking branch 'origin/stable' into master
...
# Conflicts:
# build/php
# composer.lock
# phpstan.neon.dist
# resources/vanilla
# src/pocketmine/Server.php
# src/pocketmine/VersionInfo.php
# src/pocketmine/entity/Entity.php
# src/pocketmine/lang/locale
# src/utils/Timezone.php
# tests/phpstan/bootstrap.php
# tests/phpstan/configs/custom-leveldb.neon
2020-10-13 17:51:49 +01:00
Dylan K. Taylor
03837c1b71
ZlibCompressor: use libdeflate if available
...
I may make libdeflate mandatory later on, but right now we haven't been able to ship it on all platforms yet.
2020-10-13 17:30:27 +01:00
Dylan K. Taylor
8564912149
phpstan: define LEVELDB_ZLIB_RAW_COMPRESSION if it doesn't exist (for phpstan)
...
this improves the analysis quality by informing phpstan of the type of whatever should be there.
2020-10-11 23:01:21 +01:00
Dylan K. Taylor
15cd354b98
fixed phpstan run again
2020-10-08 21:58:22 +01:00
Dylan K. Taylor
cc3947058a
updated phpstan baseline
2020-10-06 18:11:13 +01:00
Dylan K. Taylor
6fb45de405
fixed phpstan baseline
2020-10-04 19:12:04 +01:00
Dylan K. Taylor
03de2bcc67
Chunk: simplify heightmap calculation
2020-09-08 23:03:52 +01:00
Dylan K. Taylor
c7070788f9
Rename and repurpose Block->diffusesSkyLight to blocksDirectSkyLight
...
this new form allows skipping some useless checks during sky light calculation and also allows getting rid of the last hard dependency on core Block classes.
We're getting real close to native light now.
2020-09-08 22:40:05 +01:00
Dylan K. Taylor
ec6ac59b9c
BlockLightUpdate: actually use lightEmitters
...
I accidentally added this during a separation of my local changes, but it's useful anyway, so we should use it.
This removes BlockLightUpdate's implicit dependency on Block, which is a
step towards native light.
2020-09-08 18:21:03 +01:00
Dylan K. Taylor
01f8116cdd
Fix some of the implicit immutability issues of EmptySubChunk
...
it's useful to have an immutable stub around for the sake of feeding back dummy read values, but for write values it has to barf instead of being quiet.
There's still some issues with LightArray which I don't currently have a solution for, but I'm thinking about separating light storage from chunks anyway.
2020-09-07 14:43:26 +01:00
Dylan K. Taylor
0aee39027e
Merge branch 'stable' into master
...
# Conflicts:
# composer.lock
# resources/vanilla
# src/entity/Living.php
# src/pocketmine/Player.php
# src/pocketmine/VersionInfo.php
# src/pocketmine/block/Potato.php
# src/pocketmine/block/Sugarcane.php
# src/pocketmine/entity/Entity.php
# src/pocketmine/item/Item.php
# src/pocketmine/level/format/Chunk.php
# src/pocketmine/level/format/io/leveldb/LevelDB.php
# src/world/generator/GeneratorRegisterTask.php
# tests/phpstan/configs/check-explicit-mixed-baseline.neon
# tests/phpstan/configs/l7-baseline.neon
# tests/phpstan/configs/l8-baseline.neon
# tests/plugins/TesterPlugin/src/pmmp/TesterPlugin/tests/AsyncTaskMainLoggerTest.php
# tests/plugins/TesterPlugin/src/pmmp/TesterPlugin/tests/AsyncTaskMemoryLeakTest.php
# tests/plugins/TesterPlugin/src/pmmp/TesterPlugin/tests/AsyncTaskPublishProgressRaceTest.php
2020-09-04 01:43:52 +01:00
Dylan K. Taylor
c6e0753c3e
clean up phpstan baselines
2020-09-02 15:04:37 +01:00
Dylan K. Taylor
81c1613e5d
StupidJsonDecodeTest: added a callable prototype
...
for some reason this causes a new error to be reported which previously didn't show. I have no idea why.
2020-08-31 13:45:46 +01:00
Dylan K. Taylor
b7578fef9c
Fixup TesterPlugin to PHPStan standards
2020-08-28 21:17:21 +01:00
Dylan K. Taylor
35e8fd01ff
phpstan: drop some obsolete level 8 baseline errors
2020-08-03 20:22:09 +01:00
Dylan K. Taylor
abbc2b9494
phpstan: drop obsolete explict mixed ignoreError pattern
...
this got lost in merge resolution
2020-08-03 20:19:27 +01:00
Dylan K. Taylor
46c224da86
phpstan: remove an obsolete ignored error pattern from explicit-mixed baseline
2020-08-03 19:54:53 +01:00
Dylan K. Taylor
f4efaff73e
phpstan: drop some obsolete baselined error patterns
2020-07-25 19:21:45 +01:00
Dylan K. Taylor
2c29634d03
Remove VERSION and GIT_COMMIT constants
...
these are now lazily computed in VersionInfo as needed.
2020-07-25 19:17:33 +01:00
Dylan K. Taylor
0188323d74
fixed a bunch of NBT-related phpstan level 8 errors
2020-07-05 21:01:13 +01:00
Dylan K. Taylor
d840e8c4d4
Merge commit 'a34f3261c'
...
# Conflicts:
# resources/vanilla
# src/event/entity/EntityExplodeEvent.php
# src/pocketmine/event/block/SignChangeEvent.php
# src/utils/Utils.php
2020-07-04 22:39:40 +01:00
Dylan K. Taylor
a34f3261cb
event: harden APIs that accept arrays
...
plugin devs can't be relied on to pass the proper types to these APIs, and when the wrong types get passed it makes type errors appear from inside the internals.
2020-07-04 21:55:23 +01:00
Dylan K. Taylor
c0af05fcad
phpstan: clean some errors from level 8 baseline
2020-06-29 22:42:46 +01:00
Dylan K. Taylor
cbfdfe87cf
phpstan: drop some obsolete bootstrap constants
2020-06-28 19:40:10 +01:00
Dylan K. Taylor
5a56f68991
Normal: make gaussian non-static
...
this allows each generator to (potentially) have a different gaussian curve for biome blending, as well as fixing a few phpstan level 7 errors.
2020-06-28 19:08:18 +01:00
Dylan K. Taylor
db8e094d11
Extract a Gaussian unit from Normal generator
2020-06-28 18:45:52 +01:00
Dylan T
d585081c22
Separate consumable item interfaces from general consumable interfaces ( #3595 )
...
I wonder if there's a way to generalise item consuming beyond just eating/drinking. Stuff like lava bucket in a furnace needs the same kind of "leftover" logic.
2020-06-28 17:53:03 +01:00
Dylan K. Taylor
c040248dbd
Item: use static-analysis-friendly method for retrieving custom block data
...
fixes 2 phpstan level 8 errors
2020-06-27 13:46:04 +01:00
Dylan K. Taylor
0000783926
Item: make nbt field non-nullable
2020-06-27 13:34:08 +01:00
Dylan K. Taylor
7e331c590d
Use static-analysis-friendly method for getting effects from EffectManager
...
fixes 5 phpstan level 8 errors
2020-06-27 13:09:05 +01:00
Dylan K. Taylor
9e6f1c9a5a
Living: check if damager is null before trying to use it
2020-06-27 13:09:05 +01:00
Dylan K. Taylor
b7b5ea6fc9
Painting: use motive directly internally
...
this is cleaner and also fixes a phpstan level 8 error
2020-06-27 13:09:05 +01:00
Dylan K. Taylor
3c1b8b83f5
HungerManager: use AttributeMap->mustGet()
...
fixes 2 errors on phpstan level 8
2020-06-27 13:09:05 +01:00
Dylan K. Taylor
7e391a8123
Tile: use phpstan-friendly way to pass block NBT
...
fixes 1 level 8 error
2020-06-27 13:09:05 +01:00
Dylan K. Taylor
9484220bd5
ContainerTrait: use a static-analysis-friendly way to read NBT, fixes 4 phpstan level 8 errors
2020-06-27 13:09:05 +01:00
Dylan K. Taylor
f039a077cd
ItemFrame: fixed a phpstan level 8 error
2020-06-27 13:09:05 +01:00
Dylan K. Taylor
7e6adc41f0
Merge 1.16 support into PM4 (with changes)
2020-06-26 22:21:09 +01:00
Dylan K. Taylor
d52ae120d4
Merge commit 'd343187e58e02c37903a0a93fb22ad9e9cbcdea6'
...
# Conflicts:
# resources/vanilla
# tests/phpstan/configs/l8-baseline.neon
2020-06-26 19:06:46 +01:00
Dylan K. Taylor
b8bbfdb181
Merge commit 'c572e9bb6a787d0573e7999b38f4651fc48cec58'
...
# Conflicts:
# resources/vanilla
# tests/phpstan/configs/l7-baseline.neon
2020-06-26 18:43:43 +01:00
Dylan K. Taylor
e990c5a0a5
Protocol changes for 1.16.0
2020-06-26 14:06:41 +01:00
Dylan K. Taylor
d8a8f5b77a
phpstan: ignore a new error caused by 52fd1a8c1d86b54d53cceb99ec07892130ca136b
2020-06-26 13:54:30 +01:00
Matt
df76c02e7a
Explicitly release server.lock file when shutdown the server. ( #3619 )
...
Previously, this relied on PHP itself to release locks during the resource destructor phase during process exit, but sometimes it doesn't for god knows what reason. This change makes the lock file get explicitly released before the process dies.
2020-06-26 11:41:39 +01:00
Dylan K. Taylor
d343187e58
phpstan: drop 2 obsolete level 8 error patterns fixed by 763c8ebfe3bb8a597768d86040fee130c8fc7ab8
2020-06-23 12:57:25 +01:00
Dylan K. Taylor
c5ad127854
BaseInventory: mark eventProcessor as nullable, fixes a phpstan level 8 error
2020-06-23 12:55:06 +01:00
Dylan K. Taylor
097fc7e6cb
phpstan: clean out some more dead error patterns
2020-06-22 19:59:57 +01:00
Dylan K. Taylor
5c3d39f4e2
phpstan: clean out some level 8 error patterns that no longer apply
2020-06-22 19:56:00 +01:00
Dylan K. Taylor
c572e9bb6a
phpstan: regenerate l7 baseline
2020-06-21 18:58:41 +01:00
Dylan K. Taylor
1f90aa07aa
Merge branch 'stable'
...
# Conflicts:
# resources/vanilla
# src/command/defaults/TeleportCommand.php
# src/pocketmine/event/entity/EntityDespawnEvent.php
# src/pocketmine/event/entity/EntityInventoryChangeEvent.php
# src/pocketmine/event/entity/EntityLevelChangeEvent.php
# src/pocketmine/event/entity/EntitySpawnEvent.php
# tests/phpstan/configs/actual-problems.neon
2020-06-21 00:30:45 +01:00
Dylan K. Taylor
49d3a42120
phpstan: make EntityEvent generic, fix a bunch of 'actual-problems' ignored errors
2020-06-21 00:27:32 +01:00
Dylan K. Taylor
c523595e85
Rewrite TeleportCommand (sadly I can't make this commit any smaller)
...
this pile of shit was overdue a rewrite. The new version is much easier to understand.
2020-06-21 00:04:18 +01:00