8941 Commits

Author SHA1 Message Date
Dylan K. Taylor
2e9117d102
Release 3.17.4 2021-02-02 14:04:50 +00:00
Dylan K. Taylor
06493da7d9
Imports cleanup 2021-02-02 13:58:07 +00:00
Dylan K. Taylor
bd303b1062
RegionLoader: fixed flaky region header validation since 3.17.3 2021-02-02 13:43:52 +00:00
Dylan K. Taylor
1a24afc6d1
InventoryTransaction: Fixed indexes persisting from balance calculation in crafting input/outputs
fixes #4019
the order of the actual items may not be the same across runs, but index 0 will at least be sure to exist.
2021-02-02 00:13:58 +00:00
yuko fuyutsuki
37e8dd6444
Fix PHP 8 optional before required parameters deprecation warnings (#4016) 2021-01-31 12:08:47 +00:00
Dylan K. Taylor
16fa958416
phpstan: better hack for any-callable parameters
variadics are a bad fit for this because what we really need is to accept callable with any number of arguments. LSP requires that the provided number of arguments must be >= than the required number of arguments.
2021-01-27 19:25:28 +00:00
Dylan K. Taylor
bac57c159f
Player: fix bridging, towering and various other fast building bugs
clickPos is relative to the base block position, so if you keep aiming at the same spot on the block and jump, it thinks you're still spamming.
closes #2730
2021-01-27 00:11:14 +00:00
Dylan K. Taylor
38b2d83799
MemoryManager: fixed protected properties being dumped multiple times
we don't need to scan the parent classes for anything other than private properties, because protected and public properties will appear on the main reflection as if they were declared directly as such.
2021-01-26 20:32:23 +00:00
Dylan K. Taylor
62deafda48
CommandReader: removed readline support
readline has been borked for a long time and it's not thread safe.
2021-01-25 17:53:25 +00:00
Dylan K. Taylor
31b6df4376
3.17.4 is next 2021-01-25 17:15:43 +00:00
Dylan K. Taylor
b296ae1b87
Release 3.17.3 2021-01-25 17:15:31 +00:00
Dylan K. Taylor
34c1d455a7
phpstan: enable checkMissingCallableSignature 2021-01-24 20:27:53 +00:00
Dylan K. Taylor
e8ffab1787 RegionLoader: avoid hitting the disk twice during chunk reads
this provides some performance improvement (although it's difficult to measure because of cache).
this does mean that we read some garbage data during chunk reads, but it's less costly than hitting the disk twice.
2021-01-20 21:05:44 +00:00
Dylan K. Taylor
ecc1e1f698
RegionLoader: improve performance of region header validation
I was unaware that fseek actually makes a syscall which is rather costly, which became painfully obvious during large world conversions on PM4.
On average this problem appeared to be adding about 5ms to the load time for a newly loaded region, which is insanely expensive.
2021-01-20 20:04:21 +00:00
Dylan K. Taylor
988cf7f535
Fixed PHP 8.0 deprecation error 2021-01-16 19:31:07 +00:00
Dylan K. Taylor
69fff23f1a
LevelProviderManager: removed bogus @var
I'm not sure why this wasn't detected until 0.12.67...
2021-01-15 16:53:49 +00:00
Dylan K. Taylor
97c124edf9
thanks git, this just sneaked in without any questions ................ 2021-01-12 21:43:34 +00:00
Dylan K. Taylor
972c911485
phpstan 0.12.65 2021-01-09 18:04:42 +00:00
Dylan K. Taylor
0d8858f948
composer.json: sort packages automatically 2021-01-09 17:38:22 +00:00
Dylan K. Taylor
ec9b39862b
bootstrap: commit suicide if composer dependencies are not in sync 2020-12-29 17:47:32 +00:00
Dylan K. Taylor
efca8077d5
3.17.3 is next 2020-12-28 23:03:37 +00:00
Dylan K. Taylor
5066d5225b
Release 3.17.2 2020-12-28 23:03:32 +00:00
Dylan K. Taylor
aefaf73685
Living: extract an applyConsumptionResults() method from consumeObject()
inspired by #3592, which has gone stale
2020-12-28 22:27:29 +00:00
Dylan K. Taylor
15401d740f
RegionLoader: mark area as garbage in removeChunk() 2020-12-27 19:16:05 +00:00
Dylan K. Taylor
5920b0ba40
Remove _PHPSTAN_ANALYSIS constant
we don't need this anymore since PHPStan is able to intelligently decide whether to autoload a file or not.
2020-12-27 19:10:40 +00:00
Dylan K. Taylor
dea75a0687
RegionLoader: do not attempt to auto-repair chunks with oversized lengths
In the old days, we used to try to correct this problem by adjusting the region header to match the
length found at the start of the chunk payload. However, this has a very good chance to cause corruption
of other chunks, since we can't do any fast overlap checks (an upsize might cause the chunk's alloocated
area to overlap into another one, causing corruption when either chunk's space gets written to).

This corruption risk has become more problematic since the
introduction of region garbage sector reuse, since a broken location
header could cause chunks to trash each others' saved data.

In addition, if there is a length mismatch, there's a good chance that the oversized chunk itself will
already be corrupted, so we'd just fail trying to decompress it later on.

So, instead of trying to fix this automatically, we bail and hope this doesn't occur often enough for
users to get upset, and allow external offline tools to attempt to repair the mess instead.
2020-12-27 18:50:52 +00:00
Dylan K. Taylor
873e8740e0
3.17.2 is next 2020-12-23 22:20:24 +00:00
Dylan K. Taylor
260c55f23a
Release 3.17.1 2020-12-23 22:20:19 +00:00
Dylan K. Taylor
9ed430acb9
CrashDump: fixed a bug in crashdump generation 2020-12-23 21:53:12 +00:00
Dylan K. Taylor
f0241043de
CrashDump: add server uptime to crash information 2020-12-23 20:26:18 +00:00
Dylan K. Taylor
135f1c95e4
phpstan 0.12.64 2020-12-23 20:04:40 +00:00
Dylan K. Taylor
a43b46a93c
Merge branch 'stable' of https://github.com/pmmp/pocketmine-mp into stable 2020-12-18 00:33:10 +00:00
Dylan K. Taylor
0604dfc9e5
phpstan 0.12.63 2020-12-18 00:32:55 +00:00
Govdim
dd2c3db285
Fixed a bucket of lava disappearing when used in a furnace (#3973)
fixes #2385
2020-12-17 23:57:34 +00:00
Dylan K. Taylor
0682c93f5a
Drop bcmath dependency
we haven't used bcmath since the days of 32-bit.
2020-12-14 20:59:07 +00:00
Mohamed
1c43538238
Fix that a hoe gets damage applied to it, when it's used to break a block (#3967)
closes #3965
2020-12-11 21:14:52 +00:00
Dylan K. Taylor
68887105b2 Utils::cleanPath(): drop the square braces
this looks ugly, as well as breaking plugin crash detection (which tbh is too fragile, but it is what it is ...)
2020-12-09 20:26:08 +00:00
Dylan K. Taylor
104e90b794 CrashDump: more robust core crash detection 2020-12-08 23:27:03 +00:00
Dylan K. Taylor
994062f6dc CrashDump: fixed plugin detection on eval()'d code
it's possible we could clean the path up to detect which plugin caused the crash, but for now I'll be happy to not have them showing up as core crashes ...
2020-12-08 23:11:29 +00:00
Dylan K. Taylor
69a41a5ed4 3.17.1 is next 2020-12-08 21:02:14 +00:00
Dylan K. Taylor
3903b70ef5 Release 3.17.0 2020-12-08 21:02:13 +00:00
Dylan K. Taylor
692e63ad7c Protocol changes for 1.16.200 2020-12-08 20:31:17 +00:00
Dylan K. Taylor
4d1be4d41d McRegion: do not create a region file when trying to read a chunk that doesn't exist
fixes #3953
2020-12-07 18:44:49 +00:00
Dylan K. Taylor
5f0310a8b6 3.16.2 is next 2020-12-07 17:16:11 +00:00
Dylan K. Taylor
9b01fb3d89 Release 3.16.1 2020-12-07 17:16:10 +00:00
Dylan K. Taylor
6869ee1c2d Clean up nonsensical code in NetworkBinaryStream->getSlot() 2020-12-05 01:24:41 +00:00
HighTec
26155acff2
register HellBiome (#3950) 2020-12-04 11:58:49 +00:00
Dylan K. Taylor
48fa19fdcd PermissionAttachmentInfo::__construct() never throws an exception 2020-12-01 17:30:35 +00:00
DerDevHD
bac986d0b2
Fixed crash when executing command /version with multiple authors declared in 'author' (#3940)
closes #3902
2020-12-01 15:47:55 +00:00
Dylan K. Taylor
215bac8dd7 phpstan 0.12.58 2020-11-30 22:11:43 +00:00