Dylan K. Taylor
2622c34542
Terminal: explicitly assume that fopen(stdin) will not fail
2020-04-15 11:12:03 +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
83c40f4502
Timezone: properly account for failure to read timezone file
2020-04-15 10:23:07 +01:00
Dylan K. Taylor
372202b3dc
Utils: use type-safe checks to ensure file validity
...
this gives the same results while keeping phpstan happy.
2020-04-15 10:19:51 +01:00
Dylan K. Taylor
917c744266
Properly handle error conditions in Utils::decodeJWT()
2020-04-15 10:18:02 +01:00
Dylan K. Taylor
2281fe4e67
Account for reflection filename being false (in the case of classes/functions defined by builtins)
2020-04-15 10:15:38 +01:00
Dylan K. Taylor
cf538d83bf
Timezone: shut phpstan up about impossible ini_get() errors
2020-04-15 09:48:20 +01:00
Dylan K. Taylor
7e9c38a9d9
Timezone::parseOffset() returns string|false, not string|bool
2020-04-15 09:47:52 +01:00
Dylan K. Taylor
ccad97727f
UUID: properly account for garbage inputs which aren't valid hexadecimal
...
this would previously throw a TypeError and crash.
2020-04-15 09:44:14 +01:00
Dylan K. Taylor
e3ebf8bb61
Internet::getIP() returns string|false, not string|bool
2020-04-15 09:39:38 +01:00
Dylan K. Taylor
cb6b59a52a
Internet: curl_init() may return false on error (unclear on reasons)
2020-04-15 09:38:39 +01:00
Dylan K. Taylor
53dbbd5f97
Internet: account for socket_create() maybe failing in getInternalIP()
2020-04-15 09:37:17 +01:00
Dylan K. Taylor
51908ec45a
Player: allow provision of a custom cooldown duration for items
...
this would be more useful to plugins, so that it's not necessary to extend any item classes for this trivial purpose.
2020-04-15 09:32:48 +01:00
Dylan K. Taylor
a2543ff80d
Position: add getLevelNonNull()
...
this allows assuming that a position has a valid world in places where it's never expected to not be valid. Since this is the vast majority of usages, it eliminates a lot of possible null-pointer warnings given by static analysers.
TODO: Consider whether we can make Position->getLevel/World use this behaviour out of the box in the next major version.
2020-04-14 11:08:37 +01:00
Dylan K. Taylor
604900d4c5
Merge branch 'stable' into next-minor
2020-04-14 01:38:01 +01:00
Twisted
6422ed7722
Added RakLibInterface::setPacketLimit() ( #3398 )
2020-04-11 23:27:17 +01:00
Dylan K. Taylor
ec949840b2
Do not crash on failure to decompress region chunks
...
this could happen when a chunk was partially overwritten with one of the same sector size.
2020-04-01 21:30:25 +01:00
Dylan K. Taylor
d4dc1c8a0c
AttributeMap: be aware of possible NULL offset in ArrayAccess
...
reported by phpstan 0.12.17
2020-03-18 12:59:01 +00:00
Dylan K. Taylor
517f9a3c3a
Player: fix weapons not taking damage from attacks (bug introduced by #3348 )
2020-03-18 12:51:05 +00:00
marshall
310de5a2b2
RCON: set SO_REUSEADDR to fix RCON start failure after restart ( #3357 )
2020-03-16 12:00:45 +00:00
Dylan K. Taylor
06a9c98ded
MemoryManager: fix strict-rules error on phpstan level 7
2020-03-15 15:49:04 +00:00
Dylan K. Taylor
5c7b05c2ba
CrashDump: do not assign possibly-false return value of fopen() directly to non-union field
...
this would become a problem with typed properties, and also phpstan level 7 doesn't like it.
2020-03-15 15:48:09 +00:00
Dylan K. Taylor
9c86763322
CrashDump: do not assume that error_get_last() always returns array
...
this returns NULL if there was no error before the shutdown handler was triggered (usually caused by a plugin calling exit() prematurely).
2020-03-15 15:47:07 +00:00
Dylan K. Taylor
35490ca41c
CrashDump: do not assume that file() always returns array
...
phpstan level 7 prep
2020-03-15 15:46:03 +00:00
Dylan K. Taylor
47c7872c88
Merge branch 'stable' into next-minor
2020-03-14 13:42:39 +00:00
Dylan K. Taylor
b5dd147ec7
PlayerQuitEvent: fix types of quitMessage
2020-03-14 13:24:40 +00:00
Dylan K. Taylor
f8ce01e2fd
ItemFactory: extract fromStringSingle() from fromString()
...
on PM4, the multiple functionality is removed, but on PM3 this is a problem for phpstan.
2020-03-13 17:54:25 +00:00
Dylan K. Taylor
3907a2b6ba
Process: split getMemoryUsage() into 2 functions
...
this isn't released yet so it's OK to change.
phpstan level 7 doesn't like these kinds of ambiguous return types because there's no way for it to tell which type is returned without a return type specifying extension, and it's easier to just change the API than to make PHPStan understand it.
2020-03-13 17:32:17 +00:00
Dylan K. Taylor
1171cd2493
Merge branch 'stable' into next-minor
2020-03-13 15:16:42 +00:00
Dylan K. Taylor
330e93e5e3
Player: do not handle inbound ActorEvents that are not for self
2020-03-13 15:15:20 +00:00
Dylan K. Taylor
5a9a576bfa
AddActorPacket: remove unused import
2020-03-10 12:45:52 +00:00
Dylan K. Taylor
b8caf34e62
Merge branch 'stable' into next-minor
2020-03-10 12:45:00 +00:00
Dylan K. Taylor
456d9a722a
reduce some doc comments to single line
2020-03-10 12:36:19 +00:00
Dylan K. Taylor
344c980cff
GlobalConstants: add strict_types
2020-03-10 12:35:13 +00:00
Dylan K. Taylor
167492087f
Chunk: specify expected bounds for Y coordinates
2020-03-10 12:33:53 +00:00
Dylan K. Taylor
db215283a2
Effect: add desc for color parameter
2020-03-10 12:28:44 +00:00
Dylan K. Taylor
6a507bb149
further CS fixes
2020-03-10 12:18:16 +00:00
Dylan K. Taylor
dc757c25c8
cleanup CS from 8ec0a4d0d60b218acf13dfc20137728e5b4943d2
2020-03-10 12:14:38 +00:00
Dylan K. Taylor
73267ae077
Merge branch 'stable' into next-minor
2020-03-10 12:11:36 +00:00
Dylan K. Taylor
a72e6ee706
Player: be aware of held item changing during click-block
...
this caused bugs if the inventory was cleared while using a hoe.
2020-03-10 12:10:01 +00:00
jasonwynn10
8ec0a4d0d6
Allow specifying compatible OS in plugin manifest ( #3192 )
2020-03-10 10:12:56 +00:00
Andrés Arias
89ea7f0a76
Player: Stop setting held item post entity attack if changed ( #3348 )
...
closes #3340
2020-03-10 10:09:31 +00:00
Dylan K. Taylor
df65f1009c
Merge branch 'stable' into next-minor
2020-03-09 14:33:37 +00:00
Andrés Arias
a6ca37429c
Player: do not set held item post block-break if changed ( #3345 )
...
this usually happens when a plugin replaces the held item during BlockBreakEvent.
closes #2010
2020-03-09 13:45:58 +00:00
Dylan K. Taylor
15d81154e6
PluginDescription: drop unenforceable type constraint on array keys
...
the data that comes through here isn't validated, and there's also no guarantee that all the keys will be strings in spite of our best efforts even if it was validated, because PHP is fucking stupid and casts int-like string keys to int keys.
2020-03-05 19:53:01 +00:00
Dylan K. Taylor
93e5c80962
MultiplayerSettingsPacket is bothways, close #3331
2020-03-03 12:32:57 +00:00
Dylan K. Taylor
c19ab97610
AddActorPacket: move BC hack to higher level
...
we shouldn't hack the protocol impl for BC.
2020-02-27 17:37:45 +00:00
Dylan K. Taylor
dbaf851be7
Merge branch 'stable' into next-minor
2020-02-27 16:51:06 +00:00
Dylan K. Taylor
7aa8bd18d3
Revert "Item: restrict bounds of count to 0-255"
...
This reverts commit 10317527e4012fb1dbb1661f2f7fc33b05a7a6d1.
this breaks user code which exceeds stack limits in legitimate
circumstances. For example, it should be OK to add 6000x diamond to a
player's inventory without being forced to manually split the count up
for addItem().
2020-02-25 20:42:03 +00:00
Dylan K. Taylor
53067c26d7
BaseInventory: stop mutating item for no reason in canAddItem()
2020-02-25 20:30:37 +00:00