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
25554f0d61
Level: remove useless code from unload()
2020-02-05 20:39:38 +00:00
e1a61cb51a
BaseLang: get() never returns null
2020-02-05 20:38:45 +00:00
fe5620f097
ThreadManager: Lazy-init during getInstance()
2020-02-05 20:36:44 +00:00
faef4e8736
SimpleCommandMap: Command->getLabel() never returns null
2020-02-05 20:33:27 +00:00
0d19f6c968
Server: initialize auto updater before loading plugins, not after
...
from a plugin PoV, getUpdater() is always supposed to return an AutoUpdater instance, but it would return null during onLoad(), which is bad.
2020-02-05 20:32:51 +00:00
ecf662bf74
Server: Lazy-init static sleeper as-needed
...
this makes it testable without a server context.
2020-02-05 20:31:01 +00:00
8cba2e0346
Server: fixed wrong non-nullability of queryHandler
2020-02-05 19:56:16 +00:00
dfc8a6ffdd
Player: remove useless code from save()
2020-02-05 19:54:50 +00:00
262728b091
PopulationTask: clean up overcomplicated garbage
2020-02-05 18:31:51 +00:00
df8e0cf1f5
MemoryManager: eliminate unnecessary reference abuse in continueDump()
...
this makes the flow of data easier to understand, and also sidesteps some PHPStan bugs.
2020-02-05 17:06:05 +00:00
ad87c11ae1
ThreadManager: use array-access instead of variable property access
2020-02-05 16:36:11 +00:00
fa82cb26d8
added native types to closures (phpstan-strict-rules)
2020-02-05 16:35:10 +00:00
e5a2cfb65f
avoid type juggling in conditions, always use explicit boolean conditions
2020-02-05 15:44:06 +00:00
b96bb7d824
Player: use strict base64_decode() for login decoding
...
though, perhaps we should beware of false returns?
2020-02-05 13:55:38 +00:00
59cf8e95f0
Tree: fixed populator not growing trees any lower than y=2
...
this would only be a problem for custom generators, but nonetheless...
2020-02-05 13:17:09 +00:00
99038c752c
Avoid usage of for-loop vars outside of for-loop context
...
these problems were reported by PHPStan strict rules. They aren't actually bugs, but they could become bugs in the future.
2020-02-05 13:16:09 +00:00
88afedd1e8
Human: avoid overwriting non-foreach vars in foreach
2020-02-05 12:59:59 +00:00
c43e21235d
HelpCommand: do not overwrite non-foreach vars in foreach
2020-02-05 12:57:27 +00:00
3f7e7352fb
added SplFixedArray generics for phpstan 0.12.9
2020-02-05 11:57:37 +00:00
32d6ea0fba
Chest: do not crash on failure to fetch pair, closes #2701
...
isPaired() returning true is not semantically equivalent to getPair() returning non-null. getPair() might return null if the pair is inaccessible, such as when it's in an unloaded chunk (it doesn't check this yet, but it should).
For the sake of opening inventory, we don't care if the chest believes if it is paired, we care if there is actually a pair to be accessed for inventory viewing.
In addition, it's possible to create this broken-data scenario artificially by close()ing a chest tile without unpairing it first, because a tile doesn't know the difference between being closed due to unload and being destroyed.
2020-02-03 19:32:58 +00:00
28c787371a
Server::$rcon may be null (disabled or failed to start)
2020-02-03 19:25:56 +00:00
dba14c9f08
PharPluginLoader: remove useless instanceof, offset is always PharFileInfo at this point
2020-02-03 12:35:34 +00:00
eba8d77034
3.11.6 is next
2020-02-02 18:31:51 +00:00
13e4772f98
Release 3.11.5
2020-02-02 18:31:51 +00:00
496732999c
reintroduce BedrockData submodule
2020-02-01 22:05:07 +00:00
6a8105f5a0
delete BedrockData submodule
2020-02-01 22:01:22 +00:00