5f55cdfa76
Cleaned out dead error patterns from phpstan level 8 baseline
2020-12-03 22:44:03 +00:00
b9cd633cee
Chunks no longer exist in un-generated state
...
a non-generated chunk is now always represented by NULL. This forces the case of ungenerated chunks to be handled by all code, which is necessary because ungenerated chunks cannot be interacted with or modified in any meaningful way.
2020-12-03 22:28:43 +00:00
c808095978
Chunks no longer contain their own coordinates
2020-12-03 21:59:30 +00:00
29f6ed3f68
Use Snooze to improve AsyncTask collection times
...
regardless of how long an async task takes to run, it will take a multiple of 50ms to get the result processed. This delay causes issues in some cases for stuff like generation, which causes locking of adjacent chunks, and async packet compression, which experiences elevated latency because of this problem.
This is not an ideal solution for packet compression since it will cause the sleeper handler to get hammered, but since it's already getting hammered by every packet from RakLib, I don't think that's a big problem.
2020-12-02 19:34:34 +00:00
8fb74258f4
Implemented a better method for detecting permission recalculation
...
this allows anyone to listen to permissions being recalculated, which is useful for stuff like broadcast channel subscriptions.
2020-12-01 18:23:42 +00:00
6d8833ccd3
Removal of permission defaults (in favour of permission cascading) ( #3937 )
2020-12-01 17:13:54 +00:00
b2765f32e9
Implemented Barrels, closes #3672
2020-11-16 17:26:07 +00:00
41a8007c47
phpstan: drop some error counts to account for recent Sugarcane changes
2020-11-12 22:26:04 +00:00
8e0cba56b8
Merge remote-tracking branch 'origin/stable'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/entity/Entity.php
# src/pocketmine/tile/Tile.php
# tests/phpstan/configs/check-explicit-mixed-baseline.neon
# tests/phpstan/configs/l7-baseline.neon
2020-11-12 22:10:47 +00:00
e30b1ee2c7
Clean up entity and tile saveID handling
...
we only ever need the first entry, so there's no point storing all of them. In addition, the field is private, which guarantees that nothing else needs the array either.
This also fixes phpstan/phpstan@c50650c5dd .
2020-11-12 21:49:12 +00:00
8f36957c10
phpstan: drop some dead level 8 ignoreErrors
2020-11-10 22:46:30 +00:00
21d37623f8
sync phpstan level 8 baseline with 75f2f12b99
2020-11-10 22:46:15 +00:00
c43f14a2d2
Updated phpstan checkExplicitMixed baseline to account for changes in 463bc044df
2020-11-10 14:06:13 +00:00
beb6a50883
Merge remote-tracking branch 'origin/stable'
...
# Conflicts:
# composer.lock
# resources/vanilla
# src/pocketmine/Player.php
# tests/phpstan/configs/runtime-type-checks.neon
2020-11-06 13:18:49 +00:00
e6348bbd34
Entity: do not assume that save IDs are always strings
...
this is only the first of many changes needed to make entity savedata fully format-agnostic, but it's a start.
2020-11-06 13:05:17 +00:00
b2299e08e0
phpstan 0.12.53
2020-11-03 15:00:56 +00:00
1d551af54a
Merge remote-tracking branch 'origin/stable'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/level/Level.php
# src/pocketmine/level/format/Chunk.php
# tests/phpstan/configs/l7-baseline.neon
2020-11-01 15:58:16 +00:00
11434f3a27
World::setBiomeId() now bails when trying to modify a non-generated chunk (or chunk locked for generation)
2020-11-01 15:00:48 +00:00
fec42f16ba
Level: properly define type of generator field
2020-11-01 14:36:05 +00:00
c312c8ddd6
fix build
2020-11-01 00:11:41 +00:00
c39a1407a2
Move heightmap calculation logic to SkyLightUpdate
2020-10-31 23:34:04 +00:00
05470d0621
phpstan: regenerate level 8 baseline (again)
2020-10-31 23:17:03 +00:00
40f9cd16cb
phpstan: drop a bunch of obsolete ignoredErrors from l8 baseline
2020-10-31 22:52:00 +00:00
d94877f5d2
fix build
2020-10-31 22:51:24 +00:00
f0d62cf4ce
World: don't try to load chunks to read light levels
...
sync chunk load is useless here because lighting isn't immediately calculated anyway and it isn't available directly from the chunk when loaded.
2020-10-31 20:38:15 +00:00
f67ab094f2
fix build
2020-10-31 16:51:14 +00:00
092a69e415
update phpstan baseline
2020-10-29 12:18:29 +00:00
d6ed542fcd
Merge remote-tracking branch 'origin/stable' into master
...
# Conflicts:
# composer.json
# composer.lock
# src/CrashDump.php
# src/pocketmine/Server.php
# src/pocketmine/level/format/io/region/McRegion.php
# tests/phpstan/configs/check-explicit-mixed-baseline.neon
# tests/phpstan/configs/l7-baseline.neon
# tests/phpstan/configs/l8-baseline.neon
# tests/travis/setup-php.yml
2020-10-26 16:18:53 +00:00
1424114cf2
Clean phpstan baselines
...
some of these are dead, others are FPs fixed by newer PHPStan versions.
2020-10-24 17:22:49 +01:00
2d839db47e
fixed build failure
2020-10-17 16:05:38 +01:00
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
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
15cd354b98
fixed phpstan run again
2020-10-08 21:58:22 +01:00
cc3947058a
updated phpstan baseline
2020-10-06 18:11:13 +01:00
6fb45de405
fixed phpstan baseline
2020-10-04 19:12:04 +01:00
03de2bcc67
Chunk: simplify heightmap calculation
2020-09-08 23:03:52 +01:00
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
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
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
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
c6e0753c3e
clean up phpstan baselines
2020-09-02 15:04:37 +01:00
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
b7578fef9c
Fixup TesterPlugin to PHPStan standards
2020-08-28 21:17:21 +01:00
35e8fd01ff
phpstan: drop some obsolete level 8 baseline errors
2020-08-03 20:22:09 +01:00
abbc2b9494
phpstan: drop obsolete explict mixed ignoreError pattern
...
this got lost in merge resolution
2020-08-03 20:19:27 +01:00
46c224da86
phpstan: remove an obsolete ignored error pattern from explicit-mixed baseline
2020-08-03 19:54:53 +01:00
f4efaff73e
phpstan: drop some obsolete baselined error patterns
2020-07-25 19:21:45 +01:00
2c29634d03
Remove VERSION and GIT_COMMIT constants
...
these are now lazily computed in VersionInfo as needed.
2020-07-25 19:17:33 +01:00
0188323d74
fixed a bunch of NBT-related phpstan level 8 errors
2020-07-05 21:01:13 +01:00
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