Commit Graph

3891 Commits

Author SHA1 Message Date
TheMode
21bac6fba4 Better name for the local deflater, add link to the packet format
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-08 20:31:13 +02:00
Moulberry
788bb71587 Fix initial startCondition of DOUBLE_CLICK being wrong as well 2021-09-08 23:22:22 +08:00
Moulberry
08c9339fae Fix double-click calling startCondition on the wrong inventory 2021-09-08 22:55:48 +08:00
Moulberry
571624a952 Fix duplication glitch with shift-click 2021-09-08 22:45:11 +08:00
Moulberry
9e5fadaa0e Fix broken cursor with window items packet 2021-09-08 21:50:14 +08:00
TheMode
025052102d Ensure positive chunk view distance from the client
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-08 05:24:59 +02:00
TheMode
ffbc8e5f27 Fix Player#getLocale
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-08 00:54:00 +02:00
TheMode
3e386a1491 Send unload packet
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-07 21:26:24 +02:00
TheMode
e1c4a7afce Fix chunk 0 being sent multiple time
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-07 20:14:15 +02:00
TheMode
4a260b98c2 Simplify/Improve getChunksInRange
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-07 19:58:26 +02:00
Шандуренко Константин Владимирович
6c4eda3bb7 Chunk-related improvements 2021-09-07 19:24:24 +03:00
TheMode
4b7adae382 Make DimensionTypeManager thread-safe
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-07 16:47:14 +02:00
TheMode
1c76fd152e Fix viewable packet when a connection has multiple pairs
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-07 04:47:33 +02:00
TheMode
adf1023e35 There is no commit here - fix compression
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-07 01:31:34 +02:00
TheMode
8f1e84ffdb Prevent framed packets from being corrupted
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-07 01:24:51 +02:00
Шандуренко Константин Владимирович
85da1c073a Marked AbstractInventory with @NonExtendable 2021-09-06 21:10:40 +03:00
Шандуренко Константин Владимирович
2634042f7d InventoryItemChangeEvent is now recursive and not it's PlayerInventory-based child 2021-09-06 20:27:11 +03:00
Шандуренко Константин Владимирович
8f277cdb17 Removed unused imports 2021-09-06 20:24:20 +03:00
Шандуренко Константин Владимирович
5db56312f7 Code review 2021-09-06 20:23:37 +03:00
Шандуренко Константин Владимирович
8a04d7eed9 InventoryItemChangeEvent 2021-09-06 19:59:55 +03:00
TheMode
72987ac52f Save the server from crashing from OOM due to the client or server not being able to handle the network load
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-06 16:17:30 +02:00
TheMode
b2a0b91a45 Add warning in PacketUtils
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-06 13:40:11 +02:00
TheMode
02d927cc4d Rename internal registry constant holder interfaces
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-06 13:32:52 +02:00
TheMode
f3ee80d126 Create a separate method to init & start the socket server
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-05 22:03:51 +02:00
TheMode
2a8719e1e4 Make collections mutable in the meta builder
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-05 18:48:10 +02:00
TheMode
8cbd6460f4 Cleanup...
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-05 03:40:30 +02:00
TheMode
026550ac07 Simplify PacketUtils
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-05 02:50:59 +02:00
TheMode
7b8277b6be Do not flip the buffer inside #write(ByteBuffer)
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-04 23:56:27 +02:00
TheMode
885be567fa Avoid slice allocation
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-04 19:50:09 +02:00
TheMode
d21414c146 Handle prepared buffer being bigger than the pooled ones
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-04 19:30:18 +02:00
TheMode
f717279adc Independent socket send & receive buffer size
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-04 16:43:45 +02:00
TheMode
96bfc4c6fa Add getters for chunk coordinates in Point
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-04 15:29:20 +02:00
TheMode
8f17d52efa Merge branch 'master' into viewable-broadcast 2021-09-04 12:27:09 +02:00
TheMode
22b0c70500 Ensure that the read buffer can contain a single full packet
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-04 03:40:22 +02:00
TheMode
4f382c5684 Fix tick allocation
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-04 03:03:06 +02:00
TheMode
9353c56460 Fix build
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-04 02:25:09 +02:00
TheMode
2c1e3e4323 Merge branch 'master' into viewable-broadcast
# Conflicts:
#	src/main/java/net/minestom/server/network/player/PlayerSocketConnection.java
2021-09-04 02:22:52 +02:00
TheMode
df92939ddd Use soft references for pooled buffers
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-04 02:20:03 +02:00
TheMode
4075272a16 Disconnection should not be synchronized on the buffer lock
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-03 17:27:47 +02:00
TheMode
efb39c2ece Flush cleanup & prevent double allocation
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-03 16:51:00 +02:00
TheMode
e19b49db55 Merge branch 'master' into viewable-broadcast
# Conflicts:
#	src/main/java/net/minestom/server/network/player/PlayerSocketConnection.java
2021-09-03 14:01:39 +02:00
TheMode
538ef75552 Sending chunks should be thread safe
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-03 13:57:19 +02:00
TheMode
3d5ae6fe94 Pool main connection buffer
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-03 13:54:38 +02:00
TheMode
400109df0a Fix potential packet corruption
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-03 13:43:00 +02:00
TheMode
4b2bda15f5 Merge branch 'master' into viewable-broadcast
# Conflicts:
#	src/main/java/net/minestom/server/network/player/PlayerSocketConnection.java
2021-09-02 18:50:55 +02:00
TheMode
d4e51f562c Remove threadlocal buffer cache in ChunkDataPacket
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-02 18:44:50 +02:00
TheMode
399eb860a7 Improve performance when slow clients are connected
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-02 15:44:36 +02:00
TheMode
463a46ccc0 Set socket size to max packet size
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-01 18:21:51 +02:00
TheMode
0f2d850dce More Throwable handling
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-01 17:15:49 +02:00
TheMode
9bb4043571 Remove legacy weirdness
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-01 11:56:09 +02:00
Шандуренко Константин Владимирович
224345853e BoundingBox#PositionedPoints is immutable now 2021-08-31 16:16:43 +03:00
Шандуренко Константин Владимирович
32b33d6bf9 Code review 2021-08-31 15:55:24 +03:00
Шандуренко Константин Владимирович
34ec59dc68 ImmutableList.of() to List.of() 2021-08-31 15:52:38 +03:00
Шандуренко Константин Владимирович
a69cefd8d4 Fixing BoundingBoxes caching 2021-08-31 15:39:39 +03:00
iam4722202468
063a4dc392 Fix cursor item not being set properly when inventory click event is cancelled 2021-08-31 03:45:54 -04:00
Matt Worzala
220a4db768
mark BundleMeta experimental, shorten material nsid access 2021-08-30 18:09:08 -04:00
Matt Worzala
868c5ba044
add array copy 2021-08-30 18:04:46 -04:00
Matt Worzala
5b8051e2e8
experimental tags, docs, shorten item creation 2021-08-30 18:00:57 -04:00
Matt Worzala
8291639749
add BundleMeta and full item to/from nbt 2021-08-30 17:51:19 -04:00
TheMode
ebb179da7c You didn't see anything 2021-08-30 19:47:30 +02:00
TheMode
e99d8c6a6f Add BlockHandler.PlayerPlacement#getHand 2021-08-30 15:52:07 +02:00
TheMode
ae04ca5574 More comments for ListenerHandle 2021-08-30 12:33:09 +02:00
TheMode
a92ac203f7 Style cleanup 2021-08-29 17:11:10 +02:00
TheMode
61d19243f7 Fix event expiration 2021-08-29 12:50:44 +02:00
TheMode
8b61ead08e Fix parent filtering 2021-08-29 12:25:57 +02:00
TheMode
0a3ad69e58 Ensure listeners being up to date 2021-08-29 01:03:09 +02:00
TheMode
a75910fe3f Fix drag clicks 2021-08-29 00:07:58 +02:00
EpicPlayerA10
8b7fb7a7c5 Add missing husk 2021-08-28 21:10:56 +02:00
jglrxavpok
9f97c985aa Make javadoc build again 2021-08-28 17:09:07 +02:00
Xavier Niochaut
7b046c2225
Merge pull request #436 from Minestom/feature/thread-bound-tasks
Fix GLFW-based framebuffers not using the proper threads
2021-08-28 16:50:59 +02:00
jglrxavpok
6fc89c2017 Remove debug line 2021-08-28 16:46:09 +02:00
jglrxavpok
07a05a6ed2 Remove unused import 2021-08-28 16:45:06 +02:00
jglrxavpok
4184602eb0 oops wrong line 2021-08-28 14:30:49 +02:00
jglrxavpok
b9f1f75249 Cleanup un-needed changes 2 2021-08-28 14:28:45 +02:00
jglrxavpok
b1b1e70c40 Cleanup un-needed changes 2021-08-28 14:27:52 +02:00
jglrxavpok
85ca2a5302 No longer expose Thread-binding to Task API 2021-08-28 14:20:47 +02:00
TheMode
4d0924a522 Can now specify InstanceContainer chunk loader during initialization 2021-08-28 13:06:09 +02:00
TheMode
bf847fac79 Oops position 2021-08-28 11:51:39 +02:00
TheMode
9739403ff4 Properly update the client position when switching vehicle 2021-08-28 11:37:42 +02:00
TheMode
34ba838ab5 Improve movement cancelling 2021-08-28 11:28:14 +02:00
TheMode
4680dbd64e Reuse call method for mapped nodes
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-27 09:55:10 +02:00
TheMode
5c9c57439a Prevent node update from being called multiple times
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-27 09:51:36 +02:00
jglrxavpok
42938111d5 Allow tasks to be bound to the same thread for each run. 2021-08-26 19:50:28 +02:00
TheMode
f7cd0def20 Add dedicated CachedPacket for future network optimizations
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-26 18:18:35 +02:00
TheMode
b60b785dcd Fix unhandled exception
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-26 17:59:51 +02:00
Matthew
75964f87b4 Merge Task#scheduleForShutdown into Task#schedule 2021-08-26 11:22:08 -04:00
Matthew
1c92414cad Add TaskBuilder#build 2021-08-26 11:22:08 -04:00
Matthew
2674ca933e Move functionality from TaskBuilder#schedule to Task#schedule and Task#scheduleForShutdown 2021-08-26 11:22:08 -04:00
Matt Worzala
3ce51ff470 switch permission level back to an int internally 2021-08-26 11:12:03 -04:00
kiipy
6eac7282af Made Player#setPermissionLevel persistent after death. 2021-08-26 11:12:03 -04:00
TheMode
66681c5caf Use an array for filtering 2021-08-26 14:25:13 +02:00
TheMode
d56479d316 Ensure that child also invalidate events
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-26 13:24:16 +02:00
TheMode
af82bf1236 Reduce allocations for chunk packet writing 2021-08-26 10:55:56 +02:00
TheMode
024f8d36bd API cleanup 2021-08-26 10:36:31 +02:00
LeoDog896
811e3c542b Fix up tab completion for EntityType 2021-08-25 18:35:51 -04:00
TheMode
748b24b8ef Expand block properties error 2021-08-25 18:26:45 +02:00
TheMode
73f125763c Use a lock + weak map 2021-08-25 17:25:08 +02:00
TheMode
e185bca468 Fix obvious packet corruption 2021-08-25 13:54:09 +02:00
TheMode
5e18f48a1b Cleanup 2021-08-25 10:45:35 +02:00
TheMode
2ae0c0bbcd Batch movement packets 2021-08-25 09:01:13 +02:00