Dylan K. Taylor
c70c0b55df
Separate held item index change listener logic from PlayerInventory
2021-01-12 16:44:25 +00:00
Dylan K. Taylor
01c867b608
Human: make held item sync on inventory content change more consistent
...
before this change, setContents() wouldn't trigger a held item sync, nor would setItem(heldItemIndex, someItem).
2021-01-10 20:30:39 +00:00
Dylan K. Taylor
c4845ab6b1
Use Player->getNetworkSession() in places where it's assumed the player will be connected
2021-01-10 19:51:41 +00:00
Dylan K. Taylor
5e73417fa9
Player::getNetworkSession() now explicitly handles disconnected state by throwing an exception
...
instead of just allowing return of possibly-null networkSession
2021-01-10 19:50:13 +00:00
Dylan K. Taylor
972c911485
phpstan 0.12.65
2021-01-09 18:04:42 +00:00
Dylan K. Taylor
0d8858f948
composer.json: sort packages automatically
2021-01-09 17:38:22 +00:00
Dylan K. Taylor
3ef2a19527
Player: don't kick for attacking non-attackable entities
...
this is quite out-of-character for PM - it usually handles bad network requests by ignoring them, not by kicking the player off the server.
2021-01-08 20:58:15 +00:00
Dylan K. Taylor
053a7a1a61
Entity: split getSyncedNetworkData() into two functions
...
to avoid opaque boolean parameters
2021-01-08 13:59:52 +00:00
Dylan K. Taylor
e53b57732b
Entity: replace separate height/width/eyeHeight fields with an EntitySizeInfo structure
...
this will make it easier to implement stuff like sleeping (properly), swimming and gliding without needing to duplicate all the fields.
2021-01-08 00:11:01 +00:00
Dylan K. Taylor
574b615b4c
Player: fixed attack sounds being added at the wrong position
2021-01-08 00:04:05 +00:00
Dylan K. Taylor
a3597e195a
Player: extract getSaveData() from save()
...
this allows plugins to request this data whenever they want it (e.g. to save offline any time they want, instead of being confined to the server autosave interval).
2021-01-07 23:37:47 +00:00
Dylan K. Taylor
eaaed79b93
Player: remove useless check from save()
...
this exception is only thrown if the player is closed, which is already unexpected in the first place and will actually crash if it's not kosher. This prevents doing stuff like saving players during onDispose(), which crashes the server if a player is disconnected due to flagForDespawn().
2021-01-07 23:33:10 +00:00
Dylan K. Taylor
7b806e74b8
Player: use own logger for movement debug
2021-01-07 22:06:55 +00:00
Mohamed
5392ddf0b9
Fixed TNT broadcasting ignition sound ( #3996 )
...
closes #3952
2021-01-07 21:18:18 +00:00
Dylan K. Taylor
82c8fa696a
Relocate teleport ACK checks to InGamePacketHandler
2021-01-07 20:43:31 +00:00
Dylan K. Taylor
d76883a5f8
Merge branch 'stable'
2020-12-29 18:00:09 +00:00
Dylan K. Taylor
ec9b39862b
bootstrap: commit suicide if composer dependencies are not in sync
2020-12-29 17:47:32 +00:00
Dylan K. Taylor
efca8077d5
3.17.3 is next
2020-12-28 23:03:37 +00:00
Dylan K. Taylor
5066d5225b
Release 3.17.2
2020-12-28 23:03:32 +00:00
Dylan K. Taylor
aefaf73685
Living: extract an applyConsumptionResults() method from consumeObject()
...
inspired by #3592 , which has gone stale
2020-12-28 22:27:29 +00:00
Dylan K. Taylor
5fa4e284bf
Merge branch 'stable'
2020-12-27 19:35:27 +00:00
Dylan K. Taylor
793081d803
Entity: assume that position has a valid World during setPosition()
2020-12-27 19:20:37 +00:00
Dylan K. Taylor
15401d740f
RegionLoader: mark area as garbage in removeChunk()
2020-12-27 19:16:05 +00:00
Dylan K. Taylor
5920b0ba40
Remove _PHPSTAN_ANALYSIS constant
...
we don't need this anymore since PHPStan is able to intelligently decide whether to autoload a file or not.
2020-12-27 19:10:40 +00:00
Dylan K. Taylor
dea75a0687
RegionLoader: do not attempt to auto-repair chunks with oversized lengths
...
In the old days, we used to try to correct this problem by adjusting the region header to match the
length found at the start of the chunk payload. However, this has a very good chance to cause corruption
of other chunks, since we can't do any fast overlap checks (an upsize might cause the chunk's alloocated
area to overlap into another one, causing corruption when either chunk's space gets written to).
This corruption risk has become more problematic since the
introduction of region garbage sector reuse, since a broken location
header could cause chunks to trash each others' saved data.
In addition, if there is a length mismatch, there's a good chance that the oversized chunk itself will
already be corrupted, so we'd just fail trying to decompress it later on.
So, instead of trying to fix this automatically, we bail and hope this doesn't occur often enough for
users to get upset, and allow external offline tools to attempt to repair the mess instead.
2020-12-27 18:50:52 +00:00
Dylan K. Taylor
f215207a27
Merge remote-tracking branch 'origin/stable'
...
# Conflicts:
# composer.lock
# resources/vanilla
# src/CrashDump.php
# src/pocketmine/VersionInfo.php
# src/pocketmine/network/mcpe/protocol/DataPacket.php
2020-12-23 22:34:25 +00:00
Dylan K. Taylor
873e8740e0
3.17.2 is next
2020-12-23 22:20:24 +00:00
Dylan K. Taylor
260c55f23a
Release 3.17.1
2020-12-23 22:20:19 +00:00
Dylan K. Taylor
9ed430acb9
CrashDump: fixed a bug in crashdump generation
2020-12-23 21:53:12 +00:00
Dylan K. Taylor
f0241043de
CrashDump: add server uptime to crash information
2020-12-23 20:26:18 +00:00
Dylan K. Taylor
135f1c95e4
phpstan 0.12.64
2020-12-23 20:04:40 +00:00
Dylan K. Taylor
bcc3e87730
Timings: rename core timers to remove 'timer' from the names
...
this makes them shorter and more consistent.
2020-12-23 17:52:25 +00:00
Dylan K. Taylor
e762b79aae
Player: fixed setPosition() resending all the chunks
...
closes #3977
2020-12-21 00:09:49 +00:00
Dylan K. Taylor
c5693598aa
BulkCurlTask constructor now accepts BulkCurlTaskOperation[] instead of shaped arrays
2020-12-20 22:18:03 +00:00
Dylan K. Taylor
9228f006d4
Merge remote-tracking branch 'origin/stable'
...
# Conflicts:
# composer.json
# composer.lock
# resources/vanilla
# src/CrashDump.php
# src/PocketMine.php
# src/pocketmine/Server.php
# src/pocketmine/item/Bucket.php
# src/pocketmine/item/Item.php
# src/pocketmine/level/format/Chunk.php
# src/pocketmine/level/format/io/leveldb/LevelDB.php
# src/pocketmine/level/format/io/region/McRegion.php
# src/pocketmine/network/mcpe/protocol/BatchPacket.php
# src/pocketmine/tile/Furnace.php
# src/pocketmine/utils/UUID.php
# src/utils/ServerKiller.php
2020-12-20 20:54:13 +00:00
Dylan K. Taylor
a43b46a93c
Merge branch 'stable' of https://github.com/pmmp/pocketmine-mp into stable
2020-12-18 00:33:10 +00:00
Dylan K. Taylor
0604dfc9e5
phpstan 0.12.63
2020-12-18 00:32:55 +00:00
Govdim
dd2c3db285
Fixed a bucket of lava disappearing when used in a furnace ( #3973 )
...
fixes #2385
2020-12-17 23:57:34 +00:00
Dylan K. Taylor
1e737644de
World: split populateChunk() into two functions
...
requestChunkPopulation() respects the queue size, orderChunkPopulation() does not.
requestChunkPopulation() should be used for non-essential generation (which mainly includes generation for player use).
orderChunkPopulation() should probably be used by plugins.
2020-12-17 23:49:37 +00:00
Dylan K. Taylor
0682c93f5a
Drop bcmath dependency
...
we haven't used bcmath since the days of 32-bit.
2020-12-14 20:59:07 +00:00
Dylan K. Taylor
48623f4e79
World: add additional checks to addEntity() and removeEntity()
2020-12-14 18:55:52 +00:00
Dylan K. Taylor
24ac5f8be0
Fixed craftingDataCacheRebuildTimer never being stopped
2020-12-13 21:41:22 +00:00
Dylan K. Taylor
9e11cc03de
Server: get rid of matchPlayer()
...
the functionality of this API method is too specialized to be of any practical use.
In addition, a search on Poggit reveals that the only uses of this API method are abuses or incorrect uses anyway.
2020-12-13 21:38:11 +00:00
Dylan K. Taylor
c0438f1ddb
Move player creation out of NetworkSession
2020-12-13 21:20:37 +00:00
Dylan K. Taylor
6f09d472e2
WorldTimings: give timers names that actually make sense
2020-12-13 20:17:46 +00:00
Dylan K. Taylor
1de5fc86c4
PopulationTask: assume that generator has been initialized
2020-12-13 20:00:57 +00:00
Dylan K. Taylor
eaf6e19a6f
RakLib sync n.2
2020-12-12 19:54:17 +00:00
Dylan K. Taylor
5f4ef84d52
Clean up imports
2020-12-12 19:48:00 +00:00
Dylan K. Taylor
f81d061ea9
Updated to newest RakLib
2020-12-12 19:06:45 +00:00
Dylan K. Taylor
2af15557b9
Merge branch 'stable'
...
# Conflicts:
# .travis.yml
# resources/vanilla
# src/block/BlockToolType.php
# src/network/mcpe/protocol/types/entity/MetadataProperty.php
# tests/travis/setup-php.yml
2020-12-11 22:44:04 +00:00