Dylan K. Taylor
c0af05fcad
phpstan: clean some errors from level 8 baseline
2020-06-29 22:42:46 +01:00
Dylan K. Taylor
cbfdfe87cf
phpstan: drop some obsolete bootstrap constants
2020-06-28 19:40:10 +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
Dylan K. Taylor
db8e094d11
Extract a Gaussian unit from Normal generator
2020-06-28 18:45:52 +01:00
Dylan T
d585081c22
Separate consumable item interfaces from general consumable interfaces ( #3595 )
...
I wonder if there's a way to generalise item consuming beyond just eating/drinking. Stuff like lava bucket in a furnace needs the same kind of "leftover" logic.
2020-06-28 17:53:03 +01:00
Dylan K. Taylor
c040248dbd
Item: use static-analysis-friendly method for retrieving custom block data
...
fixes 2 phpstan level 8 errors
2020-06-27 13:46:04 +01:00
Dylan K. Taylor
0000783926
Item: make nbt field non-nullable
2020-06-27 13:34:08 +01:00
Dylan K. Taylor
7e331c590d
Use static-analysis-friendly method for getting effects from EffectManager
...
fixes 5 phpstan level 8 errors
2020-06-27 13:09:05 +01:00
Dylan K. Taylor
9e6f1c9a5a
Living: check if damager is null before trying to use it
2020-06-27 13:09:05 +01:00
Dylan K. Taylor
b7b5ea6fc9
Painting: use motive directly internally
...
this is cleaner and also fixes a phpstan level 8 error
2020-06-27 13:09:05 +01:00
Dylan K. Taylor
3c1b8b83f5
HungerManager: use AttributeMap->mustGet()
...
fixes 2 errors on phpstan level 8
2020-06-27 13:09:05 +01:00
Dylan K. Taylor
7e391a8123
Tile: use phpstan-friendly way to pass block NBT
...
fixes 1 level 8 error
2020-06-27 13:09:05 +01:00
Dylan K. Taylor
9484220bd5
ContainerTrait: use a static-analysis-friendly way to read NBT, fixes 4 phpstan level 8 errors
2020-06-27 13:09:05 +01:00
Dylan K. Taylor
f039a077cd
ItemFrame: fixed a phpstan level 8 error
2020-06-27 13:09:05 +01:00
Dylan K. Taylor
7e6adc41f0
Merge 1.16 support into PM4 (with changes)
2020-06-26 22:21:09 +01:00
Dylan K. Taylor
d52ae120d4
Merge commit 'd343187e58e02c37903a0a93fb22ad9e9cbcdea6'
...
# Conflicts:
# resources/vanilla
# tests/phpstan/configs/l8-baseline.neon
2020-06-26 19:06:46 +01:00
Dylan K. Taylor
b8bbfdb181
Merge commit 'c572e9bb6a787d0573e7999b38f4651fc48cec58'
...
# Conflicts:
# resources/vanilla
# tests/phpstan/configs/l7-baseline.neon
2020-06-26 18:43:43 +01:00
Dylan K. Taylor
e990c5a0a5
Protocol changes for 1.16.0
2020-06-26 14:06:41 +01:00
Dylan K. Taylor
d8a8f5b77a
phpstan: ignore a new error caused by 52fd1a8c1d86b54d53cceb99ec07892130ca136b
2020-06-26 13:54:30 +01:00
Matt
df76c02e7a
Explicitly release server.lock file when shutdown the server. ( #3619 )
...
Previously, this relied on PHP itself to release locks during the resource destructor phase during process exit, but sometimes it doesn't for god knows what reason. This change makes the lock file get explicitly released before the process dies.
2020-06-26 11:41:39 +01:00
Dylan K. Taylor
d343187e58
phpstan: drop 2 obsolete level 8 error patterns fixed by 763c8ebfe3bb8a597768d86040fee130c8fc7ab8
2020-06-23 12:57:25 +01:00
Dylan K. Taylor
c5ad127854
BaseInventory: mark eventProcessor as nullable, fixes a phpstan level 8 error
2020-06-23 12:55:06 +01:00
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