Dylan K. Taylor
0910054c41
NetworkSession: Fixed InventoryManager nullability disaster
...
fixes #4277
fixes #4275
fixes #3139
2021-06-26 17:44:42 +01:00
Dylan K. Taylor
e5dd5a5745
NetworkSession: Fixed missing nullable declarations
...
phpstan doesn't report these because .. reasons .. @ondrejmirtes this is causing bugs to go unfound :(
I'm aware of the irony that I just silenced the bugs that were exposed by this commit .. that's an architectural problem for another day
2021-06-13 22:24:12 +01:00
Dylan K. Taylor
80e4da85df
Fixed PHPStan build
2021-05-12 12:12:29 +01:00
Dylan K. Taylor
33eb97da97
Remove dead PHPStan pattern
2021-05-08 15:53:55 +01:00
Dylan K. Taylor
4e0bc6c98e
Scrub PHPStan baselines
2021-04-19 16:18:22 +01:00
Dylan K. Taylor
09a2402f01
Fixed precondition on double chunk send being useless
...
this is messy, but necessary for now.
2021-04-19 00:50:43 +01:00
Dylan K. Taylor
d19c21e2e1
Updated PHPStan baseline
2021-04-19 00:38:27 +01:00
Dylan K. Taylor
7578bca006
Merge tag '3.18.2'
2021-04-07 19:41:57 +01:00
Dylan K. Taylor
21378b7f27
Regenerate PHPStan baselines
...
this should be the last time we get baselines randomly rearranging themselves on changes ...
2021-04-03 22:36:15 +01:00
Ali
3b3fb5e662
fix ItemFrames ( #4101 )
...
removing items from item frames was broken due to behavioural changes in 1.16.210.
2021-03-28 18:53:46 +01:00
Dylan K. Taylor
9ee80357b0
phpstan baselines cleanup
2021-03-23 15:24:20 +00:00
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
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
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
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
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
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
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
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
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
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
0188323d74
fixed a bunch of NBT-related phpstan level 8 errors
2020-07-05 21:01:13 +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
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