Dylan K. Taylor
bbae02264d
Merge branch 'stable'
2021-01-27 20:04:13 +00:00
Dylan K. Taylor
f9e42b716a
Scrub PHPStan baselines
...
these are now always generated with level 8.
2021-01-24 20:31:22 +00:00
Dylan K. Taylor
34c1d455a7
phpstan: enable checkMissingCallableSignature
2021-01-24 20:27:53 +00:00
Dylan K. Taylor
a9f8afa077
Banner: remove Deque usages
...
originally I introduced this to make it easier to implement the various APIs addPattern removePattern etc, but those were later removed in favour of simple getPatterns() and setPatterns(), allowing plugin developers to use ext-ds APIs to manipulate patterns.
However, ds poses a number of headaches because of mutability combined with by-ref semantics, which make it a pain to use these on the APIs because we can't guarantee that they won't be modified.
As much as arrays suck, they have two significant advantages over ext-ds: 1) they have copy-on-write semantics, and 2) they support PHP 8.0 without any extra work from me.
2021-01-15 00:17:56 +00:00
Dylan K. Taylor
c4845ab6b1
Use Player->getNetworkSession() in places where it's assumed the player will be connected
2021-01-10 19:51:41 +00:00
Dylan K. Taylor
972c911485
phpstan 0.12.65
2021-01-09 18:04:42 +00:00
Dylan K. Taylor
5fa4e284bf
Merge branch 'stable'
2020-12-27 19:35:27 +00:00
Dylan K. Taylor
5920b0ba40
Remove _PHPSTAN_ANALYSIS constant
...
we don't need this anymore since PHPStan is able to intelligently decide whether to autoload a file or not.
2020-12-27 19:10:40 +00:00
Dylan K. Taylor
c5693598aa
BulkCurlTask constructor now accepts BulkCurlTaskOperation[] instead of shaped arrays
2020-12-20 22:18:03 +00:00
Dylan K. Taylor
3e0cf30285
fixed phpstan failures caused by 5282ae329834512a6ca497e8c4bdbcb73ec86db2
2020-12-11 23:00:14 +00:00
Dylan K. Taylor
d39348929f
Removed PLUGIN_PATH constant
2020-12-09 20:48:50 +00:00
Dylan K. Taylor
219cf2126b
RegionWorldProvider: make loadRegion() return RegionLoader, fix 3 PHPStan null-reference errors
2020-12-07 19:04:52 +00:00
Dylan K. Taylor
b2bab6c2fb
clean dead errors out of phpstan l8 baseline
2020-12-05 01:32:23 +00:00
Dylan K. Taylor
a5315991d5
Merge branch 'stable'
...
# Conflicts:
# resources/vanilla
# src/network/mcpe/protocol/serializer/PacketSerializer.php
# src/world/biome/Biome.php
# tests/phpstan/configs/l8-baseline.neon
2020-12-05 01:30:39 +00:00
Dylan K. Taylor
6869ee1c2d
Clean up nonsensical code in NetworkBinaryStream->getSlot()
2020-12-05 01:24:41 +00:00
Dylan K. Taylor
5f55cdfa76
Cleaned out dead error patterns from phpstan level 8 baseline
2020-12-03 22:44:03 +00:00
Dylan K. Taylor
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
Dylan K. Taylor
c808095978
Chunks no longer contain their own coordinates
2020-12-03 21:59:30 +00:00
Dylan K. Taylor
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
Dylan K. Taylor
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
Dylan T
6d8833ccd3
Removal of permission defaults (in favour of permission cascading) ( #3937 )
2020-12-01 17:13:54 +00:00
Dylan K. Taylor
d19db5d2e4
fix phpstan warnings
2020-11-21 01:16:04 +00:00
Aericio
b2765f32e9
Implemented Barrels, closes #3672
2020-11-16 17:26:07 +00:00
Dylan K. Taylor
b534ae050e
DisallowEnumComparisonRule: detect bugs involving union types (Enum|null compared to Enum|null)
2020-11-14 16:51:13 +00:00
Dylan K. Taylor
41a8007c47
phpstan: drop some error counts to account for recent Sugarcane changes
2020-11-12 22:26:04 +00:00
Dylan K. Taylor
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
Dylan K. Taylor
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
Dylan K. Taylor
8f36957c10
phpstan: drop some dead level 8 ignoreErrors
2020-11-10 22:46:30 +00:00
Dylan K. Taylor
21d37623f8
sync phpstan level 8 baseline with 75f2f12b998014e6fb13ae1a98697aa188c4d002
2020-11-10 22:46:15 +00:00
Dylan K. Taylor
c43f14a2d2
Updated phpstan checkExplicitMixed baseline to account for changes in 463bc044df382d2f6d8caa8414cffe7daa965d29
2020-11-10 14:06:13 +00:00
Dylan K. Taylor
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
Dylan K. Taylor
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
Dylan K. Taylor
b2299e08e0
phpstan 0.12.53
2020-11-03 15:00:56 +00:00
Dylan K. Taylor
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
Dylan K. Taylor
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
Dylan K. Taylor
fec42f16ba
Level: properly define type of generator field
2020-11-01 14:36:05 +00:00
Dylan K. Taylor
c312c8ddd6
fix build
2020-11-01 00:11:41 +00:00
Dylan K. Taylor
c39a1407a2
Move heightmap calculation logic to SkyLightUpdate
2020-10-31 23:34:04 +00:00
Dylan K. Taylor
05470d0621
phpstan: regenerate level 8 baseline (again)
2020-10-31 23:17:03 +00:00
Dylan K. Taylor
40f9cd16cb
phpstan: drop a bunch of obsolete ignoredErrors from l8 baseline
2020-10-31 22:52:00 +00:00
Dylan K. Taylor
d94877f5d2
fix build
2020-10-31 22:51:24 +00:00
Dylan K. Taylor
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
Dylan K. Taylor
f67ab094f2
fix build
2020-10-31 16:51:14 +00:00
Dylan K. Taylor
092a69e415
update phpstan baseline
2020-10-29 12:18:29 +00:00
Dylan K. Taylor
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
Dylan K. Taylor
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
Dylan K. Taylor
2d839db47e
fixed build failure
2020-10-17 16:05:38 +01:00
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