2d51971b84
Revert "ClosureTask: drop requirement for void return type"
...
This reverts commit 9e993aa83f
.
apparently PHPStan isn't cool with this ...
2020-02-10 11:40:47 +00:00
f08e411cad
Merge branch 'stable' into next-minor
2020-02-10 11:40:08 +00:00
7ad44d8403
ChunkRequestTask: do not copy light information when sending chunks
2020-02-09 17:49:15 +00:00
d360439c92
FastChunkSerializer: expose a method to disable lighting serialization
...
this is useful for copies which don't care about lighting, such as chunk sending.
2020-02-09 17:48:30 +00:00
ce42ca958e
InGamePacketHandler: do not execute use-item action if already using item, fixes #3246
...
the useHeldItem() sets the using-item flag back to true immediately after consumeHeldItem() sets it to false, which caused this bug.
stable has the same problem, but the effects don't show due to a well timed MobEquipmentPacket (a happy accident).
2020-02-09 12:13:15 +00:00
4c51f1dda3
Scrap TextContainer, make TranslationContainer immutable
...
TextContainer provided zero real value as a base of TranslationContainer, given that it required its own logic to be handled wherever accepted. As such, it's no better than a simple string.
Removing it also allows fixing an ambiguity when embedding translations inside other translations, allowing it to be made immutable.
2020-02-08 13:38:27 +00:00
2375e9519d
RegionWorldProvider: fix CS
2020-02-08 09:34:22 +00:00
bfdfa4184b
Merge branch 'stable'
2020-02-08 09:33:56 +00:00
1257378198
clean up function imports
2020-02-08 09:31:15 +00:00
17fc49db8a
Player: fix regression in disconnect caused by 66a1134ca1
2020-02-08 09:07:09 +00:00
66a1134ca1
Player: avoid another empty() usage
2020-02-07 22:13:43 +00:00
ec9ece56f5
Player: fetch world via location
...
this code caters for the possibility of the world being null.
2020-02-07 22:11:14 +00:00
04a3e71047
ChunkSerializer: avoid using loop vars outside loop scope
2020-02-07 22:10:23 +00:00
ee36ac9875
ProcessLoginTask: use strict base64_decode()
2020-02-07 22:09:46 +00:00
bc60bb9462
remove useless type asserts on Entity->getWorld()
2020-02-07 22:08:38 +00:00
85f3dca11b
HandlerListManager: make resolveNearestHandleableParent() a little easier to follow
...
and also sidestep phpstan complaining about using loop vars outside of loop
2020-02-07 22:07:36 +00:00
fd675449e9
BlockFactory: fill blastResistance with float(0)
...
technically there wasn't anything wrong with this code, but it caused the type inference to report incompatibility, and I can't be bothered to report a PHPStan bug.
2020-02-07 22:06:34 +00:00
d2aca6023b
add native return types to closures (for phpstan)
2020-02-07 22:05:15 +00:00
aac7da6c96
eliminate remaining empty() usages
2020-02-07 21:51:50 +00:00
347b94b284
Merge branch 'stable'
2020-02-07 20:18:17 +00:00
758a68aa2c
ItemFactory: add Item[] as type for list field (for auto complete)
2020-02-07 20:11:31 +00:00
bfce478e72
BlockFactory: keep the generic types for PHPStan, which actually understands it
2020-02-07 20:10:40 +00:00
681dd469a2
PluginManager: add class-string phpstan param to registerEvent()
2020-02-07 20:05:41 +00:00
3edbea8545
PluginManager: fix spacing of phpdoc comment for registerEvent()
2020-02-07 19:37:22 +00:00
3a9e6bb612
CallbackInventoryChangeListener: fix use of tab instead of space
2020-02-07 19:28:43 +00:00
fb1126797a
Merge branch 'stable'
2020-02-07 18:13:55 +00:00
9b02b8e51e
Item: do not compare serialized NBT in equals()
...
this isn't cached anymore, and would be a performance drag.
It would be nice to have some kind of fast path for this, but comparing NBT binary isn't it.
2020-02-06 20:23:58 +00:00
25bc95cd1e
removing more unnecessary casts
2020-02-06 19:33:34 +00:00
213bf8366a
TranslationContainer: fix parameter type of setParameters()
2020-02-06 19:33:34 +00:00
4e693e91e6
ChestInventory: document that getHolder() may return Position
...
there is a variance issue with EnderChestInventory that was detected by phpstan-strict-rules which can't be addressed without a BC break. This fix will at least allow static analysers to be aware that code using this function might catch fire when it sees an EnderChestInventory without realizing it.
2020-02-06 19:33:34 +00:00
0ec869932f
Item: clean up internal NBT storage, discard useless legacy network cache
...
this will now bail if the NBT string given is invalid upon setCompoundTag(), rather than shitting the bed when it's accessed.
2020-02-06 17:59:05 +00:00
79acaa3253
Utils: remove useless typecasts
2020-02-06 16:06:58 +00:00
da3742b39e
Remove useless typecasts
2020-02-06 16:00:57 +00:00
d26fcf7dee
Removed useless casts() from min/max calls
2020-02-06 15:58:27 +00:00
812424a619
GroundCover: drop useless variable in calculating startY
2020-02-06 14:26:03 +00:00
1bdc61dd5f
Ore: do not destroy outer scope vars in for loops
2020-02-06 14:24:57 +00:00
86fc33fe26
Level: add phpstan generics to getNearestEntity()
2020-02-06 14:20:19 +00:00
70eb41470c
ContainerInventory: remove redundant check
2020-02-06 14:19:33 +00:00
34972c3327
Assume that getmypid() never returns false
...
my background research on this informs me that this returns false on negative PID, which never happens because the underlying C API call never fails - not on linux, bsd, or windows.
2020-02-05 21:00:56 +00:00
037c34d961
Living: fixed bad @var confusing PHPStan
2020-02-05 20:58:38 +00:00
4518d9d9ce
Item: drop useless @var confusing PHPStan
2020-02-05 20:55:58 +00:00
1a5228e7a6
Fixed property types with missing null PhpDoc types
2020-02-05 20:55:03 +00:00
495bfda044
Drop a bunch of invalid null defaults
...
phpstan doesn't report these out of the box, for reasons I'm not clear on. It's also not clear if having null defaults has any effect on nullability behaviour, so they are best removed. In addition, these would be problematic on 7.4.
2020-02-05 20:53:54 +00:00
41b1fa7b48
Config: clean up inconsistent data parsing & handling
2020-02-05 20:50:36 +00:00
e689fd545b
PocketMine.php: avoid use of short ternary
2020-02-05 20:48:54 +00:00
889cd5e206
PlayerNetworkSessionAdapter: clean up leftovers from multi quote support for json decode
2020-02-05 20:45:13 +00:00
e1ddf90695
Chunk: remove useless instanceof checks
...
these are always CompoundTags, and if they aren't we have a bug somewhere else.
2020-02-05 20:44:27 +00:00
2f325b8c91
Permission: loadPermission() never returns null
2020-02-05 20:43:40 +00:00
ac4f00be81
PluginManager: combine conditions into something less useless
...
the left side was already implying that the var is a Plugin instance, but PHPStan doesn't like non-bool conditions in strict mode.
2020-02-05 20:42:40 +00:00
914450c30b
Entity: remove useless assert()
...
namedtag is always non-null here, and if it isn't, it should just catch fire the normal way.
2020-02-05 20:40:34 +00:00