Commit Graph

580 Commits

Author SHA1 Message Date
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
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
dbd51610c3 TypeConverter: use SingletonTrait 2020-05-05 19:22:20 +01:00
81f982a8d9 remove hardcoded legacy entity type ID mapping, load from resources instead 2020-05-04 13:47:39 +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
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
d3dcb8a4e3 moving entity attack sounds to server-side 2020-05-04 11:50:42 +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
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
b74f177958 ChunkCache: destroy cache when world is unloaded 2020-04-29 18:50:33 +01:00
bb11cbd89c World: relocate packet stuff for time and difficulty behind NetworkSession API 2020-04-29 18:31:54 +01:00
c8c0a1533c NetworkSession: seal up actor removal behind API 2020-04-29 17:00:47 +01:00
adadd5423d move force-close crafting grid hack to InGamePacketHandler
the crafting transaction implementation has no business caring about this
2020-04-29 16:54:23 +01:00
4ce6525065 NetworkSession: incomplete abstraction of SetActorDataPacket handling
this needs to have the metadata properties separated too, but that's a job that's going to get VERY messy.
2020-04-29 16:50:52 +01:00
d1b28ce17a NetworkSession: allow sending an arbitrary set of attributes for an entity 2020-04-29 16:45:09 +01:00
f6f714c158 NetworkSession: do not mark shared attributes as synchronized, they don't necessarily belong to us
if we decided to start sending entity attribute changes to viewers too, this would have caused some unexpected behaviour.
2020-04-29 16:38:10 +01:00
f35b7bf80b NetworkBinaryStream: remove stale @throws from getAttributeList() 2020-04-29 16:32:56 +01:00
ad70a9e3dc NetworkSession: allow provision of a custom list of players to syncPlayerList() 2020-04-29 16:27:34 +01:00
d8968e9e40 box up TakeItemActorPacket sending behind NetworkSession API
we need to start thinking about moving this into interfaces.
2020-04-29 16:24:04 +01:00
549940d8a7 remove NullPacketHandler
this is a waste of LOC
2020-04-29 13:14:23 +01:00
b6214744d5 NetworkSession: inject PacketPool instead of hardcoding it
this will make it slightly easier for multi version implementations, but handlers are still quite a big problem.
2020-04-29 12:48:28 +01:00
09e994a026 NetworkBinaryStream: swap BadPacketException for PacketDecodeException 2020-04-29 11:39:44 +01:00
f6f1d31112 do not mess with cached data directly in packets 2020-04-29 11:34:25 +01:00
f9a587d40e imports cleanup 2020-04-28 17:27:38 +01:00
81044d6aea updated to latest RakLib 2020-04-28 16:30:29 +01:00
3be9548b1e net: compressors are now fully dynamic (or at least the potential to be)
the compressor used by RakLibInterface when opening a session is still
hardcoded, but that's because we have no way to select the correct
compressor at that point in the login sequence, since we aren't
propagating the protocol information up from RakLib right now.
2020-04-28 16:21:18 +01:00
d9e4783b24 start making network compressors dynamic
this will facilitate future multi version support where compression types are different between versions
2020-04-28 14:47:01 +01:00
a97cafd4f6 moving serializers into protocol namespace 2020-04-27 13:54:39 +01:00
0397204c68 network/mcpe: imports cleanup 2020-04-27 12:56:28 +01:00
15c744b0d7 protocol: specialize exception used for bad packets 2020-04-27 12:55:00 +01:00
2a4d936fd4 Merge branch 'master' of https://github.com/pmmp/pocketmine-mp 2020-04-25 12:36:24 +01:00
45bed454f2 Merge commit '3d2ca45' 2020-04-25 12:14:45 +01:00
b1eff87ad1 fix incorrect conversion of CreateItemAction, close #3436 (#3437) 2020-04-25 10:21:40 +01:00
1f7f33d35d NetworkSession: privatise setAuthenticationStatus()
this is accessed via a closure proxy, so it doesn't need to be exported anymore.
2020-04-25 03:33:44 +01:00
80680f15f4 seal up resource pack completion callback visibility 2020-04-25 03:31:13 +01:00
6dd31cc3f5 break cycle between block and inventory packages 2020-04-24 23:53:49 +01:00
c869a7f099 HandshakePacketHandler no longer depends on NetworkSession 2020-04-24 23:18:29 +01:00
a75241ef03 RuntimeBlockMapping: use SingletonTrait 2020-04-24 21:32:47 +01:00
3a42c21cc1 wrap up block_id_map in a class 2020-04-24 21:28:27 +01:00
ff915b829c StartGamePacket: remove hardcoded cache, move to RuntimeBlockMapping 2020-04-24 20:50:56 +01:00
287bf4274f move RuntimeBlockMapping to convert package 2020-04-24 12:42:43 +01:00
08ac6a3c43 Convert CreativeInventory to singleton 2020-04-24 00:38:18 +01:00
5a94af40e2 Convert ItemFactory to singleton 2020-04-24 00:18:31 +01:00