3a6cdba281
Implemented server-side block-break FX handling, closes #3485
...
this had been planned for a long time already, just never finished.
It's not fully done, because there needs to be synchronization of block-break handlers between different players attempting to break the same block, but this should resolve a lot of the bugs that previously existed, while also opening the doors to making the logic more flexible.
2020-05-11 21:16:30 +01:00
24b63d71ab
updated DevTools submodule
2020-05-11 19:30:52 +01:00
3238b4ff33
Remove PluginIdentifiableCommand in favour of a more generic PluginOwned interface
2020-05-11 19:25:52 +01:00
6b037d6a4c
RuntimeBlockMapping: these IDs are not static any more
2020-05-11 12:40:55 +01:00
e3dec95b75
Convert AsyncPool tests into PHPUnit tests
2020-05-11 11:34:50 +01:00
b7cf4f01f9
remove utils\UUID, switch to pocketmine/uuid package
2020-05-11 10:46:48 +01:00
cb33f408a1
updated pocketmine/spl to get rid of ErrorUtils
2020-05-10 13:08:48 +01:00
3299bc4023
start using pocketmine/errorhandler
2020-05-10 13:04:40 +01:00
65e359584e
Updated RakLib to pmmp/RakLib@12153dc
2020-05-10 11:59:03 +01:00
8efe7fcfb0
World: allow configuring blocks-per-tick for random updating
...
this makes it much easier to observe and debug stuff that depends on it, such as grass, crop and tree growth, since they'll happen much faster.
A future improvement would be to have the update function use a non-global random so that the output can be reproduced using a given seed.
2020-05-10 11:50:31 +01:00
a6c35cab9a
JwtUtils: fix phpstan failure
2020-05-06 22:00:11 +01:00
0b6d6306cf
LoginPacket: fixed error handling edge case with malformed chain data JSON
2020-05-06 21:46:35 +01:00
ed757c7207
consolidate some JWT handling into one class
2020-05-06 21:32:22 +01:00
5d154e43a9
LoginPacket: removed an old hack that's no longer used
2020-05-06 21:18:05 +01:00
a92580b993
StartGamePacket: remove unused imports
2020-05-06 21:14:57 +01:00
acd37b95b8
Merge branch 'next-minor'
2020-05-06 20:41:48 +01:00
717b866605
Merge branch 'stable' into next-minor
2020-05-06 20:25:11 +01:00
ef97c8f99e
Utils: fix parsing of single-line doc comments, closes #3388 ( #3469 )
...
* Utils: fix parsing of single-line doc comments, closes #3388
* correctly handle the empty doc-comment case, add another test case
* ignore an extra phpstan bug
2020-05-06 14:17:08 +01:00
88c6dcf46d
ChunkCache: clean up handling of cache cleanup on world unload
2020-05-06 13:41:36 +01:00
e392a6a807
PrepareEncryptionTask: do not store onCompletion as a field
...
pthreads will screw around with it and make it do things it's not supposed to, which is the exact reason why we have thread-local storage to begin with.
2020-05-06 13:32:18 +01:00
ff53ddd3ad
PrepareEncryptionTask: fix wrongly-specified nullability of serverPrivateKey
2020-05-06 13:29:58 +01:00
b4606a4cd0
remove PM resource interaction from StartGamePacket
...
also lose the cache, because it's not very useful ...
2020-05-06 13:17:16 +01:00
218f32f5b8
De-duplicate code used by legacy <-> string ID mapping classes
2020-05-06 13:15:54 +01:00
dbd51610c3
TypeConverter: use SingletonTrait
2020-05-05 19:22:20 +01:00
9cf410d484
Player: fixed broken behaviour of entity spawning on chunk send, closes #3355
2020-05-05 18:55:13 +01:00
84932ce908
Bump phpstan/phpstan from 0.12.22 to 0.12.23 ( #3468 )
2020-05-05 15:59:22 +00:00
6bfc309a0a
phpstan 0.12.22
2020-05-04 22:26:44 +01:00
06e8c6a3ad
Entity: new data flags
2020-05-04 21:58:44 +01:00
c2b438ccb6
git you need to stop doing this to me REEEEEEEEEEEEEEEEEEEEEEE
2020-05-04 14:30:01 +01:00
81f982a8d9
remove hardcoded legacy entity type ID mapping, load from resources instead
2020-05-04 13:47:39 +01:00
f0dfa45172
phpstorm fixing EOF newlines that phpstorm screwed up
2020-05-04 13:46:20 +01:00
ba6fb87280
remove unused imports
2020-05-04 13:27:31 +01:00
fcd6a69000
cleaning up NBT handling on packet decode/encode
...
now we always decode, because it's not safe to assume that we can just grab the rest of the bytes in the packet.
2020-05-04 13:23:29 +01:00
0eec536f97
Spawnable: remove unused field
2020-05-04 13:10:23 +01:00
a73c54bdd0
making tile spawn compound cache use CacheableNbt instead of strings
2020-05-04 12:35:13 +01:00
c2857a91bd
[Network]ChunkSerializer: allow injecting RuntimeBlockMapping
...
this will allow the same serializer to be reused with different mapping tables (will be needed for multi version).
2020-05-04 12:14:27 +01:00
53a33e8c20
World: remove unused import
...
we're getting so close !!!
2020-05-04 11:58:57 +01:00
d3dcb8a4e3
moving entity attack sounds to server-side
2020-05-04 11:50:42 +01:00
d40152e3bb
World: fix time sync
2020-05-04 11:23:44 +01:00
aac017eae4
World: drop unused and very misleadingly named addChunkPacket()
2020-05-04 10:22:39 +01:00
c490bc5a8c
World: drop global packet broadcast
2020-05-04 02:31:19 +01:00
b1021315b0
World: remove protocol-specialized broadcastLevelEvent()
2020-05-04 02:28:34 +01:00
f34753c496
CallbackInventoryListener: fix crash when any of the callbacks isn't provided
2020-05-03 21:48:32 +01:00
6e6fffa461
Inventory: added removeAllListeners()
...
this isn't strictly necessary because it could be done by removeListeners(...getListeners()), but I think developers will appreciate not needing so much boilerplate code.
2020-05-03 21:44:45 +01:00
8682ea35f7
Introduce some (not great) API for entity animations
...
while this API is a bit yucky, it's a step forward for protocol isolation and offers the possibility of controlling animations by adding events.
2020-05-01 13:57:26 +01:00
9615186afd
rename PunchBlockParticle -> BlockPunchParticle
2020-05-01 12:36:31 +01:00
2964a4be35
making BlockPunchSound server-controlled
2020-05-01 12:23:00 +01:00
1969766b70
Nix some client-sided sounds, control them from the server
...
this is a necessary step to knock out the implicit assumption that every player is using the same protocol.
2020-05-01 11:52:32 +01:00
71271a0e03
Use env to locate bash ( #3439 )
...
This change uses env to locate bash, instead of hard-coding it. This is necessary on FreeBSD. Tested on Linux as well.
2020-04-30 17:34:13 +01:00
6f38031121
Liquid: do not schedule delayed blockupdate when hardening occurs on nearby blockupdate
...
fix #3390
fix #3392
2020-04-30 09:35:55 +01:00