a331c5e13f
Player: reduce SetTitlePacket creation boilerplate
...
it's better to encapsulate all this logic in one place so that third party developers can more easily understand this, and also to reduce the amount of crap we have in Player.
2019-05-08 16:43:05 +01:00
c1a483a36d
move entity spawning logic back to Player
2019-05-07 18:35:04 +01:00
d7a7ab5102
Move Entity despawn logic back to Player
...
this is not network-session specific, and different implementations will need to do this.
2019-05-07 18:01:23 +01:00
3cd6e12e71
Renaming "Level" -> "World" ( #2907 )
...
This has been a pain point for a long time due to the misleading nature of the name "level". It's also confusing when trying to do things like getting the XP level of the player or such, and also does not translate well to other languages.
This transition was already executed on the UI some time ago (language strings) and now it's time for the same change to occur on the API.
This will burn a lot of plugins, but they'll acclimatize. Despite the scary size of this PR, there isn't actually so many changes to make. Most of this came from renaming `Position->getLevel()` to `Position->getWorld()`, or cosmetic changes like changing variable names or doc comments.
2019-05-07 14:47:28 +01:00
427e334426
rename PacketStream to PacketBatch
2019-05-06 19:58:02 +01:00
ce61c6e0fd
PacketStream: added fromPackets() sugar
2019-05-06 19:54:42 +01:00
3415edf600
PacketStream: add @throws
2019-05-06 17:46:37 +01:00
c2771eba88
use the appropriate API for decoding packet batches
2019-05-06 17:46:17 +01:00
82974e0271
NullSessionHandler: possibly premature optimization
2019-05-06 17:28:56 +01:00
685481b172
NetworkSession: improve GC performance without crashing everything
...
this is necessary because some handlers have circular references to the session, which causes GC lag collecting them. This change allows them to be collected immediately without nuking internal state.
2019-05-06 16:43:05 +01:00
5250a432d1
NetworkSession: add a dedicated PrefixedLogger, clean up some boilerplate code
2019-05-06 16:32:34 +01:00
7ae84944ca
protocol: add some missing interfaces for new packets
2019-05-02 17:35:54 +01:00
af07ffb292
Merge branch 'next-minor'
2019-05-02 16:44:50 +01:00
67e75d6c0a
Moved DataPropertyManager to network namespace
...
this is _extremely_ network-focused code.
2019-04-26 18:57:44 +01:00
854a2f5135
Move a giant heap of network garbage out of Entity
2019-04-26 18:52:38 +01:00
00644dd529
Fixed an edge-case in AvailableCommandsPacket decoding
2019-04-26 12:32:42 +01:00
b6b3dcc1aa
Improve documentation of SourceInterface and AdvancedSourceInterface
2019-04-26 11:59:10 +01:00
7d712d68c4
Merge branch 'stable'
2019-04-25 18:31:22 +01:00
3c941dd992
Move more stuff to BedrockData submodule
2019-04-25 18:23:31 +01:00
2bdbb9794c
New, more efficient blockstate table format
...
this reduces the file size by ~90%.
2019-04-25 17:28:22 +01:00
898009a91b
Sync crafting data changes
...
this seems to fix #2881 , at least the reproducing case that was given.
2019-04-25 16:22:12 +01:00
c5ca623124
Merge branch 'stable'
2019-04-25 15:27:13 +01:00
a3dea09e2a
sync with latest codegen changes
2019-04-25 15:19:15 +01:00
793f93afdb
NetworkSession: sync with latest code generation changes
2019-04-25 14:49:20 +01:00
64506ea3ae
PacketPool: add @throws
2019-04-25 14:48:55 +01:00
4a35516441
Reduce BatchPacket hacks
...
we can't get rid of these hacks entirely because BAcKWARdS ComPaTIbilitY, but this at least ensures that things over PID 127 won't burn the house down when 1.12 gets here. This also reduces conflicts with 4.0 line.
2019-04-25 14:48:36 +01:00
fa70127241
1.11.0 protocol changes
2019-04-24 19:54:16 +01:00
fc76d04dcb
StartGamePacket: allow specifying a custom runtimeID table
...
this is not the intended goal, but it's a happy side effect of making it easier to extract structured information from the client.
2019-04-24 18:40:29 +01:00
0dac982f16
Merge branch 'stable'
2019-04-21 16:56:53 +01:00
db896b9faf
ok i'm done
...
i am obviously not in any fit state to be doing this today...
2019-04-21 14:22:54 +01:00
76c234e4e6
add some limits on batches
2019-04-21 14:16:38 +01:00
86cc151e60
Revert "Network: Each interface now keeps its own statistics"
...
This reverts commit 7720a0534e
.
2019-04-18 15:45:03 -04:00
7720a0534e
Network: Each interface now keeps its own statistics
...
this allows more detailed analysis.
2019-04-18 19:57:40 +01:00
752e398970
AsyncTask: TLS now supports storing multiple values (now requires a key/value pair)
2019-04-18 18:58:31 +01:00
a4c7ec077b
Fixed possible crash in ChunkRequestTask
2019-04-18 17:45:14 +01:00
939dfd9269
First look at separating chunk sending from Level
2019-04-17 19:33:37 +01:00
3468f006a2
Use AsyncTask->onError() for chunk task crash tracking
2019-04-17 16:00:17 +01:00
209ae51a67
Merge branch 'stable'
2019-04-15 16:11:49 +01:00
cfd4580388
sync NBT network string length cap
2019-04-14 17:14:44 +01:00
0e3e984db9
Player: Disconnects no longer nuke player internals, (mostly) fixes #1239
...
there are some problems that haven't been accounted for yet, but this fixes all the direct crashes.
2019-04-03 17:44:34 +01:00
f332550e52
Player: move toggle* rollback handling to network session
...
this allows network sessions to react to it how they want, or (in the case of things like Specter) perhaps ignore it.
2019-04-02 19:49:53 +01:00
e5756dbf0b
Move a whole bunch of packet crap to NetworkSession
2019-04-02 18:31:16 +01:00
42a263a9df
GameMode is now an enum
2019-03-31 16:19:36 +01:00
aff2e0c86c
Merge branch '3.7'
2019-03-30 19:19:02 +00:00
8fcb44de7d
Merge branch '3.6' into 3.7
2019-03-29 19:55:36 +00:00
f4480c07ee
Updated NBT dependency
2019-03-29 19:47:15 +00:00
f638845ef6
Merge branch '3.7'
2019-03-29 15:16:27 +00:00
c09e2301c8
Merge branch '3.6' into 3.7
2019-03-29 14:35:35 +00:00
8e9f787d33
Implement runtimeID table randomization, closes #2841
2019-03-29 14:35:06 +00:00
0aebb3f4fb
Clean up LevelSoundEvent handling
2019-03-26 19:53:40 +00:00