Commit graph

948 commits

Author SHA1 Message Date
davchoo
3e163501aa
Combine SoundEvent and ParticleEvent into LevelEvent
Remove them from MagicValues
Add new Sculk Block charge level event + event data
Add new Sculk Shrieker shriek level event
2022-05-26 19:57:21 -04:00
Camotoy
4dff74676b
Fix NPE if player info had no signed data 2022-05-26 17:53:38 -04:00
davchoo
938c86df4c Fix PaintingType order and remove them from MagicValues
PIGSCENE for some reason is missing an underscore on Java
2022-05-26 16:28:36 -04:00
davchoo
a63853f9e5 Update block ids in ClientboundBlockEventPacket 2022-05-26 15:27:08 -04:00
davchoo
e52abe7df2 Fix ParticleType decoding in ClientboundLevelParticlesPacket and add new ParticleTypes 2022-05-26 14:41:03 -04:00
Camotoy
f63752c00e
Add new poses 2022-05-26 13:19:21 -04:00
Camotoy
9255986c37
Don't use MagicValues for MessageType and fix player chat decoding 2022-05-25 19:34:32 -04:00
Camotoy
0a733c7139
Switch all Position instances to Vector3i 2022-05-25 19:17:37 -04:00
Camotoy
055d1f5269
Add Cloudburst Math; add metadata types; other fixes 2022-05-25 18:42:42 -04:00
D3ATHBRINGER13
62ba5aa8a2 Fix tests a bit 2022-05-25 21:20:25 +01:00
D3ATHBRINGER13
d0e98a0516 1.19-pre3 2022-05-25 17:45:51 +01:00
D3ATHBRINGER13
d4fa7b4458 1.19-pre2 2022-05-23 18:08:06 +01:00
D3ATHBRINGER13
54073a6cf9 Missed some 2022-05-20 13:26:02 +01:00
D3ATHBRINGER13
5cad78b15e Update enums 2022-05-19 21:19:24 +01:00
D3ATHBRINGER13
54c47dcc65 Actually fix building 2022-05-19 20:33:01 +01:00
D3ATHBRINGER13
6d09b95665 Fix building 2022-05-19 20:01:31 +01:00
D3ATHBRINGER13
29c230f71d Main packet changes up to 1.19-pre1 2022-05-19 19:51:22 +01:00
Camotoy
0771504e12 Use spaces instead of tabs for project consistency 2022-03-05 16:57:28 -05:00
John
835929d57d
Make title in ClientboundOpenScreenPacket a component (#688) 2022-03-05 16:56:57 -05:00
Camotoy
7efa6360dc
Merge branch 'feature/1.18.2' 2022-02-28 09:59:36 -05:00
Camotoy
cbf30881e8
Initial 1.18.2 update 2022-02-26 22:59:26 -05:00
John
7211f65060
Change modifier of setState method (#685) 2022-02-14 21:26:29 -06:00
D3ATHBRINGER13
f4f2ec09fe
Optimize imports (#687) 2022-02-14 21:26:12 -06:00
Hugo Planque
7ff2c930df
Fix Kqueue init (#44) 2022-02-01 10:42:20 -05:00
blablubbabc
15df12a61a
Fixed: Added missing MoveToHotbarAction value for the swap with off-hand inventory action. (#682) 2022-01-11 10:30:42 -05:00
Oskar
d908cccadf
Sync the future on wait (#43) 2022-01-08 22:14:02 -05:00
Camotoy
4e4d8af687
Temp revert "Sync the future on wait (#43)" for snapshot
This reverts commit a09d0fd00a.
2022-01-08 22:12:55 -05:00
Oskar
a09d0fd00a
Sync the future on wait (#43) 2022-01-04 22:45:41 -06:00
Oskar
50b53e8902
Add switch case for KQueue in TcpServer#bindImpl (#42) 2022-01-04 22:43:57 -06:00
DefineOutside
25b0e55a5e
Fix resizing a singleton palette (#681) 2022-01-04 22:40:00 -06:00
Camotoy
6a23a780af Update for latest PacketLib changes 2021-12-20 20:42:34 -05:00
Camotoy
4cb1588e3f Add option to validate decompression 2021-12-20 20:38:15 -05:00
Camotoy
c247b1fde8
NONE is not a TeamColor 2021-12-11 15:52:17 -05:00
David Choo
a991afe629
Store EntityType in entity statistics; rename GenericStatistic (#674) 2021-12-07 19:34:03 -05:00
Camotoy
69709912fe
Fix potential IndexOutOfBounds error with BlockDestructionPacket 2021-12-01 10:12:17 -05:00
Camotoy
bcd83c673a
Enable encryption in the server listener 2021-11-30 20:25:10 -05:00
Camotoy
6edba113e2
Gracefully handle invalid block entity types 2021-11-30 15:00:50 -05:00
Camotoy
ed29b72e27
Fix block marker particle encoding 2021-11-29 22:26:58 -05:00
RednedEpic
c3bda123fd Bump to 1.18 release 2021-11-29 21:21:48 -06:00
David Choo
f7f84e73cf
Rename entity types to match Java and move away from MagicValues (#669)
* Rename entity types to match Java and move away from MagicValues

Removed WeatherEntityType since it was unused since 1.16

Renamed:
MINECART_CHEST -> CHEST_MINECART
MINECART_COMMAND_BLOCK -> COMMAND_BLOCK_MINECART
MINECART_FURNACE -> FURNACE_MINECART
MINECART_HOPPER -> HOPPER_MINECART
MINECART_SPAWNER -> SPAWNER_MINECART
MINECART_TNT -> TNT_MINECART
PRIMED_TNT -> TNT
THROWN_EGG -> EGG
THROWN_ENDERPEARL -> ENDER_PEARL
THROWN_EXP_BOTTLE -> EXPERIENCE_BOTTLE
THROWN_POTION -> POTION

* Use readEnum in EntityType

* Fix HORIZONTAL_VALUES in Direction

This fixes painting direction in ClientboundAddPaintingPacket
2021-11-26 22:49:51 -05:00
Camotoy
7f7808e231 Update to 1.18-rc3 2021-11-26 11:49:59 -05:00
Camotoy
825804d194 Update for 1.18-rc1 2021-11-25 11:54:26 -05:00
Camotoy
8eca14983a Update for PacketLib changes 2021-11-24 23:33:39 -05:00
Camotoy
9e38c61927 Remove allocations for packet receive and send events
These were just replaced with functions that call the session and packet.
2021-11-24 23:32:14 -05:00
Camotoy
a581308cff Update for MCProtocolLib changes 2021-11-24 19:29:37 -05:00
Camotoy
67fb81e027 Reduce unnecessary checks and only add encryption when enabled 2021-11-24 19:29:19 -05:00
Camotoy
1125e22038 Fix setting same ID block in singleton palette 2021-11-24 12:28:58 -05:00
Camotoy
a61bcb97f7 Use a constructor parameter to determine clientsideness in packet encoder 2021-11-24 11:21:14 -05:00
Camotoy
7eb2748a03 Update to 1.18-pre8 2021-11-24 10:47:15 -05:00
Camotoy
b71a7e2fa8
Update to 1.18-pre7 2021-11-23 13:34:21 -05:00
Camotoy
2ab91cf50a
Update to 1.18-pre6 2021-11-23 11:21:37 -05:00
Camotoy
efa4019a3d
Move attributes away from MagicValues and allow custom attributes 2021-11-23 10:54:59 -05:00
Camotoy
0662fb715f
Fix optional int metadata reading/writing 2021-11-20 15:20:47 -05:00
RednedEpic
4ded30ee86 Bump to pre5 2021-11-20 13:19:25 -06:00
RednedEpic
64ae35628e Improve entity metadata system & fix chunk test 2021-11-20 13:13:46 -06:00
Camotoy
a22d016a8e
Implement proper biome palette reading 2021-11-19 18:59:27 -05:00
Camotoy
a4267d0fe8
Update to 1.18-pre4 2021-11-18 16:08:59 -05:00
Camotoy
b8e980163c
Add equals and hashcode checks that include value 2021-11-18 11:16:53 -05:00
Camotoy
62492c961a
Entity metadata refactor; remove some MagicValues usages 2021-11-15 14:51:03 -05:00
Camotoy
2a8d18a3f8
Add an option to read from enum 2021-11-15 14:38:17 -05:00
Camotoy
155a3eb8f0
Update sound enum 2021-11-14 21:02:23 -05:00
Camotoy
ff76494a65
Properly implement block entity IDs and add tests 2021-11-14 12:05:39 -05:00
RednedEpic
8b7386a46a Never mind, this is not referenced directly but still is used 2021-11-13 23:16:57 -06:00
RednedEpic
b18835d2f3 Remove unused ChunkSection class 2021-11-13 23:13:50 -06:00
RednedEpic
a9e24e7cce Merge remote-tracking branch 'origin/feature/1.18-protocol-changes' into feature/1.18 2021-11-13 23:04:58 -06:00
RednedEpic
9705ac5c9b Merge branch 'feature/codec-refactor' into feature/1.18 2021-11-13 22:51:04 -06:00
Camotoy
d527164d4c
Initial update to 1.18 protocol 2021-11-13 23:48:38 -05:00
RednedEpic
78b4763b86 Rename ClientboundLevelChunkPacket to ClientboundLevelChunkWithLightPacket & other minor tweaks 2021-11-13 22:41:28 -06:00
RednedEpic
747d5f5655 Fix wrong rename 2021-11-13 20:44:14 -06:00
RednedEpic
44c235c86a Update variable name to chunkSection 2021-11-13 20:28:08 -06:00
RednedEpic
5b4ba5b8d0 Merge branch 'feature/1.18' into feature/codec-refactor 2021-11-13 20:10:44 -06:00
RednedEpic
1188c1486f Replace reflection usage with a supplier 2021-11-13 19:59:20 -06:00
RednedEpic
955986da96 More renames 2021-11-13 17:14:13 -06:00
RednedEpic
127f253a82 Remove test code 2021-11-13 16:47:45 -06:00
RednedEpic
64410dbe48 Implement packet codec system to remove expensive protocol state switches
With the way this lib used to previously work, any time the protocol state changed, all the packet maps got cleared and had new packets inserted into them depending on the protocol state. This was unnecessarily expensive and although called rarely, it was not ideal.

The packet codecs added are static, immutable and can be reused across sessions. The codec system also opens up the door for multi-version capability in the future.
2021-11-13 16:44:55 -06:00
RednedEpic
ec983f1447 Remove final for some packet methods 2021-11-13 16:41:57 -06:00
RednedEpic
816c0db6d7 Fix javadoc 2021-11-13 14:55:06 -06:00
RednedEpic
b1c85550f6 Update incoming & outgoing naming to serverbound & clientbound
Also determine which map to pull the packet from based on whether we're working with a client or server.
2021-11-13 14:53:46 -06:00
Camotoy
b3fb245b5b
Merge branch 'feature/1.18' of https://github.com/Steveice10/MCProtocolLib into feature/1.18 2021-11-13 15:29:23 -05:00
RednedEpic
c18fa85120 Remove duplicate registration 2021-11-13 13:57:21 -06:00
RednedEpic
c5032fb425 Update to new packetlib changes 2021-11-13 13:52:39 -06:00
RednedEpic
3fdf9ea1d5 Allow for registering with packet definition directly 2021-11-13 12:41:51 -06:00
Camotoy
e65ddd5a16
Actually fix SetTitleText writing null components 2021-11-13 09:52:25 -05:00
RednedEpic
98d9d91ca4 Remove deprecations here and any reflection usage
Methods were less than a day old
2021-11-12 23:06:14 -06:00
Redned
e295601d7c Replace reflection usage with packet factories 2021-11-12 22:59:08 -06:00
Camotoy
489979d2bc
Require packets to have a NetInput constructor
This permits packets to have final fields, and prevents setAccessible and no-args constructor requirements.
2021-11-12 23:04:14 -05:00
Camotoy
b72c86049c
Move EAT_FOOD animation type to SWING_OFFHAND 2021-11-12 20:59:24 -05:00
Camotoy
3f2042a7e2
Correct SetTitleText nullability 2021-11-12 20:57:47 -05:00
Camotoy
fbc71cb566
Sound in StopSoundPacket is Nullable as of 1.17.1 2021-11-12 19:23:07 -05:00
Camotoy
87c0953d27
Set all fields as final; use constructor with NetInput
This allows all fields to be final, and prevents a setAccessible used on a no-args constructor.
2021-11-12 17:38:33 -05:00
D3ATHBRINGER13
8fcf4df994
Refactor to use Mojmap packet names (#662)
This allows packet name parity with Minecraft itself.
2021-11-12 12:59:12 -05:00
Camotoy
2776c24e05
Merge in Geyser changes to master (#38)
* Use TCP_NODELAY and Epoll where possible

* Add KQueue and respect disableNativeEventLoop property

* Inject

* works?

* Make it pretty

* Don't create a TCP EventLoopGroup unless needed

* Add method for determining if we connected internally

* fix datagrams

* Support HAProxy probably

* Set a bunch of things as final

* Allow setting direct ByteBufs preferred

* Expose channel; don't do packets on another thread

* Don't set channel to null and do some more optimizing

* Remove custom thread factory

* Remove unused SocketChannelWrapper class

* Remove all local channel classes

* Allow for packets to be handled on a separate thread

Co-authored-by: creeper123123321 <7974274+creeper123123321@users.noreply.github.com>
2021-11-12 11:12:52 -05:00
David Choo
dff7c0544c
Add missing Generic Statistics (#668) 2021-11-11 14:19:08 -05:00
RK_01
ccfb1aa94d
Fix memory leak by closing De-/Inflater (#36) 2021-10-26 17:52:57 -04:00
Camotoy
f1ac2de294
Use identifiers for all Effect classes; don't use MagicValues
We can just use the ordinal plus or minus one to determine what we're looking for.
2021-10-11 20:55:22 -04:00
Extollite
72ba6f58af
Fix project formatting style (#663) 2021-10-11 09:51:41 -04:00
Camotoy
a0ce555787
Use Mojang mapped name for UnexpectedEncryptionException 2021-10-07 09:44:34 -04:00
Camotoy
d00d4f4dba
Throw specific error when encryption could not be initialized 2021-10-07 09:43:08 -04:00
Steven Smith
6472a45e95
Merge pull request #657 from GeyserMC/feature/1.17.1 2021-09-23 01:46:56 -07:00
Camotoy
55e13e588a
Remove ServerSetCompressionPacket
This packet isn't used anymore.
2021-09-22 19:42:41 -04:00
Jesse Donkervliet
f287b501b3 fix: fixes two incorrect (swapped) packet IDs 2021-09-21 20:40:31 +02:00
Steveice10
e09374ad9f Update adventure and add legacy hover event serializer to default serializer. 2021-08-23 11:23:35 -07:00
Steven Smith
4a6aaa6213
Merge pull request #643 from GeyserMC/feature/1.17.1 2021-08-16 11:39:40 -07:00
Camotoy
e17787abe2
Handle the Brigadier Long argument type
See https://github.com/GeyserMC/Geyser/issues/2476
2021-08-16 12:34:46 -04:00
TeksuSiK
d9a277ffb4
Move determine transport method to helper 2021-08-15 21:12:25 +02:00
TeksuSiK
09f620eb31
Add io_uring DatagramChannel to DNS resolver queries 2021-08-15 19:44:00 +02:00
TeksuSiK
bc42215a4a
Fix mistake in socket channel initialization for Nio 2021-08-15 19:02:04 +02:00
TeksuSiK
d23c3ac8fe
Implement IO_URING async syscalls interface 2021-08-15 18:59:17 +02:00
TeksuSiK
e992437da6
Changew ServerSocketChannel implementation classes to SocketChannel implementation types 2021-08-15 17:25:59 +02:00
TeksuSiK
e6ca9ecc8d
Check is epoll available and use it if so 2021-08-15 17:17:49 +02:00
Julian
df626fbe09
Do not use the deprecated method anymore. 2021-08-11 10:56:36 +02:00
Camotoy
e4272371e1
Fix negative Y position reading 2021-07-14 15:49:05 -04:00
Camotoy
4156f6277b
Implement vibration signal packet 2021-07-07 10:51:57 -04:00
Camotoy
6e318f5b53
Update to release protocol 2021-07-05 22:30:19 -04:00
Camotoy
24a3880bd4
Update to 1.17.1-rc1 2021-07-04 10:43:26 -04:00
Camotoy
4154397c6b
Merge branch 'feature/1.17' of https://github.com/GeyserMC/MCProtocolLib into feature/1.17.1 2021-07-04 09:53:27 -04:00
Camotoy
ea40e15aa7
Address suggestions and fix tests 2021-06-28 10:11:26 -04:00
Camotoy
9db4bbca57
Update to 1.17.1-pre1 2021-06-20 12:35:34 -04:00
Camotoy
7248769028
Add more new level events 2021-06-16 18:34:26 -04:00
Camotoy
dd606b4753
Add new level events 2021-06-09 19:39:47 -04:00
Camotoy
5b5334c2be
Fix dust particle data 2021-06-08 20:07:34 -04:00
Camotoy
e3169866ef
Update to 1.17 release 2021-06-07 23:38:22 -04:00
Camotoy
2bd966a4ef
Implement new entity statuses 2021-06-07 19:13:45 -04:00
Camotoy
bc06ae50b7
Update block values 2021-06-04 21:25:33 -04:00
Camotoy
3e56be709e
Update to 1.17-rc1; some optimizations 2021-06-04 20:47:54 -04:00
Camotoy
eb026883b2
Support HangingDirection for glow item frames, too 2021-06-03 18:59:39 -04:00
Camotoy
5f523d309c
Bump for 1.17-pre5 2021-06-03 16:58:08 -04:00
Camotoy
5ff383d27a
Update to 1.17-pre4 and fix particles 2021-06-02 22:00:26 -04:00
Camotoy
ba26c10558
Fix sound 2021-06-01 22:25:38 -04:00
Camotoy
9ba9d7e055
Fix protocol version 2021-06-01 19:30:56 -04:00
Camotoy
ac342b72cc
Update to 1.17-pre3 2021-06-01 18:47:44 -04:00
Camotoy
13bf22b60c
Merge branch 'master' of https://github.com/Steveice10/MCProtocolLib into feature/1.17 2021-05-23 21:30:59 -04:00
Camotoy
104dd603b1
21w20a support 2021-05-19 22:21:58 -04:00
Camotoy
cd187d4cbe
Update to 21w18a 2021-05-05 12:30:25 -04:00
Camotoy
46a417b37c
Fix tags serialization 2021-05-05 11:58:05 -04:00
Camotoy
9541ab9bff
Update for 21w17a 2021-05-01 19:46:02 -04:00
Steveice10
8c204eb4c5 Remove deprecated MinecraftProtocol constructors.
PacketLib 2.0 update will introduce breaking changes anyway, so might as
well get this done now.
2021-04-20 18:37:33 -07:00
Steveice10
893cc683cb Update to latest PacketLib commit. 2021-04-20 18:28:14 -07:00
Steveice10
19a928364a Update version string to 1.16.5 2021-04-05 17:42:22 -07:00
darbyjack
3aa215984a Fixed parsing of the MOTD as Component 2021-04-05 12:43:47 -05:00
Steveice10
afca99c039 Fix IDs for crafting book state and displayed recipe packets. 2021-03-30 11:24:05 -07:00
Steveice10
bcf5232781 Tidy up auth data handling. 2021-03-30 11:23:41 -07:00
Camotoy
c9e70b8f59
Merge branch 'master' of https://github.com/Steveice10/MCProtocolLib into feature/1.17 2021-03-25 16:05:53 -04:00
Steven Smith
6ba99d1dbe
Merge pull request #612 from MatteCarra/ms-auth
Removed client token from MinecraftProtocol
2021-03-24 02:10:14 -07:00
Steveice10
840c8e2483 Clean up some Lombok annotations. 2021-03-24 02:04:16 -07:00
Marius Metzger
43e4461360 Add @With annotation to packet classes 2021-03-24 03:00:46 +00:00
Camotoy
312cff5f97
Optimize SRV resolving only when required
- Add an option to disable SRV resolving
- Don't resolve SRV records if not a domain (in one instance this shortened loading times by five seconds)
2021-03-16 20:07:03 -04:00
Steveice10
19a9b2be35 Collapse Client and Server into *ClientSession and ConnectionListener. 2021-01-15 12:45:06 -08:00
Steveice10
09d7774037 Default client local address to 0.0.0.0. 2021-01-15 12:07:12 -08:00
Camotoy
b0b83242ea
Fix write as well 2021-01-13 23:30:50 -05:00