Commit Graph

2554 Commits

Author SHA1 Message Date
Nassim Jahnke
0a56e57aec
Send stonecutter recipes 2024-10-15 15:08:34 +02:00
Nassim Jahnke
a6ff477b8a
Implement clientbound ghost recipe, fix null recipe groups 2024-10-15 15:08:34 +02:00
Nassim Jahnke
ddad0384f3
Make recipes mostly work again 2024-10-15 15:08:34 +02:00
Nassim Jahnke
aabe47f8bc
Start working on recipe rewriting 2024-10-15 15:08:34 +02:00
Nassim Jahnke
354a5f1b75
Update packet id comments 2024-10-15 15:08:34 +02:00
Nassim Jahnke
f58afd434d
WIP 24w40a 2024-10-15 15:08:34 +02:00
Nassim Jahnke
57d5652cd5
Remove SetWrapper, moved to addon 2024-10-15 15:08:33 +02:00
Nassim Jahnke
25b521dfcf
Rewrite lock nbt 2024-10-15 15:08:33 +02:00
Nassim Jahnke
ce655d0679
Use absolute day time value 2024-10-15 15:08:33 +02:00
Nassim Jahnke
e4e8297a82
24w39a 2024-10-15 15:08:33 +02:00
Nassim Jahnke
8357fd01aa
Update attributes in item hover events 2024-10-15 15:08:33 +02:00
Nassim Jahnke
12b420d3e7
Send instrument registry, handle duration change from ticks to seconds 2024-10-15 15:08:33 +02:00
Nassim Jahnke
db20bc0ae4
24w38a 2024-10-15 15:08:33 +02:00
Nassim Jahnke
2a2afa3821
Register component rewriter 2024-10-15 15:08:32 +02:00
Nassim Jahnke
f0b2d9aafe
24w37a 2024-10-15 15:08:32 +02:00
Nassim Jahnke
cd427a2a39
Don't use -1 to indicate no vehicle 2024-10-15 15:08:32 +02:00
Nassim Jahnke
75537d3f85
Cancel player input if not in a vehicle, fix shift/sprint input 2024-10-15 15:08:32 +02:00
Nassim Jahnke
a88e2f3fb5
Set impulse to 0.98 instead of 1 as per vanilla value 2024-10-15 15:08:32 +02:00
Nassim Jahnke
8a41e7add6
Remove new item data from serverbound items 2024-10-15 15:08:32 +02:00
Nassim Jahnke
9c35228287
24w36a 2024-10-15 15:08:32 +02:00
Nassim Jahnke
22d396d909
Add item hover event handling 2024-10-15 15:08:31 +02:00
Nassim Jahnke
39b28e21ca
24w35a, including missed change from 33a 2024-10-15 15:08:31 +02:00
Nassim Jahnke
0488cb7fbe
Fix item type in 1.21.2 entity data 2024-10-15 15:08:31 +02:00
Nassim Jahnke
ec4aa0637e
24w34a 2024-10-15 15:08:31 +02:00
Nassim Jahnke
ffc5584b1c
Null check component rewriter 2024-10-15 15:08:31 +02:00
Nassim Jahnke
45c6cfedb0
Update mappings 2024-10-15 15:08:30 +02:00
Nassim Jahnke
c150e50636
Store attribute mappings in full 2024-10-15 15:08:30 +02:00
Nassim Jahnke
1d18f2e45e
Fix container id conversion and itemrewriter explosion method 2024-10-15 15:08:20 +02:00
Nassim Jahnke
e46b38e58a
Remove outdated todos 2024-10-15 15:08:20 +02:00
Nassim Jahnke
033741d292
WIP 24w33a 2024-10-15 15:08:20 +02:00
Nassim Jahnke
5be41ed3e9
Use stripped key in tag getting
Fixes #4182
2024-10-14 21:35:10 +02:00
Nassim Jahnke
50084c112d
Fix tag related issues to prepare for 1.21.2
- Inline tag values in 1.21 enchantments
- Fix TagRewriter addTags if the server doesn't send values for a registry
- Send the tags packet in 1.12->1.13 before the play login packet to fix tracking in 1.20->1.20.2
2024-10-14 17:16:01 +02:00
EnZaXD
81682f4921
Change description of dump sub command to be more generic (#4180) 2024-10-13 10:33:58 +02:00
Nassim Jahnke
1c339e8b54
Null check input serializer version
Fixes ViaVersion/ViaBackwards#896
2024-10-11 19:37:35 +02:00
EnZaXD
1a9cda0579
Handle WRITTEN_BOOK_CONTENT component in rewriters as well (#4175)
Closes https://github.com/ViaVersion/ViaVersion/issues/4144
2024-10-10 22:42:21 +02:00
EnZaXD
6ad9a71907
Print book conversion errors to default logger in 1.20.2->1.20.3 (#4158) 2024-10-10 22:37:21 +02:00
EnZaXD
0b5fa37f96
Put title directly into component in 1.8->1.9 bossbar emulation (#4173)
The JsonParser#parseString detection in CommonBoss will detect " " as valid json (JsonNull) and won't wrap it around ComponentUtil#plainToJson like it should, at some point in the future I would like CommonBoss to only accept a JsonElement instance and not raw strings anymore.

Closes https://github.com/ViaVersion/ViaFabricPlus/issues/494
2024-10-10 12:25:27 +02:00
EnZaXD
dab32bafa1
Write correct on ground state in 1.20.5->1.21 placement rotation fix (#4170) 2024-10-09 16:37:30 +02:00
Nassim Jahnke
9e5c541f79
Disable placement rotation fix for now
Closes #4168
2024-10-07 21:43:20 +02:00
EnZaXD
9674c617ca
Add option to fix wrong block placement rotation in 1.20.5->1.21 (#4166) 2024-10-06 15:19:05 +02:00
EnZaXD
9df1704357
Fix holder set direct id conversion in 1.20.3->1.20.5 component rewriter (#4164) 2024-10-05 21:34:34 +02:00
Nassim Jahnke
c358c39027
Make clearer distinction between filled and empty data component patch, simplify direct value getting 2024-09-29 13:34:32 +02:00
Nassim Jahnke
619eecacf8
Don't add block entity tag if the id is missing 2024-09-26 12:16:06 +02:00
EnZaXD
5287d4fb4f
Fix enchantment glint behaviour in 1.10->1.11 (#4156) 2024-09-23 19:24:46 +02:00
EnZaXD
27033e9096
Remove transaction tracking (and cancelling) in 1.16.4->1.17 (#4140) 2024-09-15 21:52:32 +02:00
EnZaXD
e436bbe375
Refactor dimension switch handling across all protocols (#4146) 2024-09-15 21:51:29 +02:00
EnZaXD
050a1dbacb
Fix set equipment body slot in 1.20.3->.5 if value is not the last (#4149) 2024-09-15 19:14:42 +02:00
EnZaXD
7235485802
Cleanup enchantment conversion in 1.12->1.13 to match vanilla (#4147)
Closes https://github.com/ViaVersion/ViaFabricPlus/issues/560
2024-09-14 21:33:18 +02:00
EnZaXD
fcb472347e
Add EntityTrackerBase#hasClientEntityId and don't use -1 as not set indicator (#4143) 2024-09-14 10:45:19 +02:00
EnZaXD
e0ce8cc715
Make EntityTrackerBase#clearEntities call removeEntity for all entries (#4142) 2024-09-12 22:09:52 +02:00
EnZaXD
ebc0e61be8
Fix invalid book view not visible in 1.20.3->.5 (#4139) 2024-09-07 10:45:10 +02:00
EnZaXD
d0b49009e5
Rewrite display name component in player info packet in 1.20.3->.5 (#4136) 2024-09-04 20:27:38 +02:00
Nassim Jahnke
6555bcda74
Small cleanup to mapping file loading 2024-09-02 23:21:29 +02:00
Nassim Jahnke
e537dbb024
Clean up StructuredItemRewriter, also handle sound events 2024-08-30 19:10:43 +02:00
Nassim Jahnke
f92dbb655d
Also cache missing protocol paths, don't reverse base protocols 2024-08-30 11:19:32 +02:00
EnZaXD
7cd5514b90
Add PacketWrapper#sendFutureRaw, cleanup login disconnect handling. (#4129)
Removes the special handling in Protocol1_8To1_9 and always send the correct/expected data by the client in ServerboundBaseProtocol1_7 itself. Also prevent sending the packet through the protocol pipeline since packet/format changes should also be handled inside the base protocol.
2024-08-29 21:46:43 +02:00
EnZaXD
32e51b52aa
Cleanup LOGIN/STATUS packet handlers (#4113) 2024-08-28 15:52:28 +02:00
Nassim Jahnke
4f66fd793b
Go back to fast entity data list iteration and mutation
This is a fairly hot method and the array list cannot be modified outside of the already managed event cancellation and provided extra list
2024-08-25 18:59:48 +02:00
Nassim Jahnke
2a71612aea
Small cleanup of a few rewriters 2024-08-25 18:42:21 +02:00
Nassim Jahnke
a993a08b8d
Only map between different primitive types when explicitly requested
This would otherwise only happen with unsafe type usage
2024-08-24 18:00:06 +02:00
Nassim Jahnke
a9c947517c
Don't unnecessarily re-wrap objects in passthrough 2024-08-24 17:10:20 +02:00
Pablo Herrera
2841bf3040
Add option to hide scoreboard numbers (#4122) 2024-08-24 15:49:09 +02:00
RK_01
7edddda36e
Split base protocols list (#4118) 2024-08-23 14:09:14 +02:00
RK_01
33de12ceb1
Reset reader before passing packet through protocols (#4117) 2024-08-23 09:42:50 +02:00
RK_01
f8eb57cdbb
Fix 1.8->1.9 click sound mappings (#4116) 2024-08-22 19:39:09 +02:00
EnZaXD
b2d523f5c0
Add more API for base protocols and skip manually added ones. (#4115) 2024-08-22 17:15:29 +02:00
EnZaXD
b586b0d361
Allow client intention packet to be cancelled (#4114) 2024-08-22 10:59:35 +02:00
EnZaXD
c6381e7f4d
Allow protocols to handle client intention packet (#4112) 2024-08-21 19:58:32 +02:00
EnZaXD
78abf8be00
Use RedirectProtocolVersion#getOrigin in InitialBaseProtocol if possible (#4110)
This way, we should be able to get rid of manually adding the base protocol in projects like ViaAprilFools:
https://github.com/ViaVersion/ViaAprilFools/blob/main/common/src/main/java/net/raphimc/viaaprilfools/protocol/s3d_sharewaretov1_14/Protocol3D_SharewareTo1_14.java#L87
2024-08-21 16:56:20 +02:00
EnZaXD
1dde24bb68
[ci skip] Remove outdated comments (#4111) 2024-08-21 16:56:09 +02:00
EnZaXD
bc57512ca2
Allow for multiple base protocols per version (#4106) 2024-08-21 14:35:19 +02:00
EnZaXD
9d75125e41
Make EntityTrackerBase#entities protected (#4103) 2024-08-18 11:03:57 +02:00
RK_01
8ce4112e86
Improve/Fix 1.8->1.9 sound mappings (#4099) 2024-08-14 18:04:37 +02:00
EnZaXD
7d542d5667
Fix ComponentRewriter1_20_5#convertFood behaviour (#4095)
Closes https://github.com/ViaVersion/ViaFabricPlus/issues/517
2024-08-14 15:26:22 +02:00
EnZaXD
1b03e24160
Move VV specific item handling out of component<->nbt conversion in 1.20.3->1.20.5 (#4094)
The current code backups the tag in CUSTOM_DATA inside the toStructuredItem function which in VB is used for to server packets which causes bad data, this PR moves the backup logic out to the VV specific handler and also prevents toOldItem logic for using the backup to ever get executed in VB. The counterpart PR will add proper handling for CUSTOM_DATA.

Fixes https://github.com/ViaVersion/ViaVersion/issues/4092
2024-08-14 09:31:27 +02:00
Nassim Jahnke
fcd91bb855
Add item cost and particle types to item rewriter 2024-08-13 12:45:36 +02:00
Nassim Jahnke
bda4ea9fd0
[ci skip] Move template protocol into common module
Had to move the rewriter classes into the flattened package to make them package private, but this is nicer than having a separate module just for those
2024-08-13 10:24:20 +02:00
Nassim Jahnke
cc1c88001f
Hotfix item id changes in item hover events 2024-08-07 17:36:42 +02:00
Nassim Jahnke
274f98c24e
Fix double remapping of area effect cloud particle in 1.20.2->.3
Fixes #4042
2024-08-07 15:37:14 +02:00
EnZaXD
aa22ca1d56
Handle pitch/yaw->data item frame rotation change in 1.16.4->1.17 (#4064)
See https://github.com/ViaVersion/ViaBackwards/pull/848
2024-08-07 13:02:51 +02:00
Nassim Jahnke
802e868b2e
Track sent armor trim registries in 1.20.3->1.20.5 2024-08-07 12:36:51 +02:00
Nassim Jahnke
02442a9775
Only resend attribute modifiers when necessary
Fixes #3973
2024-08-07 11:59:13 +02:00
Nassim Jahnke
a8ef3c890a
Only add dummy enchantment once 2024-08-06 15:21:18 +02:00
EnZaXD
434b32cad8
Fix typo in ViaManagerImpl#destroy log message (#4073) 2024-08-05 09:30:48 +02:00
EnZaXD
60b3ba6bb7
Include snakeyaml into final jar, delete compat layers (#4070)
Snakeyaml is an untypical library which most Via platforms don't have and also broke in the past with V2, having it directly in the jar like Gson cleans up the build scripts massively, reduces the build time and also doesn't break in the future if they release V3 or any other breaking changes.
2024-08-05 09:30:34 +02:00
EnZaXD
864beef341
Regenerate toString() functions and remove them from protocol internals (#4072) 2024-08-05 09:09:34 +02:00
Nassim Jahnke
462a10363c
Only print reload info when needed, add additional log message after shutdown
Thanks to its name and dependency order, ViaVersion will generally be the last plugin to be disabled and has occasionally been blamed for other plugins stalling server shutdown
2024-08-03 20:35:22 +02:00
Nassim Jahnke
48d5aaf8fa
5.0.2 Release 2024-07-28 14:37:59 +02:00
EnZaXD
41b0d95d70
Fix horse/llama's armor/carpet not visible in 1.20.3->1.20.5 (#4052) 2024-07-27 20:26:53 +02:00
EnZaXD
b599399c48
Cleanup 1.20->1.20.2 item and recipe rewriter (#4050) 2024-07-27 19:53:59 +02:00
EnZaXD
721e27eb39
Rewrite show_item in translation components in 1.11.1->1.12 (#4053)
Fixes https://github.com/ViaVersion/ViaVersion/issues/4051
2024-07-27 19:53:44 +02:00
RK_01
b1f64fd081
Use enhanced switches in more places (#4043) 2024-07-24 14:32:36 +02:00
EnZaXD
2b508567db
Move damage types 1.20.3 into nbt file (#4026) 2024-07-24 13:13:36 +02:00
EnZaXD
24d0ae7607
Add ViaManager#addPostEnableListener (#4038) 2024-07-22 18:24:06 +02:00
EnZaXD
40a44d5dc5
Remove version type from dump (#4036) 2024-07-22 17:45:21 +02:00
EnZaXD
b5a06181d4
Fix item projectile hierarchy in 1.14+ (#4034) 2024-07-22 17:44:07 +02:00
EnZaXD
35fa7e78a0
Handle attribute_modifiers inside container components in 1.21->1.20.5 (#4035)
Closes https://github.com/ViaVersion/ViaVersion/issues/3968
2024-07-22 17:42:25 +02:00
EnZaXD
3906b47654
Apply required changes for ViaAprilFools (#4033)
1. Allow the version provider to get the client version sent through the handshake packet
2. Allow platform to override provider instead
2024-07-21 17:45:13 +02:00
Nassim Jahnke
1476adb281
Slightly improve logging on config loading errors 2024-07-21 12:12:06 +02:00
EnZaXD
f2f0be0581
Allow base protocols to set client version (#4029) 2024-07-20 09:15:15 +02:00