10838 Commits

Author SHA1 Message Date
Dylan K. Taylor
b216fb8910 PocketMine.php: set INI entries as early as possible 2019-10-24 09:18:50 +01:00
Dylan K. Taylor
d3171d6a8e backport a53f698d383fd06efe4fab516314fa22ad0f4ab0: PocketMine.php: remove useless set_time_limit() call
this is hardcoded to zero in the PHP core anyway.
2019-10-24 09:14:18 +01:00
Dylan K. Taylor
c063a4da29 backport 5c1f1f00cbbcc6460927b922f993f1de8e1e046c: move assert.exception to PocketMine.php with the other stuff 2019-10-24 09:12:05 +01:00
Dylan K. Taylor
cc79dfa64c backport 8b40a8f21764008aa7b2a64788af2c77f238e219: PocketMine.php: move INI entry setting to a separate function 2019-10-24 09:09:53 +01:00
Dylan K. Taylor
d6b9950901 backport fdfbaf4e95d9760199b363005cca71b852d5eee5: make startup performance warnings a little more coherent 2019-10-24 09:06:28 +01:00
Dylan K. Taylor
1815fe5b46 backport 647f86a5b818c308e7fd690178c20099a836cfe9: PocketMine.php: remove redundant ini_set()
this is overridden later on by MemoryManager.
2019-10-24 09:02:37 +01:00
Dylan K. Taylor
3e993250d8 backport 0c31b8731fe68bd56dbbfcc5eed77dedef914664: PocketMine.php: use main logger to emit force-kill debug 2019-10-24 08:57:31 +01:00
Dylan K. Taylor
1163ac1d7a backport 0c31b8731fe68bd56dbbfcc5eed77dedef914664: PocketMine.php: get rid of redundant LOCK_FILE_PATH constant 2019-10-24 08:55:28 +01:00
Dylan K. Taylor
9a51ba697a PocketMine.php: move some mission-critical stuff earlier in boot sequence
fixes #3161
2019-10-24 08:50:13 +01:00
Dylan K. Taylor
9aab97578b World: clean up lighting update API 2019-10-23 21:52:39 +01:00
Dylan K. Taylor
3768f3008e World: group light-related functions
i don't know why these were dumped between getBlock() and setBlock() to begin with.
2019-10-23 21:29:00 +01:00
Dylan K. Taylor
f01b7b74ba World: remove setBlockLightAt() and setBlockSkyLightAt() 2019-10-23 21:25:29 +01:00
Dylan K. Taylor
a3b73d95a7 LightUpdate: allow providing effective light levels for propagation, fix #2999 2019-10-23 21:01:19 +01:00
Dylan K. Taylor
f3f9ebf312 SubChunkIteratorManager: added isValid() 2019-10-23 20:21:09 +01:00
Dylan K. Taylor
21e9bca64a World: remove getHeightMap() and setHeightMap()
these are too specialized to be of any use to plugin developers, and they are also misleading - plugin devs often think this refers to the highest block Y coordinate, but it doesn't.
2019-10-23 19:30:06 +01:00
Dylan K. Taylor
eedc9eaee1 Chunk: move protocol-specific getSubChunkSendCount() to network chunk serializer 2019-10-23 18:34:47 +01:00
Dylan K. Taylor
23e2e7c320 Chunk: remove useless instanceof check from collectGarbage() 2019-10-23 18:29:01 +01:00
Dylan K. Taylor
f71eecfe56 Chunk: clean up internals that were designed for variable subchunk stack size
this exposed a few bugs in lighting updates too.
2019-10-23 18:27:30 +01:00
Dylan K. Taylor
508c53b53a Merge branch 'stable'
# Conflicts:
#	resources/vanilla
2019-10-22 23:01:35 +01:00
Dylan K. Taylor
dddc3e8407 FastChunkSerializer: remove legacy code, simplify encoding
this is also faster than the old technique (theoretically).
2019-10-22 23:00:49 +01:00
Dylan K. Taylor
02ff8d671b Mostly phase out EmptySubChunk
copy-on-write and zero-layer SubChunk objects are much easier to manage and have less cognitive overhead.

obviously, the goal is to get rid of EmptySubChunk completely, but right now it does still serve a purpose (filling in dummy values for reading out-of-bounds on chunks), and that's a problem that takes a little more work to fix.
2019-10-22 23:00:49 +01:00
Dylan K. Taylor
b7d1d11eb4 Chunk: remove useless field "height" 2019-10-22 23:00:49 +01:00
Dylan K. Taylor
295d14e0d9 Chunk: make setSubChunk() throw exception on invalid Y instead of returning false 2019-10-22 23:00:49 +01:00
Dylan K. Taylor
b8c857df64 World: prevent getHighestAdjacentBlockLight() and getHighestAdjacentBlockSkyLight() trying to exceed world bounds
this creates a problem for sky light above y=256, but this problem exists in lots of other places already anyway.
2019-10-22 23:00:49 +01:00
Dylan K. Taylor
9d3637c999 Chunk: remove useless proxy field emptySubChunk 2019-10-22 23:00:49 +01:00
Dylan K. Taylor
e1352668d1 LightPopulationTask: Don't overwrite the whole chunk on completion
this is more efficient (less data copied for ITC), fixes #2873, and also fixes terrain changes during task run getting overwritten.

This still leaves the problem that the light information provided may be out of date by the time the task completes, but this is nonetheless a step forward.
2019-10-22 23:00:21 +01:00
Dylan K. Taylor
32ad9d0c1a Squid: fix spammy rotation in enclosed spaces
this bug was caused by 2f3c77c68a0d9e0fdfb0eb69bd44344f4c8d028d. It looks unrelated to the commit title, so it may have been committed by mistake.
2019-10-22 22:50:35 +01:00
Dylan K. Taylor
296825b87e LightArray: collect garbage on unserialize
serialize/unserialize don't preserve const refs, so this is necessary to reassign global refs post-unserialize
2019-10-22 20:09:51 +01:00
Dylan K. Taylor
bf0e855a9b updated composer dependencies 2019-10-22 19:07:42 +01:00
Dylan K. Taylor
ebbb99b96b Merge branch 'next-minor' 2019-10-22 19:05:11 +01:00
Dylan K. Taylor
0591458ef6 Merge branch 'stable' into next-minor 2019-10-22 18:49:22 +01:00
Dylan K. Taylor
3d840e969d 3.9.7 is next 2019-10-22 14:38:02 +01:00
Dylan K. Taylor
d1b70bd400 Release 3.9.6 3.9.6 2019-10-22 14:38:02 +01:00
Dylan K. Taylor
29f002b32c LightUpdate: fixed type doc for updateNodes field 2019-10-22 12:23:42 +01:00
Dylan K. Taylor
da17ade575 AvailableCommandsPacket: fixed wrong parameter type doc for putEnum() 2019-10-22 12:23:01 +01:00
Dylan K. Taylor
f0c36f3413 ClientCacheMissResponsePacket: fix broken type assert in create()
ouch! PhpStorm never saw these...
2019-10-22 11:57:10 +01:00
Dylan K. Taylor
77d8f133f1 LevelChunkPacket: fixed broken type assert in withCache() 2019-10-22 11:54:37 +01:00
Dylan K. Taylor
43ebb23085 Permission: remove dead code from loadPermission() 2019-10-22 10:42:22 +01:00
Dylan K. Taylor
e198c8fa8b Task: mark taskHandler field as nullable 2019-10-22 10:26:49 +01:00
Dylan K. Taylor
cc3285c8fe Chest: fixed type doc of doubleChestInventory field 2019-10-22 10:25:24 +01:00
Dylan K. Taylor
305c63ba4d MainLogger: initialize shutdown field in the conventional manner
this avoids uninitialized uses
2019-10-22 10:21:17 +01:00
Dylan K. Taylor
acaa0e33b0 update DevTools submodule to pmmp/PocketMine-DevTools@3fadb2c3f4 2019-10-22 10:16:44 +01:00
Dylan K. Taylor
f63857deed update build/php submodule to pmmp/php-build-scripts@1b3fe3120c 2019-10-22 10:15:29 +01:00
Dylan K. Taylor
eda3d9b5e4 sync composer dependencies 2019-10-22 10:13:47 +01:00
Dylan K. Taylor
c3872619cd Block: mark boundingBox as nullable 2019-10-22 10:07:27 +01:00
Dylan K. Taylor
39cc590829 Skin: accommodate JSON geometry containing comments, closes #3121 2019-10-21 22:26:48 +01:00
Dylan K. Taylor
f347345bb3 Human::getInventory(): explicitly declare return type
the lack of this causes type inference bugs and documentation problems.
thanks PHPStan
2019-10-21 15:25:57 +01:00
Dylan K. Taylor
bb05cfb36c Shears: fixed always-false hardness check
thanks PHPStan
2019-10-21 15:21:22 +01:00
Dylan K. Taylor
7d5c3c9b46 backport 4364d2a94: AvailableCommandsPacket: Clean up internals
this is still disgusting, but it's a little more bearable now.
2019-10-21 14:51:36 +01:00
Frago9876543210
cff2d37add backport ec0558597b6ca948228846b25751c2b1863cbf3f: CommandParameter: change byte1 field to "flags" (#3115) 2019-10-21 10:03:59 +01:00