13007 Commits

Author SHA1 Message Date
Dylan K. Taylor
5282ae3298 TimingsHandler::printTimings() now returns a list of strings instead of requiring a resource 2020-12-09 22:32:32 +00:00
Dylan K. Taylor
58db3531c7 Use hrtime() for collecting timings
this allows nanosecond resolution and generally better accuracy than microtime(), which is subject to floating-point errors.
2020-12-09 22:24:31 +00:00
Dylan K. Taylor
d39348929f Removed PLUGIN_PATH constant 2020-12-09 20:48:50 +00:00
Dylan K. Taylor
ff6672ba85 Merge branch 'stable'
# Conflicts:
#	resources/vanilla
#	src/utils/Utils.php
2020-12-09 20:27:19 +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
22c8bdeeeb Merge branch 'stable'
# Conflicts:
#	resources/vanilla
#	src/CrashDump.php
#	src/utils/Utils.php
2020-12-09 01:47:05 +00:00
Dylan K. Taylor
794bb0a71d PermissionParser: bail on encountering permissions whose names are not strings 2020-12-09 00:32:50 +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
197b1a8566 Merge branch 'stable'
# Conflicts:
#	resources/vanilla
#	src/network/mcpe/protocol/types/inventory/stackresponse/ItemStackResponseSlotInfo.php
#	src/network/mcpe/raklib/FilterTextPacket.php
#	src/pocketmine/VersionInfo.php
#	src/pocketmine/network/mcpe/protocol/PacketPool.php
#	src/pocketmine/network/mcpe/protocol/ResourcePacksInfoPacket.php
2020-12-08 21:34:06 +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 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
05a1f45111 PluginGraylist: all fields are mandatory 2020-12-08 13:38:44 +00:00
Dylan K. Taylor
219cf2126b RegionWorldProvider: make loadRegion() return RegionLoader, fix 3 PHPStan null-reference errors 2020-12-07 19:04:52 +00:00
Dylan K. Taylor
e810a68dd7 Merge branch 'stable'
# Conflicts:
#	build/php
#	composer.lock
#	resources/vanilla
#	src/pocketmine/VersionInfo.php
#	src/pocketmine/level/format/io/region/McRegion.php
2020-12-07 18:57:58 +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 3.16.1 2020-12-07 17:16:10 +00:00
Dylan K. Taylor
f28405fcfb phpstan 0.12.59 2020-12-07 17:12:55 +00:00
Ifera
c4b47c6c06 Implemented /clear command (#3854)
closes #3854
2020-12-06 15:26:12 +00:00
Dylan K. Taylor
d9de775c27 Updated DevTools submodule to pmmp/DevTools@888d021260 2020-12-05 22:56:27 +00:00
Dylan K. Taylor
0bbceee86d PermissionParser: give permissions default FALSE if they don't specify their own default 2020-12-05 21:06:07 +00:00
Dylan K. Taylor
9c07c206f6 Updated DevTools submodule to pmmp/DevTools@1606a4307b 2020-12-05 20:02:14 +00:00
Dylan K. Taylor
d0d701f232 Updated build/php submodule to pmmp/php-build-scripts@a42c7df20a 2020-12-05 19:42:41 +00:00
Dylan K. Taylor
07cae8a129 Updated composer dependencies 2020-12-05 19:40:30 +00:00
Dylan K. Taylor
59cb11dc83 ChunkManager->setChunk() no longer accepts NULL 2020-12-05 18:54:30 +00:00
Dylan K. Taylor
b6df5b974d World->getHighestBlockAt() may still return -1 if the queried column of blocks is all air 2020-12-05 18:14:38 +00:00
Dylan K. Taylor
531c191431 Finalize Utils class 2020-12-05 18:09:23 +00:00
Dylan K. Taylor
1f330c0f50 World: ignore entities calling onEntityMoved() who aren't members of the world
this can happen if movement or teleportation occurs during the creation of an entity.
2020-12-05 17:49:34 +00:00
Dylan K. Taylor
b2bab6c2fb clean dead errors out of phpstan l8 baseline 2020-12-05 01:32:23 +00:00
Dylan K. Taylor
a5315991d5 Merge branch 'stable'
# Conflicts:
#	resources/vanilla
#	src/network/mcpe/protocol/serializer/PacketSerializer.php
#	src/world/biome/Biome.php
#	tests/phpstan/configs/l8-baseline.neon
2020-12-05 01:30:39 +00:00
Dylan K. Taylor
6869ee1c2d Clean up nonsensical code in NetworkBinaryStream->getSlot() 2020-12-05 01:24:41 +00:00
Dylan K. Taylor
eca0e88471 BaseInventory: fixed passing NULL slots to InventoryListener->onContentChange()
as per the documentation, InventoryListener->onContentChange() does not expect to receive NULL in the given array.
2020-12-05 01:11:30 +00:00
Dylan K. Taylor
070d8efda3 [ci skip] more world stuff for changelog 2020-12-05 01:02:53 +00:00
Dylan K. Taylor
d728160a77 Removed the cycle between Entity and Chunk
it's now the World's responsibility to manage adding/removing entities from appropriate chunks. Entities no longer know or care that chunks exist.
Entity->checkChunks() remains as-is for backwards compatibility - now it just calls the world to sync its position.
2020-12-05 00:59:16 +00:00
Dylan T
03b1ea766a
Added a DedicatedQueryNetworkInterface to ensure Query functionality when RakLibInterface is disabled (#3942) 2020-12-04 21:21:25 +00:00
Dylan K. Taylor
37b9694845 ConsumingItemAnimation: fixed itemID translation for 1.16.100 2020-12-04 20:44:03 +00:00
Dylan K. Taylor
1c49cedc8c World: disallow block placement and breaking in unloaded, ungenerated and locked chunks 2020-12-04 15:49:35 +00:00
Dylan K. Taylor
bacdb7bde5 Make sure generator gets preemptively registered when a worker restart is detected
if a PopulationTask took place after the target worker was garbage collected, the population would fail and the chunks it used would be copied for nothing.
This change marks workers as having unregistered generators when detecting that a worker that previously had a generator registered is restarted.
2020-12-04 15:44:17 +00:00
Dylan K. Taylor
e056456dd1 Player: fixed crash when stopping using a chunk before it's finished being generated 2020-12-04 15:36:43 +00:00
HighTec
26155acff2
register HellBiome (#3950) 2020-12-04 11:58:49 +00:00
Dylan K. Taylor
5ba09b6a25 fix PopulationTask crash 2020-12-03 23:48:40 +00:00
Dylan K. Taylor
5f55cdfa76 Cleaned out dead error patterns from phpstan level 8 baseline 2020-12-03 22:44:03 +00:00
Dylan K. Taylor
b9cd633cee Chunks no longer exist in un-generated state
a non-generated chunk is now always represented by NULL. This forces the case of ungenerated chunks to be handled by all code, which is necessary because ungenerated chunks cannot be interacted with or modified in any meaningful way.
2020-12-03 22:28:43 +00:00
Dylan K. Taylor
05ab44f768 PopulationTask no longer creates chunks if they don't exist
creating a throwaway empty chunk on the main thread is pointless.
2020-12-03 22:12:42 +00:00
Dylan K. Taylor
c808095978 Chunks no longer contain their own coordinates 2020-12-03 21:59:30 +00:00
Dylan K. Taylor
1f5998d24c FastChunkSerializer no longer encodes chunk coordinates
in cases like PopulationTask it makes more sense to store the coordinates separately where they can be stored more efficiently (once instead of 9 times)
In addition, PopulationTask shouldn't need to serialize an empty chunk just to copy coordinates.

I've made changes like this in other areas already in preparation for the day when chunks no longer contain their coordinates, so this brings us one step closer to that goal.
2020-12-03 20:52:33 +00:00
Dylan K. Taylor
5b1fa25dff LightPopulationTask: remove useless @var 2020-12-03 20:29:41 +00:00
Dylan K. Taylor
7edfa3713b Do not persist SimpleChunkManager between async tasks
this is just asking for memory leaks.
2020-12-03 19:46:23 +00:00