61de84373a
PermissionParser: simplify code
2020-12-11 19:09:01 +00:00
bee770ebf5
Drop nested permissions support in plugin.yml
2020-12-11 19:03:52 +00:00
dd58a95ae5
Move last-known-position tracking to World instead of Entity
2020-12-10 18:28:40 +00:00
e925423749
Entity: fix chunk tracking consistency issues, fixed attempted chunk loading in origin world when teleporting to a different position in a different world
2020-12-10 18:13:18 +00:00
5282ae3298
TimingsHandler::printTimings() now returns a list of strings instead of requiring a resource
2020-12-09 22:32:32 +00:00
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
d39348929f
Removed PLUGIN_PATH constant
2020-12-09 20:48:50 +00:00
ff6672ba85
Merge branch 'stable'
...
# Conflicts:
# resources/vanilla
# src/utils/Utils.php
2020-12-09 20:27:19 +00:00
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
22c8bdeeeb
Merge branch 'stable'
...
# Conflicts:
# resources/vanilla
# src/CrashDump.php
# src/utils/Utils.php
2020-12-09 01:47:05 +00:00
794bb0a71d
PermissionParser: bail on encountering permissions whose names are not strings
2020-12-09 00:32:50 +00:00
104e90b794
CrashDump: more robust core crash detection
2020-12-08 23:27:03 +00:00
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
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
69a41a5ed4
3.17.1 is next
2020-12-08 21:02:14 +00:00
3903b70ef5
Release 3.17.0
3.17.0
2020-12-08 21:02:13 +00:00
692e63ad7c
Protocol changes for 1.16.200
2020-12-08 20:31:17 +00:00
05a1f45111
PluginGraylist: all fields are mandatory
2020-12-08 13:38:44 +00:00
219cf2126b
RegionWorldProvider: make loadRegion() return RegionLoader, fix 3 PHPStan null-reference errors
2020-12-07 19:04:52 +00:00
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
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
5f0310a8b6
3.16.2 is next
2020-12-07 17:16:11 +00:00
9b01fb3d89
Release 3.16.1
3.16.1
2020-12-07 17:16:10 +00:00
f28405fcfb
phpstan 0.12.59
2020-12-07 17:12:55 +00:00
c4b47c6c06
Implemented /clear command ( #3854 )
...
closes #3854
2020-12-06 15:26:12 +00:00
d9de775c27
Updated DevTools submodule to pmmp/DevTools@888d021260
2020-12-05 22:56:27 +00:00
0bbceee86d
PermissionParser: give permissions default FALSE if they don't specify their own default
2020-12-05 21:06:07 +00:00
9c07c206f6
Updated DevTools submodule to pmmp/DevTools@1606a4307b
2020-12-05 20:02:14 +00:00
d0d701f232
Updated build/php submodule to pmmp/php-build-scripts@a42c7df20a
2020-12-05 19:42:41 +00:00
07cae8a129
Updated composer dependencies
2020-12-05 19:40:30 +00:00
59cb11dc83
ChunkManager->setChunk() no longer accepts NULL
2020-12-05 18:54:30 +00:00
b6df5b974d
World->getHighestBlockAt() may still return -1 if the queried column of blocks is all air
2020-12-05 18:14:38 +00:00
531c191431
Finalize Utils class
2020-12-05 18:09:23 +00:00
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
b2bab6c2fb
clean dead errors out of phpstan l8 baseline
2020-12-05 01:32:23 +00:00
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
6869ee1c2d
Clean up nonsensical code in NetworkBinaryStream->getSlot()
2020-12-05 01:24:41 +00:00
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
070d8efda3
[ci skip] more world stuff for changelog
2020-12-05 01:02:53 +00:00
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
03b1ea766a
Added a DedicatedQueryNetworkInterface to ensure Query functionality when RakLibInterface is disabled ( #3942 )
2020-12-04 21:21:25 +00:00
37b9694845
ConsumingItemAnimation: fixed itemID translation for 1.16.100
2020-12-04 20:44:03 +00:00
1c49cedc8c
World: disallow block placement and breaking in unloaded, ungenerated and locked chunks
2020-12-04 15:49:35 +00:00
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
e056456dd1
Player: fixed crash when stopping using a chunk before it's finished being generated
2020-12-04 15:36:43 +00:00
26155acff2
register HellBiome ( #3950 )
2020-12-04 11:58:49 +00:00
5ba09b6a25
fix PopulationTask crash
2020-12-03 23:48:40 +00:00
5f55cdfa76
Cleaned out dead error patterns from phpstan level 8 baseline
2020-12-03 22:44:03 +00:00
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
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