Commit Graph

2386 Commits

Author SHA1 Message Date
Nassim Jahnke
5edb6ff411
Handle jukebox songs 2024-06-12 18:03:50 +02:00
Nassim Jahnke
251ab42c14
Update data component ids 2024-06-12 18:03:50 +02:00
Nassim Jahnke
134c3559bf
WIP 24w21b 2024-06-12 18:03:49 +02:00
Nassim Jahnke
832dbdf493
24w20a 2024-06-12 18:03:49 +02:00
Nassim Jahnke
ccc509432b
Rebase onto 5.0.0 2024-06-12 18:03:49 +02:00
Nassim Jahnke
58d7dc7ca6
24w19a 2024-06-12 18:03:49 +02:00
FlorianMichael
1fe6f72aec
Fix typo 2024-06-12 18:03:48 +02:00
Nassim Jahnke
e3312b1c80
Add basic handling for items within item components
No changes so far, but will most likely be needed rather sooner than later
2024-06-12 18:03:48 +02:00
Nassim Jahnke
182148dbe8
Some cleanup 2024-06-12 18:03:48 +02:00
Nassim Jahnke
b5c718098d
24w18a
Abstract item rewriters still need additional handling for once there are actual item changes, but this works as is for now
2024-06-12 18:03:39 +02:00
EnZaXD
01ea51e8ee
Add armor stand entity id to ENTITY_DATA in 1.20.3->.5 (#3930)
Closes https://github.com/ViaVersion/ViaVersion/issues/3929
2024-06-12 18:02:24 +02:00
EnZaXD
ae3042074e
Add trade list rewriter functions to ItemRewriter (#3926) 2024-06-11 15:02:04 +02:00
EnZaXD
d0ed528788
Save negative item amounts in 1.10->1.11 (#3921) 2024-06-09 17:07:29 +02:00
EnZaXD
2fba2c1e65
Don't send empty items in 1.8->1.9 hand item provider (#3920) 2024-06-09 15:52:08 +02:00
Nassim Jahnke
b77d0fedd9
Remove no longer needed empty item check in entity data
Also fixes bad null values being set there
2024-06-09 13:05:52 +02:00
Nassim Jahnke
1e244a126d
Handle optional item cost nullability 2024-06-07 13:51:28 +02:00
Nassim Jahnke
842cb8dac5
Change items to not be nullable in 1.20.5+
With the server and client actually having empty checks in many places now, this simplifies empty checks going forward
2024-06-07 13:34:46 +02:00
Nassim Jahnke
5053d739c0
Handle empty items in some thrown projectiles
Fixes #3909, #3910
2024-06-07 12:24:02 +02:00
EnZaXD
bb48dc90f9
Add EntityRewriter#registerBlockStateHandler (#3912) 2024-06-06 11:00:18 +02:00
EnZaXD
1ea27f1077
Improve some grammar and rename update checker setting (#3900) 2024-06-04 12:41:12 +02:00
EnZaXD
3f72e9ea47
Don't publish extra modules (#3901) 2024-06-03 15:22:59 +02:00
EnZaXD
8a826b88fb
Move firework flight length appending into VB protocol (#3902) 2024-06-02 09:04:24 +02:00
EnZaXD
82452dbdfe
Remove bungee options from config.yml (#3898) 2024-06-01 20:37:38 +02:00
Nassim Jahnke
2f41d09e23
Remove deprecated codec handler 2024-06-01 16:49:50 +02:00
Nassim Jahnke
0f73304a1d
Fix trim pattern 2024-05-31 15:17:04 +02:00
EnZaXD
2a088c08ed
Handle edge cases when converting legacy components (#3896) 2024-05-30 22:55:03 +02:00
Nassim Jahnke
a48c3a6ec2
Move Bungee and Sponge platforms to separate plugins
Bungee support is half broken due to not having the same injection points as Velocity and has become less and less stable with every update. The Sponge plugin has been almost entirely unused
2024-05-30 21:52:34 +02:00
EnZaXD
5245a7ef2e
Replace DataItem constructor usages (#3893) 2024-05-30 10:42:55 +02:00
EnZaXD
03e8eec12e
Wrap BASE_COLOR, CONTAINER_LOOT and CONTAINER inside block entity tag in 1.20.5->.3 (#3892)
Closes https://github.com/ViaVersion/ViaBackwards/issues/763
2024-05-29 16:47:53 +02:00
EnZaXD
76abe4432f
Handle items with invalid amount in 1.20.3->.5 (#3889) 2024-05-29 16:46:25 +02:00
EnZaXD
af393c564f
Fixup ComponentUtil#trimStrings detection (#3888) 2024-05-29 10:21:50 +02:00
EnZaXD
d9446eed07
Improve block break/place detection in 1.8->1.9 (#3886)
Servers can send sound packets where the positions have a slight offset. This PR aims to improve the detection to account for that.

Closes https://github.com/ViaVersion/ViaFabricPlus/issues/333
2024-05-28 08:43:21 +02:00
Nassim Jahnke
3f7d286606
Gracefully handle empty first input item in trades
Fixes #3885
2024-05-27 22:15:40 +02:00
RK_01
869755ec4a
Perform deep copy in DataItem#copy (#3883) 2024-05-27 13:28:39 +02:00
Nassim Jahnke
e26f63c703
Clean up 1.12 recipe data handling
Supersedes #3880
2024-05-26 20:38:27 +02:00
Nassim Jahnke
792f52e637
Fix firework flight show item conversion
Fixes #3877
2024-05-26 13:02:38 +02:00
Nassim Jahnke
94e853e5cf
Add entity id to painting items 2024-05-22 10:42:38 +02:00
EnZaXD
9b1c97919c
Only soft fail CUSTOM_PAYLOAD content reading (#3873)
Reading of the channel shouldn't be soft failed as the game code only try catches content reading
2024-05-22 09:44:38 +02:00
Nassim Jahnke
01589b3c49
Always throw on serverbound custom payload errors
Old server versions did suppress exceptions, but that doesn't matter for us
2024-05-21 20:47:48 +02:00
Nassim Jahnke
c5756fe45c
Rename Position to BlockPosition 2024-05-21 13:05:15 +02:00
EnZaXD
9547cf160d
Fixup ComponentUtil#legacyToJsonString behavior on items with styles (#3868) 2024-05-21 11:30:57 +02:00
EnZaXD
659bee771b
Use mapped identifier getter when converting items in 1.20.3->.5 components (#3869) 2024-05-20 19:08:10 +02:00
EnZaXD
d5ccb17951
Add default firework flight length in 1.20.5->1.20.3 (#3866) 2024-05-20 14:11:16 +02:00
Pantera (Mad_Daniel)
47f5617f83
Fix 1.20.5->1.20.3 unpaired lodestone compass (#3864) 2024-05-19 11:58:25 +02:00
EnZaXD
052fb6e366
Fixup LODESTONE_TRACKER rewriting in 1.20.3->.5 and backwards (#3862) 2024-05-19 09:40:10 +02:00
EnZaXD
7d9c6fea69
Fix firework rewriting in 1.20.3->.5 (#3860)
Makes the explosion tag optional like it is in 1.20.4 so the tooltip shows the correct duration when crafting a firework, also fixes the type used for Flight which is byte in 1.20.4
2024-05-19 09:29:05 +02:00
EnZaXD
f92d241028
Use Key#namespaced in entity type enums (#3858) 2024-05-17 21:04:54 +02:00
RK_01
0427aec4ab
Fix 1.8->1.9 item rewriting (#3859) 2024-05-17 18:17:44 +02:00
Nassim Jahnke
5a1a22a007
Replace runnables with method in packet send methods 2024-05-16 21:55:51 +02:00
RK_01
91f31b578f
Clean up tags rewriting (#3856) 2024-05-16 10:31:05 +02:00
EnZaXD
1399c901d2
Add rewriter function for legacy chunk types to BlockRewriter (#3854) 2024-05-15 16:58:57 +02:00
EnZaXD
1d0b6cc5c4
Update data class names to indicate target version (#3851) 2024-05-15 10:45:07 +02:00
EnZaXD
04b31d70b2
Fixup legacy entity type hierarchy and namings (#3849) 2024-05-14 20:56:07 +02:00
Nassim Jahnke
0fc0259d8c
Remove version check for getting protocol path 2024-05-14 20:55:36 +02:00
Nassim Jahnke
9fd40395eb
Move occluding state ids to data file 2024-05-14 20:55:35 +02:00
Nassim Jahnke
75d86851ce
Apply IJ code reformat, rename rewriter methods, change metadata references to entity data
Doing lots of things in one commit to not muddy file history too much - almost all of these changes are fully automated
2024-05-14 20:55:33 +02:00
Nassim Jahnke
d6b5b5dc3e
Move PS compatibility to an addon
PS has long been dead, so moving it away removes unnecessary complexity/the extra module. The additional code when getting the protocol version was long dead as well, since all connections are injected.
2024-05-14 18:54:24 +02:00
EnZaXD
fcfea24b36
Rework logging inside protocols, add Protocol#getLogger() (#3843) 2024-05-14 18:54:23 +02:00
EnZaXD
9149f12809
Use global logger for configs, delete Config#LOGGER (#3846)
There is no reason to keep a separate logger for config files, this also doesn't work as intended since creating new Java loggers isn't really possible (they don't match the usually formatting Via.getPlatform().getLogger() would provide). This PR deletes the logger and uses the global/main logger provided by the platform, this has been tested with bukkit.
2024-05-14 18:54:23 +02:00
EnZaXD
c9dfc739a2
Change CUSTOM_PAYLOAD handler in 1.10->1.11 to soft fail. (#3844) 2024-05-14 18:54:23 +02:00
EnZaXD
bd4df2813d
Refactor protocols to match template module (#3842) 2024-05-14 18:54:23 +02:00
FlorianMichael
d47b5be7f3
Move GameMode enum into api module
Actually not needed there but still fits in there
2024-05-14 18:54:22 +02:00
FlorianMichael
0142e3aea7
Rename a few data classes, provider packages, task classes 2024-05-14 18:54:22 +02:00
FlorianMichael
d0fecb8951
Merge rewriter and packet classes (entities and items) in 1.8->1.9 2024-05-14 18:54:22 +02:00
Nassim Jahnke
5286efde15
Move type instances out of its enclosing class
Type constants being hold by its own abstract class has lead to classloading issues in the past, now we're finally free
2024-05-14 18:54:19 +02:00
EnZaXD
ca25e62d2d
Cleanup 1.8->1.9 class structure (#3841) 2024-05-14 18:53:54 +02:00
Nassim Jahnke
501f65e216
Packet and entity type renames
Use Mojang mapped names for packet types to be consistent with functionality and easy to look up
2024-05-14 18:53:51 +02:00
Nassim Jahnke
e965e97139
Package/class renames and moves 2024-05-14 18:53:05 +02:00
Nassim Jahnke
75db1a7cdf
Start work on ViaVersion 5.0.0
Bump Java target to 17, clean up using its new language features
Remove unnecessary checked exception throwing
Remove deprecated code
2024-05-14 18:53:02 +02:00
Nassim Jahnke
2d41eb52a6
Remove invalid chunk entities for 1.20.5 clients
Fixes #3804
2024-05-14 18:47:57 +02:00
EnZaXD
2aec3ce6d1
Expose StructuredDataConverter#removeBackupTag (#3838) 2024-05-09 20:50:45 +02:00
EnZaXD
f60e31ac78
Add block entity ids in 1.20.3->.5 conversion (#3837) 2024-05-09 20:37:20 +02:00
EnZaXD
8c4ff7ebfc
Remove fix which got merged into MCStructs (#3836) 2024-05-09 20:04:36 +02:00
Nassim Jahnke
4c7729e602
Fixup banner handling, some other fixes 2024-05-09 19:33:26 +02:00
Nassim Jahnke
3dfc3bb15b
Actually add properties tag in 1.20.5->1.20.4 item handler 2024-05-09 17:21:53 +02:00
EnZaXD
69b33dc2d2
Handle invalid disconnect message in 1.8->1.9 (#3834) 2024-05-09 09:26:28 +02:00
EnZaXD
c24169c410
[ci skip] Use login/status packet enums in older protocols (#3835) 2024-05-09 09:25:54 +02:00
Nassim Jahnke
31211c2214
Fix tipped arrow and area effect cloud color 2024-05-08 20:28:55 +02:00
Nassim Jahnke
cb5fc9fb08
Fix empty effect handling
Fixes #3832
2024-05-08 11:55:35 +02:00
EnZaXD
a8d7ab62e3
Add alpha to particle colors in 1.20.3->.5 (#3827) 2024-05-06 09:51:41 +02:00
Nassim Jahnke
71313b4753
Simplify raider check in 1.13->1.14 entity data handler 2024-05-06 09:42:49 +02:00
Nassim Jahnke
994bc8eefc
Move down super onMappingDataLoaded calls 2024-05-05 23:15:20 +02:00
Nassim Jahnke
e993be751c
Filter items in entity data with amount < 1 2024-05-05 16:36:46 +02:00
Nassim Jahnke
fc9d5b6d9d
Clean up entriesLength usage 2024-05-05 13:33:21 +02:00
EnZaXD
9549a18cec
Handle duplicated registry ids in 1.20.3->.5 (#3825)
Minecraft 1.20.4 and earlier silently overrides the previous values if multiple registry elements have the same id (Tested using a Fabric 1.20.4 mod by parsing a registry sent by a server and then printing the parsed objects).
2024-05-05 13:08:09 +02:00
Nassim Jahnke
d691096ce1
Move around types, apply to other enums
This doesn't include ALL abstract types, mostly if they are single-use or not at all relevant to our handling and most likely never will
2024-05-05 12:10:57 +02:00
Nassim Jahnke
73ed425bf7
Fixup entity type hierarchy 2024-05-04 18:11:50 +02:00
EnZaXD
cdc9c3ae95
Update mappings (#3823)
48167fe5b6
2024-05-03 19:12:24 +02:00
EnZaXD
d3af70d76c
Add optional registry utils to TagUtil (#3819) 2024-05-02 15:45:19 +02:00
Nassim Jahnke
c00bc6b667
Check both namespaced and implicit key when replacing registry 2024-05-01 10:28:53 +02:00
Nassim Jahnke
fa3c933b2f
Fix banner pattern backup
Fixes #3816
2024-05-01 00:06:22 +02:00
Nassim Jahnke
07bb0269c3
Auto: Update copyright headers 2024-04-30 22:23:11 +02:00
Nassim Jahnke
57c0d83608
Clean up component rewriter 2024-04-30 16:09:11 +02:00
Nassim Jahnke
4854b131b8
Some cleanup 2024-04-30 09:02:24 +02:00
Nassim Jahnke
1864b66e42
Handle new banner patterns in backwards translation 2024-04-29 23:58:57 +02:00
Nassim Jahnke
8aa6769193
Handle empty items in item lists 2024-04-29 23:11:10 +02:00
Nassim Jahnke
a77e328dfe
Put components in entity data through component rewriter
Cursed, but possibly needed
2024-04-27 21:39:20 +02:00
Gero
9c84e0dbe9 Fix remapping of 1.20.5 CLICK_WINDOW_BUTTON 2024-04-27 21:26:28 +02:00
Nassim Jahnke
66e0453398
Fix block protocols disconnect packet 2024-04-27 12:13:09 +02:00
Nassim Jahnke
7ec6888a30
Handle invalid command argument types
The client ignores these presumably for modded servers
Fixes #3806
2024-04-27 11:26:18 +02:00