13456 Commits

Author SHA1 Message Date
Dylan K. Taylor
f80ffd8de0
Merge branch 'next-minor' into next-major 2022-09-15 13:59:21 +01:00
Dylan K. Taylor
441b06f6c7
Merge branch 'stable' into next-minor 2022-09-15 12:44:53 +01:00
Dylan K. Taylor
3d03bb1301
Fix CS 2022-09-15 12:01:26 +01:00
Dylan K. Taylor
f3ca6de1eb
shut 2022-09-02 20:00:52 +01:00
Dylan K. Taylor
88eafdd614
Improve type info for RegistryTrait::getAll() and its users 2022-09-02 19:57:22 +01:00
Dylan K. Taylor
6dd5fec4ea
ExperienceManager: remove superfluous doc comment 2022-09-02 19:38:23 +01:00
Dylan K. Taylor
6866c86d39
BaseInventory: fix CS 2022-09-02 19:36:45 +01:00
Dylan K. Taylor
a735a69870
BaseInventory: improve type info available to setContents() and internalSetContents() 2022-09-02 19:36:08 +01:00
Dylan K. Taylor
a0ea74c08f
Inventory: Improve quality of type info of arrays 2022-09-02 19:34:12 +01:00
Dylan K. Taylor
ca4b8a5827
World: remove local static recursion guard variable, closes #3125 2022-09-02 19:24:09 +01:00
Dylan K. Taylor
f88c4d9a8c
Remove more unnecessary local static variable usages
these are never mutated. Local constants would be better, if we had those.
2022-09-02 19:19:04 +01:00
Dylan K. Taylor
66cd156d80
Utils: use static property for core count cache, instead of local static variable 2022-09-02 19:18:01 +01:00
Dylan K. Taylor
222049927a
Language: fixed bogus callable reference in array_map
for some reason phpstan only reports this under checkImplicitMixed.
2022-09-02 19:15:05 +01:00
Dylan K. Taylor
d72e947d15
BlockFactory: avoid unnecessary local static variable usage
phpstan treats these as always mixed, because it can't be sure what their types will be.
2022-09-02 19:14:35 +01:00
Dylan K. Taylor
770cca2efa
Server: harden response handling for crash report submission
this eliminates some checkImplicitMixed errors in phpstan.
2022-09-02 19:13:54 +01:00
Dylan K. Taylor
033dac3d16
Server: be explicit about the player promise resolver type
since there's no way for phpstan to infer the type of this, it becomes implicit mixed, which can conceal bugs.
2022-09-02 19:13:16 +01:00
Dylan K. Taylor
85678aa356
phpstan 1.8.3 2022-09-02 18:28:33 +01:00
Dylan K. Taylor
1d253bc8c2
Utils: remove 32-bit specific code from javaStringHash()
this was necessary in the days of 32-bit, but for 64-bit, the 0xffffffff mask is sufficient and produces the exact same result.
2022-09-02 18:23:49 +01:00
DiamondStrider1
9e0b4621be
Fixed languages-not-found bug (#5272)
* Fixed languages-not-found bug

* Update Language.php

Co-authored-by: Dylan T <odigiman@gmail.com>
2022-09-02 03:51:31 +01:00
Dylan K. Taylor
ffb3af3e0d
fix CS 2022-09-02 00:59:58 +01:00
Dylan K. Taylor
b3f03d7ae6
Poll console on the main thread, instead of using a separate thread
There's no need to use an extra thread for this, since there's no concern of a socket getting stuck in a blocking read.

This is one less thing that can go wrong because of pthreads.
2022-09-02 00:58:49 +01:00
Dylan K. Taylor
2585160ca2
ConsoleReaderChildProcess: Commit suicide if the parent process dies and doesn't clean up
This happens if the main server process was forcibly killed, e.g. by the kill command on Linux, or taskkill/TaskManager on Windows.

Previously, the process would stick around as a zombie, which messed up terminals in some cases (e.g. git bash), though even having zombies with no side effects is bad enough.
2022-09-02 00:25:31 +01:00
Dylan K. Taylor
14d3e6c7d5
Allow disabling the console reader via pocketmine.yml
Useful to save resources on headless servers where the console is never used (e.g. hosted server, Docker, etc.)
2022-09-01 23:43:54 +01:00
Dylan T
65ec318c30
PluginManager: Ensure dependents are disabled before dependencies in disablePlugins() (#5227)
this could later be expanded to disablePlugin() to make this disable order mandatory, to provide certainty for plugin devs.

Alternative solutions to this include disabling plugins in the opposite order that they were enabled in, but this doesn't allow for random plugin disables. This way seemed to make sense.
2022-08-31 18:43:30 +01:00
ShockedPlot7560
a25cb3741a
Limit valid supporting blocks of dead bush (#5055) 2022-08-31 02:18:18 +01:00
Dylan K. Taylor
456439566b
Language: treat empty translation files the same as missing ones 2022-08-31 01:53:15 +01:00
Dylan K. Taylor
d5762d3f44
Item: allow describing type data to a reader as well as a writer
we don't currently need this, but it's better to have it in case we need it after PM5 release.

This is also now consistent with blocks.
2022-08-27 19:18:30 +01:00
Dylan K. Taylor
5c5d96d00b
ItemBlock: remember fuel time, fireproof and max stack size
this avoids repeatedly creating blocks for no reason when calling these methods.

This does assume that these methods always return the same result for a given block type, but I think that's a fair enough assumption.
2022-08-27 18:04:11 +01:00
Dylan K. Taylor
4dabac8420
Merge branch 'next-minor' into next-major 2022-08-27 17:28:06 +01:00
Dylan K. Taylor
5b89833d5c
Merge branch 'stable' into next-minor 2022-08-27 17:27:15 +01:00
Dylan K. Taylor
fb25e05416
InventoryManager: fixed current window getting removed in race conditions with close window ACK
this could be observed by pressing E and immediately clicking a chest, which, if timed correctly, would lead to the chest lid closing, but the inventory being opened anyway.
2022-08-27 17:26:43 +01:00
Dylan K. Taylor
7fd4c12ea1
First look at (mostly) unified item serializer registrar
this halves the amount of code needed to implement most items.
2022-08-27 15:10:55 +01:00
Dylan K. Taylor
78b5be8dd0
4.8.2 is next 2022-08-26 19:16:39 +01:00
Dylan K. Taylor
0a92e91a30
Release 4.8.1 2022-08-26 19:16:39 +01:00
Dylan K. Taylor
08b9495bce
DyeColorIdMap: fixed uninitialized offset error on invalid dye colours 2022-08-26 18:58:00 +01:00
Dylan K. Taylor
4bd2325828
Remove obsolete TreeType magic numbers 2022-08-26 17:07:35 +01:00
Dylan K. Taylor
64ac20173b
ItemDeserializer: remove unnecessary code
these are legacy IDs and are upgraded to modern IDs before ever reaching this code.
2022-08-26 17:06:09 +01:00
Dylan K. Taylor
ca3612e4ff
Preparations for attempted unification of ItemSerializer and ItemDeserializer 2022-08-26 16:18:13 +01:00
Dylan K. Taylor
6799dcff51
StringToItemParser: improve some readability slightly 2022-08-26 15:54:21 +01:00
Dylan K. Taylor
d4c4ae3d7a
Merge branch 'next-minor' into next-major 2022-08-25 19:27:29 +01:00
Dylan K. Taylor
c16893cbac
Merge branch 'stable' into next-minor 2022-08-25 19:25:19 +01:00
Dylan K. Taylor
7f175b47e6
Fix CS 2022-08-25 18:19:22 +01:00
Dylan K. Taylor
0e73ffe555
CrashDump: Added JIT mode to data
this is necessary for identifying JIT-specific bugs, which, unfortunately, are very common.
2022-08-25 17:39:40 +01:00
Dylan K. Taylor
1ffd38b37b
Utils: fixed currentTrace() when xdebug is loaded, but not in develop mode
this is really dumb... why does it register the functions at all if they aren't usable ???
2022-08-25 16:56:26 +01:00
Dylan K. Taylor
0c446c276c
4.8.1 is next 2022-08-24 20:03:57 +01:00
Dylan K. Taylor
0284e65f60
Release 4.8.0 2022-08-24 20:03:56 +01:00
Dylan K. Taylor
75eba9c9ed
4.7.4 is next 2022-08-22 19:28:47 +01:00
Dylan K. Taylor
b5a049d1fe
Release 4.7.3 2022-08-22 19:28:43 +01:00
Dylan K. Taylor
5cb77c8365
GiveCommand: fix CS 2022-08-22 00:55:17 +01:00
IvanCraft623
bf8befc40b
Remove dead comment on GiveCommand (#5241) 2022-08-22 00:49:22 +01:00