Commit Graph

799 Commits

Author SHA1 Message Date
TheMode
2ecd10a4ec Cipher#update is copy-safe
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-15 03:47:48 +02:00
TheMode
7737d0e5b3 Cleanup MultiBlockChangePacket
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-14 08:14:14 +02:00
TheMode
983850171b Use cleaner to reuse connection buffers
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-14 02:22:58 +02:00
TheMode
e1a3c295a2 Add dedicated PooledBuffers class
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-13 22:12:07 +02:00
TheMode
ee95015ed3 Simplify packet reading
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-11 03:39:59 +02:00
TheMode
fd027ecfd7 Do not forget to put the buffer back in the pool queue
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-09 23:18:14 +02:00
TheMode
526108b896 Remove unnecessary allocation during encryption
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-09 23:15:57 +02:00
Moulberry
9e5fadaa0e Fix broken cursor with window items packet 2021-09-08 21:50:14 +08:00
TheMode
8f1e84ffdb Prevent framed packets from being corrupted
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-07 01:24:51 +02: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
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
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
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
df92939ddd Use soft references for pooled buffers
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-04 02:20:03 +02:00
TheMode
3d5ae6fe94 Pool main connection buffer
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-03 13:54:38 +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
f7cd0def20 Add dedicated CachedPacket for future network optimizations
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-26 18:18:35 +02:00
TheMode
dc59f3fd23 Make auth requests async 2021-08-23 08:53:08 +02:00
TheMode
23c76bc799 Fix & cleanup OpenToLAN 2021-08-21 10:12:55 +02:00
TheMode
56f826a41e Cache block entities even without handler. Fix them from being invisible 2021-08-21 04:53:43 +02:00
TheMode
874c60fb6a Remove player on server shutdown 2021-08-19 23:17:25 +02:00
TheMode
62916239b5 Increase the default socket buffer size 2021-08-19 10:42:50 +02:00
TheMode
1c59186b61 Improve chunk packet reading 2021-08-19 00:11:24 +02:00
TheMode
5cf358ac3c Fix inventory events not giving the proper inventory/slot 2021-08-18 21:08:04 +02:00
TheMode
f26e6ef91f Annotation style 2021-08-18 00:43:09 +02:00
TheMode
dbf5ff6cd4 Add PlayerConnection#flush without guarantee 2021-08-17 23:23:41 +02:00
TheMode
460585ae9b Prevent the client from breaking due to weird command syntaxes 2021-08-17 21:39:26 +02:00
TheMode
c58eaa51d3 Fix test 2021-08-17 18:44:53 +02:00
TheMode
42afae9b68 Add warning for string reading + incorrectly configured ip forwarding 2021-08-17 06:10:36 +02:00
TheMode
6f2cf8e6a5 PlayerDiggingListener refactoring 2021-08-15 20:25:23 +02:00
TheMode
af50bbb440 Player#UNSAFE_init now set the instance 2021-08-15 00:52:07 +02:00
TheMode
d4f74abc64 Include original packet in FramedPacket for debugging/listening purpose 2021-08-13 19:58:14 +02:00
TheMode
322572c96d Rename to LocalCache 2021-08-13 01:13:58 +02:00
TheMode
78126fad6c Add experimental local buffer API. Remove allocation when writing chunk packets (should help with startup time) 2021-08-13 01:08:19 +02:00
TheMode
8ff4f9432c Init player before setting its instance 2021-08-11 16:15:56 +02:00
TheMode
13538c768c Less worker threads by default 2021-08-11 14:32:06 +02:00
TheMode
fd08cabb6a Change default tab implementation to show all online players 2021-08-11 14:18:04 +02:00
TheMode
18058bc3c8 Reduce ByteBuffer allocation 2021-08-09 23:54:45 +02:00
TheMode
e9e688b50a Add (and fix) packet reading warning 2021-08-09 15:09:08 +02:00
TheMode
10fce3c034 Use lambda for socket accept 2021-08-08 23:51:59 +02:00
TheMode
1b79d2e2e8 Cleanup 2021-08-08 23:03:01 +02:00
TheMode
3881102925 Make Worker a thread 2021-08-08 21:28:38 +02:00
TheMode
99a3ad88a1 Use lambda for socket selection 2021-08-08 21:14:53 +02:00
TheMode
1591df16aa Rename netty to socket wherever possible 2021-08-08 19:11:47 +02:00
TheMode
b56509718c Add encryption support 2021-08-08 19:02:36 +02:00
TheMode
a2e2461d22 Revert BinaryReader changes 2021-08-06 17:30:39 +02:00
TheMode
2a6f9a8bc8 Use BinaryBuffer for velocity forwarding 2021-08-06 16:35:01 +02:00
TheMode
f135edba0d Replace BinaryReader to BinaryBuffer 2021-08-06 16:30:52 +02:00
TheMode
455c21208e WIP BinaryBuffer 2021-08-06 14:21:11 +02:00
TheMode
aa2a6522dc Increase socket size, cache direct buffers 2021-08-05 15:42:16 +02:00
TheMode
7ba8189a28 Fix ghost players 2021-08-05 15:10:15 +02:00
TheMode
87f141ff50 Simplify packet writing 2021-08-05 03:09:45 +02:00
TheMode
a52d574049 Send light packet first 2021-08-05 02:34:48 +02:00
TheMode
eb43dc0cc0 Reuse flush method 2021-08-05 01:10:03 +02:00
TheMode
120b58db6a Fix ghost player, trim chunk/light packets 2021-08-04 21:02:59 +02:00
TheMode
538d641d4b Channel write cleanup 2021-08-04 20:34:27 +02:00
TheMode
0b23795fb0 Remove login log 2021-08-04 17:32:36 +02:00
TheMode
58f0f3ec89 Light cleanup 2021-08-04 14:47:19 +02:00
TheMode
7320d83175 Reduce exception spam 2021-08-04 12:52:49 +02:00
TheMode
0d91f9efc6 Close the main selector 2021-08-04 05:19:11 +02:00
TheMode
8895e49a52 Improve socket shutdown 2021-08-04 05:15:40 +02:00
TheMode
557d34c378 Reduce allocation count 2021-08-04 04:00:42 +02:00
TheMode
9bb50430d4 Fix memory leak, decrease socket size 2021-08-04 03:53:01 +02:00
TheMode
5adeed392b Flush packet sync
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-04 00:48:35 +02:00
TheMode
66b567597a Fix connection crash
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-04 00:37:17 +02:00
TheMode
548cee55e0 Fix compression
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-03 21:16:24 +02:00
TheMode
65df72fa82 Remove write branching
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-03 20:18:38 +02:00
TheMode
6db55ce91f Always flip
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-03 20:02:27 +02:00
TheMode
fbf6479135 Fix item meta writing
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-03 19:44:10 +02:00
TheMode
e4a3a3dbae Removed unused buffer + deflater
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-03 17:05:21 +02:00
TheMode
b35954c05d Fix ping
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-03 13:09:03 +02:00
TheMode
1c3bb5b0ff First NIO attempt
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-03 12:57:13 +02:00
TheMode
24e4b8765e Remove resource gatherer, retrieve tags from our own data generator 2021-07-29 12:54:16 +02:00
TheMode
16e4b61eb7 Fix unused imports 2021-07-29 00:02:43 +02:00
TheMode
6a86e92999 Unload all chunks when changing instance 2021-07-28 16:36:21 +02:00
TheMode
13b7039721 Replace most enums 2021-07-28 14:29:28 +02:00
MrGazdag
d3cacb0f25
remove methods 2021-07-27 12:24:25 +02:00
MrGazdag
a20fb32ef5
fix documentation and add hasFlag 2021-07-27 12:11:30 +02:00
MrGazdag
a6c6944e56
Update PlayerAbilitiesPacket 2021-07-27 11:56:51 +02:00
TheMode
274a40ea27 Make EntityType an interface 2021-07-27 11:56:20 +02:00
TheMode
c549ec1663 Remove legacy registry methods 2021-07-27 09:55:01 +02:00
TheMode
d685a7b136 Make Material an interface 2021-07-27 09:40:57 +02:00
TheMode
b22d030a6f Ask for the flag directly in PlayerAbilitiesPacket 2021-07-27 07:44:06 +02:00
TheMode
de76ac5aad Add UpdateViewPositionPacket constructor 2021-07-27 07:00:04 +02:00
TheMode
5285665939 Remove longly deprecated chat package 2021-07-27 06:55:08 +02:00
TheMode
2cc92e5e3e Simplify login process 2021-07-26 15:49:03 +02:00
TheMode
25d645a5cb Remove legacy position objects 2021-07-25 06:30:49 +02:00
TheMode
ad964a0a39 Remove deprecated UpdateOption.java 2021-07-25 06:25:32 +02:00
TheMode
e04a5bc2d8 unused import 2021-07-24 14:38:43 +02:00
TheMode
7f5ea582c9 More packet constructors 2021-07-24 07:45:08 +02:00
TheMode
8734478126 More packet constructors
Signed-off-by: TheMode <themode@outlook.fr>
2021-07-23 08:15:25 +02:00
TheMode
9db4ac06cc Even more inline packets 2021-07-22 13:01:00 +02:00
TheMode
081266775c More inline packets 2021-07-22 12:50:38 +02:00
TheMode
ff9ca60a58 Add some inline packet constructors 2021-07-22 09:54:34 +02:00
TheMode
12e430db69 Inline position packets 2021-07-20 03:06:27 +02:00
TheMode
ac3cbce278 Fix BlockHandler#onInteract return, simplify block placement code 2021-07-17 21:28:00 +02:00
TheMode
55fa083adf Remove longly deprecated player initialization callback 2021-07-15 22:12:11 +02:00
TheMode
d3d809f714 Inline EffectPacket 2021-07-15 18:26:02 +02:00
TheMode
0a84b1c542 Fix test 2021-07-15 05:27:56 +02:00
TheMode
2e4975eb9a Fix ClientEditBookPacket 2021-07-14 16:51:22 +02:00
TheMode
a565ee77aa Fix build 2021-07-14 16:30:48 +02:00
TheMode
ea231bf52e Add 1.17.1 support 2021-07-14 16:26:32 +02:00
TheMode
cd090e13d0 Fix test 2021-07-11 19:22:21 +02:00
TheMode
560b450b3e Use fastutil treemap 2021-07-11 00:56:54 +02:00
TheMode
a8a9f59715 Remove BlockEntry 2021-07-10 18:42:02 +02:00
TheMode
b419ce88c1 Improve block getter performance 2021-07-09 00:42:43 +02:00
TheMode
295b3e24dd Merge branch 'master' into new-block-api 2021-07-09 00:29:31 +02:00
TheMode
45d7420397 Remove most Position/BlockPosition usage 2021-07-08 18:56:40 +02:00
TheMode
fff78cdf94 Move coordinate package 2021-07-08 13:48:28 +02:00
TheMode
28dca16b29 Initial position api implementation 2021-07-06 20:44:24 +02:00
LeoDog896
abace56778 Correct packet reading/writing 2021-07-06 09:54:26 -04:00
TheMode
799dbf4a61 Point interface improvement 2021-07-05 11:38:33 +02:00
TheMode
796b6820ce Start implementing the new coordinate API 2021-07-05 09:10:03 +02:00
TheMode
0d031d4c15 Merge branch 'master' into new-block-api
# Conflicts:
#	src/main/java/net/minestom/server/instance/DynamicChunk.java
#	src/main/java/net/minestom/server/instance/Instance.java
#	src/main/java/net/minestom/server/instance/InstanceContainer.java
#	src/main/java/net/minestom/server/instance/SharedInstance.java
#	src/main/java/net/minestom/server/instance/block/CustomBlock.java
#	src/test/java/demo/Main.java
#	src/test/java/demo/blocks/CustomBlockSample.java
#	src/test/java/demo/blocks/UpdatableBlockDemo.java
2021-07-05 08:21:47 +02:00
Németh Noel
7ff5173e03 Fix PingPacket.java 2021-06-30 13:23:32 +02:00
TheMode
4f4afbbe6d Merge branch 'master' into new-block-api
# Conflicts:
#	src/main/java/net/minestom/server/instance/Chunk.java
#	src/main/java/net/minestom/server/instance/Instance.java
2021-06-26 20:09:47 +02:00
TheMode
804f11c87b Potentially fix explosion packet 2021-06-23 02:20:51 +02:00
TheMode
d27b1ff1a4 Merge branch 'master' into new-block-api
# Conflicts:
#	src/main/java/net/minestom/server/instance/InstanceContainer.java
#	src/main/java/net/minestom/server/listener/BlockPlacementListener.java
#	src/main/java/net/minestom/server/listener/PlayerDiggingListener.java
2021-06-21 15:27:55 +02:00
TheMode
1f2dc0cd9f Add some inline packet initialization 2021-06-21 15:01:50 +02:00
TheMode
c2270f8922 Merge branch 'master' into new-block-api 2021-06-20 23:52:08 +02:00
TheMode
c90bae063a Update netty 2021-06-20 22:19:03 +02:00
TheMode
3bb5801ec7 Merge branch 'master' into new-block-api 2021-06-20 21:00:39 +02:00
TheMode
1e9046d792 Remove velocity compression library 2021-06-20 20:59:53 +02:00
TheMode
13a64c7315 Merge branch 'master' into new-block-api 2021-06-20 18:16:42 +02:00
TheMode
106125319a Remove get prefixes for protocol objects to be more record-friendly 2021-06-19 21:01:54 +02:00
TheMode
15cfea6f9a Fix ResourcePackSendPacket 2021-06-19 17:44:11 +02:00
TheMode
06ebb14991 Merge branch 'master' into new-block-api 2021-06-18 20:36:32 +02:00
TheMode
e002890a91 Deprecate #addPlayerInitialization 2021-06-18 03:21:03 +02:00
TheMode
de22a76e9f Merge branch 'master' into new-block-api
# Conflicts:
#	build.gradle
2021-06-17 13:58:01 +02:00
Kieran Wallbanks
58e108bd37 Fix deprecated API usages 2021-06-15 13:19:49 +01:00
TheMode
051fbcb34b Potentially fix map packet 2021-06-14 22:01:12 +02:00
TheMode
63004cf4ba Merge branch 'master' into new-block-api
# Conflicts:
#	src/main/java/net/minestom/server/event/player/PlayerBlockBreakEvent.java
#	src/main/java/net/minestom/server/event/player/PlayerBlockInteractEvent.java
#	src/main/java/net/minestom/server/event/player/PlayerBlockPlaceEvent.java
#	src/main/java/net/minestom/server/event/player/PlayerStartDiggingEvent.java
#	src/main/java/net/minestom/server/instance/Instance.java
#	src/main/java/net/minestom/server/instance/InstanceContainer.java
#	src/main/java/net/minestom/server/listener/BlockPlacementListener.java
#	src/main/java/net/minestom/server/listener/PlayerDiggingListener.java
#	src/test/java/demo/PlayerInit.java
2021-06-14 15:22:54 +02:00
TheMode
f2bf27c86e Fix rebase 2021-06-14 00:18:53 +02:00
TheMode
eadb32eba3 Merge branch 'master' into event-api 2021-06-14 00:17:42 +02:00
TheMode
911c983957 Merge branch 'master' into event-api
# Conflicts:
#	src/main/java/net/minestom/server/entity/Player.java
#	src/main/java/net/minestom/server/event/player/UpdateTagListEvent.java
#	src/main/java/net/minestom/server/instance/Chunk.java
2021-06-14 00:11:41 +02:00
TheMode
d6a2a5b316 Added CampfireHandler demo 2021-06-12 19:17:50 +02:00
TheMode
3b14fe12a3 Proper naming for Section/Palette 2021-06-12 10:39:44 +02:00
thiccaxe
7641b8a75d Updated Server List Ping
Added playersHidden field to ResponseData; shows "???" in Vanilla.
Added event for ping/pong packet
2021-06-11 13:54:52 -07:00
Articdive
f3f854feaa
Fix TagsPacket 2021-06-11 21:55:30 +02:00
TheMode
9bf57b8c13 Remove unused fields 2021-06-11 17:52:52 +02:00
TheMode
7a76040457 Cleanup 2021-06-11 17:38:45 +02:00
TheMode
7f8120a334 Rebase 2021-06-11 16:37:07 +02:00
TheMode
0200788b22 Add dedicated method to ignore string/component size 2021-06-11 16:19:17 +02:00
TheMode
9fed96abe2
Merge pull request #307 from Minestom/1.17
1.17 Update
2021-06-11 16:08:08 +02:00
TheMode
265ae83b4d Fix tags packet 2021-06-11 16:00:14 +02:00
TheMode
72bf894162 Fix chunk packet read 2021-06-11 15:41:02 +02:00
TheMode
97d17f9b8b Fix Light & window click test 2021-06-11 15:38:46 +02:00
TheMode
88052576b3 Support for forced resource packs 2021-06-11 12:32:24 +02:00
TheMode
78cc392007 Merge branch 'master' into event-api 2021-06-10 14:42:07 +02:00
Articdive
9ae8c96091
Finish TagsPacket read method 2021-06-10 09:45:30 +02:00
TheMode
6ef40e08c7 Link to the packet event 2021-06-10 09:01:49 +02:00
Articdive
2976be947b
Fix and improve tags 2021-06-09 21:23:35 +02:00
TheMode
ad7b01fb9a Added NettyServer#getServerChannel 2021-06-09 20:36:27 +02:00
TheMode
7c2d07b911 Merge branch 'master' into event-api
# Conflicts:
#	src/main/java/net/minestom/server/listener/UseItemListener.java
2021-06-08 13:03:01 +02:00
TheMode
0da9c20b5a WIP tags update 2021-06-07 13:25:04 +02:00
TheMode
491ef8b514 Merge branch 'master' into 1.17 2021-06-06 15:31:27 +02:00
TheMode
459b50863e Update title/actionbar methods 2021-06-06 03:52:40 +02:00
TheMode
56eead948a Fix inventory click 2021-06-06 01:50:28 +02:00
TheMode
a63c16892c Update light packet, fix biome count 2021-06-05 08:51:57 +02:00
TheMode
6b5125bcff WIP support for infinite chunk height 2021-06-05 07:56:16 +02:00
TheMode
8b255651ab Call events using EventDispatcher 2021-06-04 03:48:51 +02:00
Articdive
105f2fdc7e
Use minestom-data to generate our enums. 2021-06-03 12:11:42 +02:00
TheMode
8712ca364b WIP chunk packet support 2021-05-31 20:39:54 +02:00
TheMode
698469aa60 Fix EntityPropertiesPacket property count 2021-05-31 20:29:12 +02:00
TheMode
b8d1966ce4 Update client/server packets id 2021-05-31 20:09:08 +02:00
TheMode
6858690cc1 Use a static method to create the destroy entity packet 2021-05-31 18:53:57 +02:00
TheMode
7a9826fc64 Update world border packets 2021-05-31 18:45:46 +02:00
TheMode
b3692f4f3f Delete outdated packets 2021-05-31 18:36:43 +02:00
TheMode
17fc62632d Update most packets 2021-05-31 18:29:44 +02:00
TheMode
fd977e05be Update serverbound packet, update clientside ids 2021-05-31 18:00:57 +02:00
TheMode
0a9fa31804
Merge pull request #275 from Minestom/respect-client-chat-settings
Respect client chat settings
2021-05-17 16:21:08 +02:00
TheMode
c4b3e40225
Merge pull request #282 from Bloepiloepi/equipment-improvements
Equipment improvements
2021-05-16 11:55:04 +02:00
TheMode
88dba380f9 Remove apache common text dependency 2021-05-15 08:31:24 +02:00
TheMode
dfad9f2947 Remove minecraft repo 2021-05-15 07:57:28 +02:00
TheMode
3bd389fb57
Merge pull request #149 from Minestom/authlib-removal
Stop using authlib
2021-05-15 07:53:35 +02:00
Arne Dalhuisen
29b0f5448d Moved EquipmentSlot out of equipment packet 2021-05-11 14:10:45 +02:00
TheMode
19e22d03ce Deprecate packet listening API 2021-05-11 08:35:42 +02:00
TheMode
abe4d0f6ad Remove unused traffic handler 2021-05-08 04:41:14 +02:00
TheMode
f1e48b07b9 Reduce use of the pooled allocator 2021-05-08 00:52:46 +02:00
Kieran Wallbanks
2404f19fe2 Avoid NPEs when obtaining chat message type from player 2021-05-06 16:12:46 +01:00
Kieran Wallbanks
a9d2f4e8ca Respect client chat settings 2021-05-05 18:21:38 +01:00
Kieran Wallbanks
42933e58b0 Minor formatting and javadoc changes 2021-05-05 16:18:11 +01:00
Kieran Wallbanks
a15e3aef44 Make legacy server pings use the ServerListPingEvent 2021-05-05 16:18:11 +01:00
Kieran Wallbanks
42e1811b7c Switch to per-version response data generation and implement NamedAndIdentified in ResponseData 2021-05-05 16:18:11 +01:00
TheMode
e92fb1e8d5 Invalidate cache chunk packets when unloaded 2021-04-23 17:52:10 +02:00
TheMode
84912f48b6 Fix memory leak 2021-04-23 16:38:40 +02:00
TheMode
3fa89737d9 Reduce tick buffer copy overhead 2021-04-20 08:54:33 +02:00
TheMode
1d2a647efa Fix tickBuffer refCnt 2021-04-18 03:35:41 +02:00
TheMode
502ec22b92 Reduce synchronization overhead when writing tick buffer 2021-04-16 01:52:46 +02:00
TheMode
b066b6029a
Merge pull request #223 from thiccaxe/master
Add events for STATUS packets.
2021-04-15 07:10:32 +02:00
TheMode
7d574317dc ClientCloseWindowPacket window id is a byte, not a var int 2021-04-14 02:00:19 +02:00
TheMode
a55ae4d048 Cache unmodifiable players set, remove print 2021-04-13 21:39:42 +02:00
TheMode
1d5262caf2 Merge branch 'master' into item-api
# Conflicts:
#	src/test/java/demo/PlayerInit.java
2021-04-12 00:44:47 +02:00
TheMode
db8f071633 Cleanup, make PingPlayer immutable 2021-04-11 20:46:48 +02:00