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