fb059cda69
Merge commit 'a4e250a3e61cbf1e75fe2785e71158f16a4a9039'
...
# Conflicts:
# resources/vanilla
2020-06-17 20:48:19 +01:00
8d537eaae8
Merge commit '23b97d8e2dca50cca77061c1080911ab610fa708'
...
# Conflicts:
# resources/vanilla
# tests/phpstan/configs/l8-baseline.neon
2020-06-17 20:47:51 +01:00
f1fd8a13e9
Merge commit '1fb5043eb1b495e6926caecf3fb493837724c770'
...
# Conflicts:
# resources/vanilla
# tests/phpstan/configs/l8-baseline.neon
2020-06-17 20:46:18 +01:00
d310c8b782
Merge commit 'b0b1b29de4d4cbf60ca54d9043f01c9b2b21f136'
2020-06-17 20:44:32 +01:00
7e6a7d4611
Merge commit '1c3b641e37471833523f50f818571f25f85a52f9'
2020-06-17 20:43:57 +01:00
a2677eba02
Merge commit 'f3063e797fab56ff8d0213c8e5a3904085a6eb79'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/level/format/io/ChunkUtils.php
2020-06-17 20:43:30 +01:00
d2130265f8
Merge commit '8dcc88712c6b8a4d4a0c6be2f6b908ae85378209'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/level/format/io/ChunkUtils.php
# tests/phpstan/configs/l7-baseline.neon
2020-06-17 20:42:28 +01:00
921aa091e0
Merge commit '04191ec44a00dd058f5d7e9e315d451e44285494'
...
# Conflicts:
# resources/vanilla
# tests/phpstan/configs/l7-baseline.neon
2020-06-17 20:40:12 +01:00
14d3e5ce27
Merge commit '62ea7c93a9ba1e71bef868efefdd9cc6dcc84a08'
...
# Conflicts:
# resources/vanilla
# src/entity/Skin.php
# src/item/InvalidSkinException.php
2020-06-17 20:34:19 +01:00
09909f7af8
Merge commit 'cf06b5b8cffb4ee3a4c1e88b7be9e35fca74a89e'
2020-06-17 19:20:53 +01:00
6d63c9bf43
Merge commit 'a8ec51daacaef9113b17e3fc79c0bdcaf1c99df9'
2020-06-17 19:20:30 +01:00
57908586bd
more jsonmapper models for login
2020-06-17 19:10:27 +01:00
4bb93eeca7
updated composer dependencies
2020-06-17 14:32:57 +01:00
506f98efc4
Eliminate usages of BaseNbtSerializer->readCompressed() and BaseNbtSerializer->writeCompressed()
2020-06-17 14:31:56 +01:00
3cdf808da1
NetworkNbtSerializer: do not assume that this format is related to the disk little-endian format
2020-06-17 13:55:29 +01:00
76e15016a2
updated composer dependencies
2020-06-17 13:51:14 +01:00
c618932d25
Eliminate usages of BinaryStream->setBuffer() and BinaryStream->reset()
2020-06-17 13:49:43 +01:00
893f7cb6ef
fix crash whn player joins in spectator mode
2020-06-17 12:39:54 +01:00
9c46a1f141
Rename Packet->getBinaryStream() -> Packet->getSerializer()
2020-06-17 11:33:59 +01:00
6c096c44aa
Rename NetworkBinaryStream -> PacketSerializer
2020-06-17 11:31:13 +01:00
c6557f0222
protocol: added a FixedItemIds class (this is fully auto-generated, unlike the one provided by the API)
...
this may be different from the IDs exposed on the API and shouldn't be used for anything outside the protocol.
TODO: we need to review the dynamicness of item numeric IDs and find out if it's possible for them to change based on StartGamePacket content. If they can, we might need to change this.
2020-06-17 11:06:26 +01:00
a4e250a3e6
TextFormat: improved exception messages for PCRE failures
2020-06-15 23:43:01 +01:00
23b97d8e2d
TextFormat: wrap all preg_replace() usages in a type-safe exception-throwing version
...
fixes 3 phpstan level 8 errors
2020-06-15 23:31:46 +01:00
1fb5043eb1
build/server-phar: fixed a phpstan level 8 error
2020-06-15 23:16:40 +01:00
b0b1b29de4
Chunk: specify list<int> for heightMap
2020-06-15 23:07:35 +01:00
1c3b641e37
ChunkUtils: be more specific in extension stub too
2020-06-15 23:07:05 +01:00
f3063e797f
ChunkUtils: provide a more explicit parameter type
2020-06-15 23:05:52 +01:00
8dcc88712c
ChunkUtils: fixed phpstan level 7 type inference error
2020-06-15 23:04:12 +01:00
04191ec44a
Rail: specify type for local static variable
...
fixes a phpstan level 7 error
phpstan doesn't make any assumptions about local static variable types because analysing them would require too much work, apparently.
2020-06-15 22:47:20 +01:00
a381fc8848
sync composer dependencies
2020-06-15 22:24:44 +01:00
62ea7c93a9
added a dedicated InvalidSkinException
2020-06-15 21:48:24 +01:00
cf06b5b8cf
Player: explicitly check for false return of dataPacket()
...
fixes a phpstan error on l7
this won't ever actually be a problem, but this isn't obvious from the type system.
2020-06-15 21:24:19 +01:00
a8ec51daac
Player: do not assign maybe-false result of json_encode() to ModalFormRequestPacket
...
fixes a phpstan error on l7
2020-06-15 21:22:33 +01:00
3294075aad
LoginPacketHandler: use double quotes consistently
...
the mixture of single quotes and double quotes makes PHPStan type inference quietly not work, and reports an error here in checkExplicitMixed mode.
2020-06-15 20:31:09 +01:00
7d73630fb7
Merge branch 'stable'
...
# Conflicts:
# resources/vanilla
# src/world/format/io/region/RegionGarbageMap.php
# src/world/format/io/region/RegionLoader.php
# tests/phpstan/configs/l7-baseline.neon
# tests/phpunit/world/format/io/region/RegionLocationTableEntryTest.php
2020-06-15 20:10:15 +01:00
6a7b77fee2
first look at making region writes reuse old space
2020-06-15 18:36:54 +01:00
da42c8d020
Bump phpunit/phpunit from 9.2.2 to 9.2.3 ( #3588 )
2020-06-15 16:30:50 +00:00
b902f9ded0
RegionLoader: fixed 2 phpstan level 7 errors (eof reading region header)
2020-06-15 15:09:37 +01:00
9bb8a8f761
RegionLoader: added utility function getProportionUnusedSpace()
2020-06-15 13:49:03 +01:00
63b14a083c
RegionLoader: added utility function generateSectorMap()
...
this proved very useful while debugging some internal issues.
2020-06-15 13:48:17 +01:00
627a7c951a
RegionLoader: added missing const import
2020-06-15 13:46:03 +01:00
bb2685ca65
RegionLocationTableEntry: cap firstSector at 16777216
...
this is the biggest sector start that the location table can represent, due to the binary format. Larger values than this will overflow and cause corruption.
This provides an effective limit of 64 GB on region files.
2020-06-15 13:23:08 +01:00
d38709a7ae
RegionLoader: remove unused variable
2020-06-15 12:26:20 +01:00
b559a65346
RegionLoader: account for possible corrupted header pointing to itself
2020-06-15 12:13:42 +01:00
b92a2ded8a
RegionLoader: check for zero sector count when loading location table
...
implementations shouldn't be writing location entries that have an offset but zero sectors, but just in case they do, we need to be aware of it.
2020-06-15 12:08:55 +01:00
22f25dfbdb
RegionLocationTableEntry: require sector count to be at least 1
2020-06-15 12:05:48 +01:00
6bf840c72e
RegionLoader: use actual null instead of zeroed entry for non-allocated chunks
...
this forces the code to be properly aware of non-allocated chunks, because it'll crash with NPE if it isn't.
2020-06-15 12:02:03 +01:00
745be19a56
RegionLoader: fixed regions ballooning when writing chunks to the end of file
...
we already have a region growth problem due to the lack of garbage collection, but this bug was making it worse. If the region already contained 1024 allocated chunks, 4MB of file space would get wasted before the next chunk would be appended to the file.
2020-06-14 23:40:33 +01:00
e05bee5ffb
RegionLoader: do a full check for chunk overlaps during initial load
2020-06-14 22:39:01 +01:00
a39fbe600d
Merge branch 'stable'
...
# Conflicts:
# phpstan.neon.dist
# resources/vanilla
2020-06-14 20:03:02 +01:00