202 Commits

Author SHA1 Message Date
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
Dylan K. Taylor
0784bfa2fb phpstan: drop another pattern that was fixed by recent changes 2020-06-20 11:30:14 +01:00
Dylan K. Taylor
032dc57090 phpstan recognizes the existence of parallel\bootstrap now 2020-06-20 11:29:45 +01:00
Dylan K. Taylor
6be56de3ed clean some newly fixed errors from phpstan baselines 2020-06-20 11:24:39 +01:00
Dylan K. Taylor
d5db163208 protocol: added proper object wrappers for gamerules 2020-06-20 11:24:39 +01:00
Dylan K. Taylor
6a26c0bebf EntityFactory now exclusively handles loading data from disk
this commit removes the ability to replace centrally registered entity classes in favour of using constructors directly.
In future commits I may introduce a dedicated factory interface which allows an _actual_ factory pattern (e.g. factory->createArrow(world, pos, shooter, isCritical) with proper static analysability) but for now it's peripheral to my intended objective.
The purpose of this change is to facilitate untangling of NBT from entity constructors so that they can be properly created without using NBT at all, and instead use nice APIs.

Spawn eggs now support arbitrary entity creation functions like EntityFactory does, allowing much more flexibility in what can be passed to an entity's constructor (e.g. a Plugin reference can be injected by use()ing it in a closure or via traditional DI.
2020-06-19 10:51:27 +01:00
Dylan K. Taylor
72a7fc68c1 First look at making entity creation closure-driven
this allows doing stuff like injecting plugin references to entity constructors for now. I want to make this more flexible still, but I've done about as much as I feel like doing today and don't want this disappearing into a stash to never be seen again.
2020-06-19 10:51:27 +01:00
Dylan K. Taylor
3bdd9ee860 phpstan: drop a bunch of error patterns that don't appear on 0.12.29+ 2020-06-19 10:49:21 +01:00
Dylan K. Taylor
64e9647334 Merge branch 'stable'
# Conflicts:
#	resources/vanilla
#	src/network/mcpe/convert/LegacySkinAdapter.php
#	tests/phpstan/configs/check-explicit-mixed-baseline.neon
#	tests/phpstan/configs/phpstan-bugs.neon
2020-06-19 10:48:27 +01:00
Dylan K. Taylor
e32180ce93 phpstan: drop an obsolete phpstan-bugs ignoreError 2020-06-19 10:41:41 +01:00
Dylan K. Taylor
e105578be0 LegacySkinAdapter: an extra check for resourcePatch (fixes 3 phpstan explicitMixed errors) 2020-06-18 20:08:38 +01:00
Dylan K. Taylor
98f0447912 AutoUpdater: use JsonMapper to handle API response information 2020-06-18 19:03:11 +01:00
Dylan K. Taylor
2687e63645 Merge branch 'stable'
# Conflicts:
#	resources/vanilla
#	src/pocketmine/block/Cake.php
2020-06-18 18:10:27 +01:00
Dylan K. Taylor
a9d98bdf73 phpstan: baseline our way into checkExplicitMixed territory 2020-06-18 18:07:21 +01:00
Dylan K. Taylor
d931a5bcc0 phpstan: drop an obsolete level 7 ignoreErrors pattern 2020-06-18 11:51:07 +01:00
Dylan K. Taylor
95114dcc1e EncryptionContext: fixed a phpstan level 7 error (openssl_digest() might return false for god knows what reason) 2020-06-18 11:50:43 +01:00
Dylan K. Taylor
333ed8ed2f RuntimeBlockMapping: remove unnecessary nullable flag 2020-06-17 21:32:51 +01:00
Dylan K. Taylor
715fca8986 LoginPacketHandler: use playerInfo directly again, fix another 2 PHPStan level 8 errors 2020-06-17 21:30:34 +01:00
Dylan K. Taylor
eefb6ae8e7 LoginPacketHandler: use reference to new PlayerInfo directly, fixes a PHPStan level 8 error 2020-06-17 21:29:16 +01:00
Dylan K. Taylor
7558f2cb12 regenerated phpstan level 8 baseline 2020-06-17 21:27:51 +01:00
Dylan K. Taylor
7c79a28fdb Merge commit '2712befa82dc92fe26d2b913a47200ad84927799'
# Conflicts:
#	resources/vanilla
#	tests/phpstan/configs/l8-baseline.neon
2020-06-17 20:49:46 +01:00
Dylan K. Taylor
8d537eaae8 Merge commit '23b97d8e2dca50cca77061c1080911ab610fa708'
# Conflicts:
#	resources/vanilla
#	tests/phpstan/configs/l8-baseline.neon
2020-06-17 20:47:51 +01:00
Dylan K. Taylor
f1fd8a13e9 Merge commit '1fb5043eb1b495e6926caecf3fb493837724c770'
# Conflicts:
#	resources/vanilla
#	tests/phpstan/configs/l8-baseline.neon
2020-06-17 20:46:18 +01:00
Dylan K. Taylor
d2130265f8 Merge commit '8dcc88712c6b8a4d4a0c6be2f6b908ae85378209'
# Conflicts:
#	resources/vanilla
#	src/pocketmine/level/format/io/ChunkUtils.php
#	tests/phpstan/configs/l7-baseline.neon
2020-06-17 20:42:28 +01:00
Dylan K. Taylor
921aa091e0 Merge commit '04191ec44a00dd058f5d7e9e315d451e44285494'
# Conflicts:
#	resources/vanilla
#	tests/phpstan/configs/l7-baseline.neon
2020-06-17 20:40:12 +01:00
Dylan K. Taylor
6c096c44aa Rename NetworkBinaryStream -> PacketSerializer 2020-06-17 11:31:13 +01:00
Dylan K. Taylor
130c55d9f1 EntityLink: remove rogue default ctor parameters 2020-06-15 23:58:11 +01:00
Dylan K. Taylor
2712befa82 SkinData: fixed capeImage type violation (doesn't accept null) 2020-06-15 23:51:48 +01:00
Dylan K. Taylor
23b97d8e2d TextFormat: wrap all preg_replace() usages in a type-safe exception-throwing version
fixes 3 phpstan level 8 errors
2020-06-15 23:31:46 +01:00
Dylan K. Taylor
1fb5043eb1 build/server-phar: fixed a phpstan level 8 error 2020-06-15 23:16:40 +01:00
Dylan K. Taylor
b0b1b29de4 Chunk: specify list<int> for heightMap 2020-06-15 23:07:35 +01:00
Dylan K. Taylor
1c3b641e37 ChunkUtils: be more specific in extension stub too 2020-06-15 23:07:05 +01:00
Dylan K. Taylor
8dcc88712c ChunkUtils: fixed phpstan level 7 type inference error 2020-06-15 23:04:12 +01:00
Dylan K. Taylor
04191ec44a Rail: specify type for local static variable
fixes a phpstan level 7 error
phpstan doesn't make any assumptions about local static variable types because analysing them would require too much work, apparently.
2020-06-15 22:47:20 +01:00
Dylan K. Taylor
cf06b5b8cf Player: explicitly check for false return of dataPacket()
fixes a phpstan error on l7
this won't ever actually be a problem, but this isn't obvious from the type system.
2020-06-15 21:24:19 +01:00
Dylan K. Taylor
a8ec51daac Player: do not assign maybe-false result of json_encode() to ModalFormRequestPacket
fixes a phpstan error on l7
2020-06-15 21:22:33 +01:00
Dylan K. Taylor
7d73630fb7 Merge branch 'stable'
# Conflicts:
#	resources/vanilla
#	src/world/format/io/region/RegionGarbageMap.php
#	src/world/format/io/region/RegionLoader.php
#	tests/phpstan/configs/l7-baseline.neon
#	tests/phpunit/world/format/io/region/RegionLocationTableEntryTest.php
2020-06-15 20:10:15 +01:00
Dylan K. Taylor
b902f9ded0 RegionLoader: fixed 2 phpstan level 7 errors (eof reading region header) 2020-06-15 15:09:37 +01:00
Dylan K. Taylor
f55a7f8b53 Merge commit 'd8d994351'
# Conflicts:
#	composer.lock
#	resources/vanilla
#	tests/phpstan/configs/l7-baseline.neon
2020-06-14 19:47:21 +01:00
Dylan K. Taylor
d8d994351b phpstan 0.12.29 2020-06-14 16:25:55 +01:00
Dylan K. Taylor
dba059d8da Merge commit 'a7f10d8cc'
# Conflicts:
#	resources/vanilla
2020-06-13 11:52:17 +01:00
Dylan K. Taylor
ee6b980b98 Merge commit '42613618a'
# Conflicts:
#	phpstan.neon.dist
#	resources/vanilla
2020-06-13 11:46:39 +01:00
Dylan K. Taylor
69aa6a51b4 Merge commit '3f971a0c6'
# Conflicts:
#	resources/vanilla
#	tests/phpstan/configs/l7-baseline.neon
2020-06-13 11:29:12 +01:00
Dylan K. Taylor
a7f10d8ccf phpstan: ignore a FP (fixed in 0.12.26, but we can't upgrade yet) 2020-06-10 10:45:28 +01:00
Dylan K. Taylor
42613618a5 phpstan: add LevelDB::get() stub to fix return type 2020-06-10 10:31:54 +01:00