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
Nassim Jahnke
c9733948b3
Use raw data filler in 1.12->1.13
2024-04-27 10:23:04 +02:00
Nassim Jahnke
798b70cbe6
Be even more defensive about half valid items in hover events
...
While they aren't particularly useful or intended, they were valid
2024-04-26 19:00:37 +02:00
Nassim Jahnke
a1c182f291
Ignore invalid names in the data component for hover events as well
2024-04-26 10:01:29 +02:00
Nassim Jahnke
8e63fd635b
Ignore invalid names in player heads
2024-04-26 09:29:19 +02:00
FlorianMichael
f422e03348
Rename ranged protocol version names
2024-04-25 20:31:22 +02:00
Nassim Jahnke
fdf735420f
Add enforce-secure-chat setting to determine what is sent to the client by default
2024-04-25 20:21:36 +02:00
Nassim Jahnke
b13fbbe175
Fix various issues in hover events serialization
2024-04-25 10:34:24 +02:00
Nassim Jahnke
3dfcd6b9b9
Fix written book hover serialization
2024-04-24 15:47:56 +02:00
Nassim Jahnke
8df0c0ae2e
Catch component parsing exceptions separately instead of failing the entire item
2024-04-24 15:47:47 +02:00
Nassim Jahnke
d2ca6a82be
Assume enforce secure chat as false by default
...
Setting it to true will result in chat validation errors on the client for other players without chat sessions or valid signatures
2024-04-24 10:26:35 +02:00
Nassim Jahnke
9654a613cd
Put combat kill through component rewriter
2024-04-24 10:15:53 +02:00
Nassim Jahnke
c5e6fa7d0c
Fix trim material ids at tail
2024-04-24 10:11:22 +02:00
Nassim Jahnke
b78f9d350b
Check for lore length, not component length
2024-04-23 23:53:24 +02:00
Nassim Jahnke
ebbe1b6da2
Make backwards enchantment code more readable
2024-04-23 23:44:12 +02:00
Nassim Jahnke
3aed7cb949
Fix mending translation from getting the id from the wrong class
2024-04-23 19:56:17 +02:00
Nassim Jahnke
e2f3dc7572
Limit enchantments to 0-255
2024-04-23 19:32:32 +02:00
Nassim Jahnke
9894671274
Add back default method
2024-04-23 13:47:05 +02:00
Nassim Jahnke
71ab15b331
Serialize to 1.20.3 components in conversion
...
Aside from hover events, only reading of components changed and we need the 1.20.3 hover input. Hover events are already handled by us.
2024-04-23 13:39:15 +02:00
Nassim Jahnke
34bc5b9d36
Put item name and lore through component rewriter
...
An absolute classic moment where servers are putting hover events into not hoverable item names and lore
2024-04-23 13:07:05 +02:00
Nassim Jahnke
b47446d9f7
Merge branch 'refs/heads/dev' into preview
2024-04-23 10:59:45 +02:00
EnZaXD
dcf741a2ba
Fix sound mapping lookup in 1.8->1.9 ( #3801 )
2024-04-23 10:46:40 +02:00
Nassim Jahnke
a4adef3cec
Fix attribute slot handling
2024-04-22 23:57:55 +02:00
Nassim Jahnke
f525ad98e7
Fix handling of sweeping
2024-04-22 16:24:13 +02:00
Nassim Jahnke
d3d6d4f1cd
Fixes to hover event handling, some cleanup
2024-04-22 16:05:44 +02:00
Nassim Jahnke
5069b26c2f
Reuse previously sent enforces-secure-chat value
2024-04-22 16:05:40 +02:00
FlorianMichael
079671060c
Remove items from extra-identifiers-1.20.3 file
2024-04-22 07:13:03 +02:00
Nassim Jahnke
89cd8aec1d
Merge branch 'refs/heads/dev' into preview
2024-04-21 23:47:01 +02:00
Nassim Jahnke
7ac7ea485f
Add UserConnection to component rewriters as well
2024-04-21 23:01:58 +02:00
Nassim Jahnke
5e4f25efeb
Merge branch 'refs/heads/dev' into preview
...
# Conflicts:
# common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/rewriter/BlockItemPacketRewriter1_20_5.java
# common/src/main/java/com/viaversion/viaversion/rewriter/EntityRewriter.java
# common/src/main/java/com/viaversion/viaversion/rewriter/ItemRewriter.java
2024-04-21 22:51:45 +02:00
Nassim Jahnke
a152993ffd
Add UserConnection to item rewriters
...
Already required for ViaBackwards, later required for ViaVersion as well due to synchronized registry entries in items
2024-04-21 22:39:13 +02:00
Nassim Jahnke
73daac471c
Split up version data in dump
2024-04-21 21:55:59 +02:00
Nassim Jahnke
f4e9225f85
Store item identifiers, make identifier files more compact via global table
2024-04-21 20:47:38 +02:00
EnZaXD
1ed22327f6
Replace string->component conversion in 1.8->1.9 ( #3794 )
2024-04-21 16:00:30 +02:00
EnZaXD
ce2ad7d5eb
Change default value for new ocelot setting ( #3797 )
2024-04-21 15:15:17 +02:00
FlorianMichael
d7e66260de
Add 1.20.5 nbt->component conversion base
...
Has to be implemented into ViaBackwards yet and handlers are still missing
2024-04-21 14:53:25 +02:00
FlorianMichael
dc6d581123
Update mcstructs and use new component serializer
2024-04-21 12:13:59 +02:00
FlorianMichael
bd3f1206e6
[ci skip] document 1.9 metadata in MetaIndex
2024-04-21 11:35:10 +02:00
FlorianMichael
b9e92e5c1f
Fix zombie metadata in 1.10->1.11
2024-04-21 11:24:20 +02:00
Gero
0acaed7c7a
Use correct item type for 1.20.5 particle reading
2024-04-20 23:50:24 +02:00
FlorianMichael
3055a4277d
Use toString() method in ComponentUtil
2024-04-20 22:52:40 +02:00
Gero
bcbe69d24c
Fix ITEM_NAME component to tag conversion
2024-04-20 22:44:22 +02:00
EnZaXD
33cc21d6e6
Add setting for ocelot->cat translation in 1.13.2->1.14 ( #3796 )
2024-04-20 15:17:26 +02:00
Nassim Jahnke
949b3d712e
Fix illager metadata in 1.13->1.14
2024-04-20 13:36:00 +02:00
Nassim Jahnke
216dcb2931
Remove invalid zombified piglin data
2024-04-20 12:43:08 +02:00
Nassim Jahnke
bff1536529
Fall back to keys without namespace in registry data
2024-04-20 12:06:39 +02:00
Nassim Jahnke
b221e47eb7
Add creative mode range attributes if needed
...
Add the range argument either with or without modifiers depending on the gamemode to otherwise reset them
2024-04-19 21:35:41 +02:00
EnZaXD
fb434a79bd
Use correct deserialization method in SerializerVersion#toComponent ( #3795 )
...
MCStructs has multiple methods for parsing jsons depending on the version, we should use them correctly in our wrapper to support all possible cases of components.
2024-04-19 17:05:07 +02:00
Nassim Jahnke
1be0605f51
Eat remaining particle data in spawn particle
2024-04-19 17:02:08 +02:00
Gero
e08c263ced
Add missing dust_color_transition data remapping (changed in 24w03a)
2024-04-19 11:02:11 +02:00
Nassim Jahnke
1bb85b11e9
Merge branch 'refs/heads/dev' into preview
2024-04-19 10:11:05 +02:00
AJ Ferguson
128e191132
Fix 1.15->1.16 item attribute uuid ( #3793 )
2024-04-19 10:09:17 +02:00
Nassim Jahnke
3520f99d5a
Remove empty items from various block entities
2024-04-19 09:56:24 +02:00
RaphiMC
7825a1e460
Handle show_entity type field
2024-04-18 23:11:19 +02:00
RK_01
bfde4b953c
Fix 1.11->1.12 show_achievement rewriter ( #3792 )
2024-04-18 20:45:19 +02:00
Nassim Jahnke
57b37457d6
Add spit damage type
...
The client depends on it
2024-04-18 20:12:38 +02:00
Nassim Jahnke
f7aa1a516e
Fill wolf_food item tag
2024-04-18 18:58:29 +02:00
Nassim Jahnke
b1468ac6d0
Update particle codec format
...
Was changed in 1.20.5-pre1
2024-04-18 18:36:22 +02:00
Nassim Jahnke
27b5fdb4ff
Merge branch 'refs/heads/dev' into preview
...
# Conflicts:
# common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13_1to1_13/metadata/MetadataRewriter1_13_1To1_13.java
# common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14to1_13_2/metadata/MetadataRewriter1_14To1_13_2.java
# common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/metadata/MetadataRewriter1_15To1_14_4.java
# common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_2to1_16_1/metadata/MetadataRewriter1_16_2To1_16_1.java
# common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16to1_15_2/metadata/MetadataRewriter1_16To1_15_2.java
# common/src/main/java/com/viaversion/viaversion/protocols/protocol1_17to1_16_4/packets/EntityPackets.java
# common/src/main/java/com/viaversion/viaversion/protocols/protocol1_18to1_17_1/packets/EntityPackets.java
# common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19_3to1_19_1/packets/EntityPackets.java
# common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19to1_18_2/packets/EntityPackets.java
2024-04-18 16:17:05 +02:00
Nassim Jahnke
a99273db2e
Always call onMappingDataLoaded in TagRewriter
...
In case they are needed in the future, so that we don't also have to check whether the different methods are actually called
2024-04-18 16:12:57 +02:00
Nassim Jahnke
64f911ed4a
1.20.5-rc1
2024-04-18 15:47:44 +02:00
EnZaXD
4302dd61aa
Remove Protocol1_9To1_8#FIX_JSON usage in 1.11->1.12 ( #3791 )
2024-04-18 15:26:13 +02:00
EnZaXD
98c5d38d0c
Push book contents through component conversion in 1.8->1.9 ( #3790 )
2024-04-18 15:25:48 +02:00
FlorianMichael
033d5ae49a
Handle removed item conversion in component rewriter
2024-04-17 22:39:08 +02:00
EnZaXD
8fe0681778
Replace incoming/outgoing usages with client/server bound ( #3787 )
2024-04-16 20:59:48 +02:00
EnZaXD
ea5cf3e594
Add IdAndData util and replace conversions ( #3786 )
2024-04-16 15:55:55 +02:00
Nassim Jahnke
31ccd2ab9b
1.20.5-pre2
2024-04-15 17:14:23 +02:00
FlorianMichael
2be190d152
Some consistency cleanup
2024-04-13 22:32:56 +02:00
FlorianMichael
4e25549682
Handle legacy item hover events
...
Co-authored-by: RaphiMC <50594595+raphimc@users.noreply.github.com>
2024-04-13 21:01:34 +02:00
FlorianMichael
287678c12a
[ci skip] Add comments for conversion direction to classes
2024-04-13 20:58:38 +02:00
FlorianMichael
970986bc59
Add component rewriter for 1.20.3->1.20.5
2024-04-13 20:56:54 +02:00
RK_01
2586788bf6
Fix config read/write error when parent file is null ( #3783 )
2024-04-10 17:35:25 +02:00
EnZaXD
0c2c8400ae
Make handling of optional block metadata more explicit in <1.19.4 ( #3782 )
2024-04-10 17:34:56 +02:00
Nassim Jahnke
ba4404fad6
1.20.5-pre1
2024-04-10 17:33:10 +02:00
RK_01
6f53c069ea
Fix 1.12 -> 1.13 held enderman block translation ( #3781 )
2024-04-10 10:43:48 +02:00
Nassim Jahnke
99f29e2597
Prepare proper banner id tracking, small other fixes
2024-04-09 12:40:16 +02:00
EnZaXD
7932b79080
Explain backup tags ( #1 )
2024-04-08 16:59:33 +02:00
FlorianMichael
4b780b92ee
Fix armor trim conversion
2024-04-08 15:05:01 +02:00
Nassim Jahnke
d04aaeb926
Handle color in area effect cloud
2024-04-08 14:21:11 +02:00
FlorianMichael
9f1ee27afc
Add missing checks in item id conversions
2024-04-08 13:36:58 +02:00
Nassim Jahnke
5f685884ff
Handle entity effect particle in spawn particle
2024-04-08 13:33:59 +02:00
FlorianMichael
ba2e50cc88
Fix StructuredDataConverter#removeItemBackupTag
2024-04-08 13:31:13 +02:00