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
Dylan K. Taylor
9ee80357b0
phpstan baselines cleanup
2021-03-23 15:24:20 +00:00
Dylan K. Taylor
c1e5dd2a4e
Merge branch 'stable'
2021-03-07 20:15:11 +00:00
Dylan K. Taylor
fac2bd3379
Liquid: mark getSmallestFlowDecay() as impure
...
this fixes two bogus PHPStan warnings.
2021-02-25 22:41:07 +00:00
Dylan K. Taylor
c61f66d973
Removed ext-ds dependency
2021-02-11 15:40:37 +00:00
Dylan K. Taylor
bbae02264d
Merge branch 'stable'
2021-01-27 20:04:13 +00: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
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
dba059d8da
Merge commit 'a7f10d8cc'
...
# Conflicts:
# resources/vanilla
2020-06-13 11:52:17 +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
640428c415
Convert WorldProviderManager to singleton
2020-05-23 10:02:09 +01:00
Dylan K. Taylor
c30dd9f1b6
Entity: add abstract getNetworkTypeId(), remove NETWORK_ID constant
...
this now requires that subclasses supply a proper NETWORK_ID.
2020-05-16 16:08:12 +01:00
Dylan K. Taylor
4c5fb1371d
Merge commit 'a70fa1569027b5a77979ae513f753e71b4454b05'
2020-05-13 13:48:51 +01:00
Dylan K. Taylor
a70fa15690
phpstan 0.12.25, drop some bug-filtering error patterns
2020-05-13 12:51:52 +01:00
Dylan K. Taylor
84f41153e9
silence another phpstan bug
2020-05-13 00:25:16 +01:00
Dylan K. Taylor
acd37b95b8
Merge branch 'next-minor'
2020-05-06 20:41:48 +01:00
Dylan T
ef97c8f99e
Utils: fix parsing of single-line doc comments, closes #3388 ( #3469 )
...
* Utils: fix parsing of single-line doc comments, closes #3388
* correctly handle the empty doc-comment case, add another test case
* ignore an extra phpstan bug
2020-05-06 14:17:08 +01:00
Dylan K. Taylor
6bfc309a0a
phpstan 0.12.22
2020-05-04 22:26:44 +01:00
Dylan K. Taylor
098a5518a6
phpstan: ignore another trait override bug
2020-04-29 11:35:12 +01:00
Dylan K. Taylor
d9e4783b24
start making network compressors dynamic
...
this will facilitate future multi version support where compression types are different between versions
2020-04-28 14:47:01 +01:00
Dylan K. Taylor
040fdc2875
Merge commit '8e1b3ed'
...
# Conflicts:
# phpstan.neon.dist
# resources/vanilla
# tests/phpstan/configs/phpstan-bugs.neon
# tests/phpstan/configs/phpunit-wiring-tests.neon
# tests/phpstan/configs/pthreads-bugs.neon
# tests/phpstan/configs/runtime-type-checks.neon
2020-04-25 12:35:30 +01:00
Dylan K. Taylor
8e1b3edd2c
Merge branch 'stable' into next-minor
2020-04-25 12:06:52 +01:00
Dylan K. Taylor
4c1b10b24b
restructure ignoreErrors to allow regenerating them file by file
2020-04-25 11:59:06 +01:00
Dylan K. Taylor
61dc9d7f6b
phpstan: split up phpstan-bugs and phpstan-bugs-generated configs
2020-04-25 11:26:54 +01:00
Dylan K. Taylor
86f67445c6
fix merge error
2020-04-19 11:19:06 +01:00
Dylan K. Taylor
163c3855eb
Merge branch 'next-minor'
...
# Conflicts:
# resources/vanilla
# src/plugin/PluginBase.php
# src/plugin/PluginDescription.php
# src/pocketmine/Player.php
# src/pocketmine/network/rcon/RCON.php
# src/pocketmine/network/rcon/RCONInstance.php
# src/pocketmine/scheduler/AsyncTask.php
# src/pocketmine/tile/Spawnable.php
# src/scheduler/AsyncPool.php
# src/utils/Config.php
# src/utils/Timezone.php
# src/utils/UUID.php
# src/utils/Utils.php
# src/world/format/io/region/RegionLoader.php
2020-04-19 11:13:41 +01:00
Dylan K. Taylor
5c9419b55c
Timezone: use false checks instead of file existing for static analysis
2020-04-15 10:59:36 +01:00
Dylan K. Taylor
2d461251ed
phpstan: ignore more errors reported by strict-rules
2020-02-07 22:14:51 +00:00
Dylan K. Taylor
fb1126797a
Merge branch 'stable'
2020-02-07 18:13:55 +00:00
Dylan K. Taylor
ada8cbb545
phpstan: drop some ignoreErrors that don't occur on 0.12.9
2020-02-06 21:01:05 +00:00
Dylan K. Taylor
6c7dada232
finally, integrate phpstan-strict-rules
2020-02-06 19:44:10 +00:00
Dylan K. Taylor
89c6da13ac
phpstan: use more class-string
2020-01-31 22:05:33 +00:00
Dylan K. Taylor
89ebd2b880
remove some dead ignoreErrors
2020-01-30 22:30:04 +00:00
Dylan K. Taylor
35c23ea89a
com_exception is no longer missing from phpstan stubs
2020-01-27 09:35:27 +00:00
Dylan K. Taylor
f44c9adbb0
Merge branch 'stable'
2020-01-20 17:33:43 +00:00
Dylan K. Taylor
e5d62ec901
phpstan 0.12.6
2020-01-20 17:26:48 +00:00
Dylan K. Taylor
f2f4715d97
Merge commit '30f2e7527818e3275ceb0ff26093c4f26a84c51c'
2020-01-13 19:17:54 +00:00
Dylan K. Taylor
0e1cea043a
added some phpstan-specific generic type annotations
2020-01-13 15:05:02 +00:00
Dylan K. Taylor
96b91af66a
Merge branch 'stable'
2020-01-11 21:41:38 +00:00
Dylan K. Taylor
8794292788
remove &$var reference notations in phpdoc
...
this isn't required by the spec and PHPStan chokes on it. I was previously having it ignore these errors, but it turns out that PHPStan is not making use of extended typeinfo provided if it can't parse the tag, which is problematic on level 6 and also a problem for array-of-type. Therefore, we are going to have to take the hit.
2020-01-11 21:20:55 +00:00
Dylan K. Taylor
9204b11948
phpstan: 0.12.3 fixes for master
2019-12-29 17:55:03 +00:00
Dylan K. Taylor
2de0ec02ba
phpstan 0.12.3
2019-12-28 17:22:08 +00:00
Dylan K. Taylor
0f718ea28b
Merge commit '8726604899d1a371567141e0831ed570d3233356'
2019-12-25 14:19:35 +00:00
Dylan K. Taylor
494660102e
Replace empty() usages with count()
2019-12-18 11:23:24 +00:00