Commit Graph

651 Commits

Author SHA1 Message Date
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
EnZaXD
a0a2794291
Change player parent to living entity base in 1.9/1.12 entity enums (#4154) 2024-09-20 13:35:58 +02:00
EnZaXD
e436bbe375
Refactor dimension switch handling across all protocols (#4146) 2024-09-15 21:51:29 +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
Nassim Jahnke
95581a6fa5
Fix mapping reading of changed_id type 2024-09-05 10:02:55 +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
RK_01
0b2dac9056
Copy item in Particle#copy (#4130) 2024-08-29 23:28:39 +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
RK_01
5017d4bbb3
Add Particle#copy (#4126) 2024-08-29 15:32:28 +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
EnZaXD
10ee7e1930
Deprecate StoredObject#getUser (#4104) 2024-08-21 19:14:40 +02:00
EnZaXD
bc57512ca2
Allow for multiple base protocols per version (#4106) 2024-08-21 14:35:19 +02:00
RK_01
61fcf6f895
Update 1.21 version range (#4082) 2024-08-08 17:27:38 +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
EnZaXD
c9d6fbfcd0
Add VersionProvider#getServerProtocol (#4049)
Most platforms won't ever throw an error and usually ViaVersion shouldn't even load when the server version can't be found. Therefore, I added this bouncer function, so I don't need to try catch my code in ViaLoader/VFP where an exception is never thrown
2024-07-27 19:53:33 +02:00
EnZaXD
24d0ae7607
Add ViaManager#addPostEnableListener (#4038) 2024-07-22 18:24:06 +02:00
EnZaXD
b5a06181d4
Fix item projectile hierarchy in 1.14+ (#4034) 2024-07-22 17:44:07 +02:00
EnZaXD
f2f0be0581
Allow base protocols to set client version (#4029) 2024-07-20 09:15:15 +02:00
Nassim Jahnke
0915afe43b
Handle 1.21 attribute id changes
Fixes #4005
2024-07-19 11:26:28 +02:00
EnZaXD
a45985ed58
Validate index when reading structured data type (#4020) 2024-07-16 09:59:33 +02:00
EnZaXD
20f7738f08
Add cancel-block-sounds option for 1.8->1.9 place/break fix (#4011) 2024-07-12 00:11:11 +02:00
EnZaXD
323f0fa087
Remove minimize-cooldown config option (#4009) 2024-07-07 18:03:35 +02:00
EnZaXD
463381b84e
Rename missing metadata references to entity data (#4007) 2024-07-06 21:05:40 +02:00
EnZaXD
f4d6659760
Only print broken json in component type when debug mode is enabled (#3990) 2024-06-28 13:44:31 +02:00
EnZaXD
9d3db4cf97
Improve performance in ProtocolVersionRange#contains (#3964) 2024-06-22 11:02:16 +02:00
Nassim Jahnke
f5b3799db9
Use default dimension data for defaulted registry entry 2024-06-20 17:32:19 +02:00
RK_01
c098e24c4f
Return generic Item array in StructuredItem#emptyArray (#3955) 2024-06-17 20:08:34 +02:00
EnZaXD
824ff375d4
Fix GameMode#getById behaviour in 1.8->1.9 (#3947)
Vanilla fallbacks to SURVIVAL and doesn't throw any errors,
also NOT_SET was missing previously.
2024-06-16 22:28:50 +02:00
Nassim Jahnke
aa312f7332
Merge branch 'refs/heads/dev' into preview 2024-06-16 10:19:43 +02:00
EnZaXD
ec976dfb6c
Add method to remove sub commands from command handler (#3941) 2024-06-15 20:51:24 +02:00
Nassim Jahnke
00088a90fd
Keep data component types fully immutable 2024-06-14 00:27:56 +02:00
Nassim Jahnke
ddf6df8097
Add new keys for item data types containing item arrays 2024-06-14 00:21:30 +02:00
Nassim Jahnke
cc6f789334
Handle block ids in tool and adventure more predicate data 2024-06-13 23:10:25 +02:00
Nassim Jahnke
67a349d74b
Add tooltip_order and manually add curse enchantment tags 2024-06-12 23:22:46 +02:00
Nassim Jahnke
bb59149fbd
Remove snapshot version for 1.21 2024-06-12 18:10:45 +02:00
Nassim Jahnke
089df6517e
1.21-rc1 2024-06-12 18:03:51 +02:00
Nassim Jahnke
d007beaeec
1.21-pre4 2024-06-12 18:03:51 +02:00
Nassim Jahnke
3d656d411d
1.21-pre3 2024-06-12 18:03:51 +02:00
Nassim Jahnke
2c44c275bc
1.21-pre2 2024-06-12 18:03:51 +02:00
Nassim Jahnke
d062229e0f
Fix item type in 1.21 entity data types 2024-06-12 18:03:51 +02:00
Nassim Jahnke
8bc22a1bad
Handle item changes in show item components 2024-06-12 18:03:50 +02:00
Nassim Jahnke
5d0846abe2
Handle chat and horse container changes 2024-06-12 18:03:50 +02:00
Nassim Jahnke
23dd8c55ad
1.21-pre1 2024-06-12 18:03:50 +02:00
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
cf2168aa95
24w19b, they couldn't have done that 10 seconds faster 2024-06-12 18:03:49 +02:00
Nassim Jahnke
58d7dc7ca6
24w19a 2024-06-12 18:03:49 +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
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
RK_01
c07adfddb2
Add StructuredItem#emptyArray (#3915) 2024-06-07 22:34:45 +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
d43ad37663
Add missing conditions to 1.20.5 item type writing (#3913) 2024-06-06 19:30:03 +02:00
EnZaXD
3f72e9ea47
Don't publish extra modules (#3901) 2024-06-03 15:22:59 +02:00
Nassim Jahnke
0f73304a1d
Fix trim pattern 2024-05-31 15:17:04 +02:00
EnZaXD
76abe4432f
Handle items with invalid amount in 1.20.3->.5 (#3889) 2024-05-29 16:46:25 +02:00
EnZaXD
d8aa3c4b39
Add DataItem constructor without data short (#3884) 2024-05-28 10:52:57 +02:00
RK_01
869755ec4a
Perform deep copy in DataItem#copy (#3883) 2024-05-27 13:28:39 +02:00
Nassim Jahnke
792f52e637
Fix firework flight show item conversion
Fixes #3877
2024-05-26 13:02:38 +02:00
Nassim Jahnke
c5756fe45c
Rename Position to BlockPosition 2024-05-21 13:05:15 +02:00
EnZaXD
f92d241028
Use Key#namespaced in entity type enums (#3858) 2024-05-17 21:04:54 +02:00
RK_01
91f31b578f
Clean up tags rewriting (#3856) 2024-05-16 10:31:05 +02:00
EnZaXD
04b31d70b2
Fixup legacy entity type hierarchy and namings (#3849) 2024-05-14 20:56:07 +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
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
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
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
f1b92fea8d
Move loadFullMappings to MappingDataBase, use loadMiMappings 2024-05-05 14:41:30 +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
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
5f90bcbbaf
Fix item cost type reading 2024-04-28 15:15:17 +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
f20d99fcef
Add 1.20.6 to .5 version
We technically don't know whether that will stay true, but might as well now to prevent confusion, as it wouldn't have any consequences if it did change
2024-04-26 15:02:57 +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
9dd3348510
Move appendClientbound/Serverbound methods to Protocol interface 2024-04-24 20:11:05 +02:00
Nassim Jahnke
f2b9c42590
Remove snapshot version support 2024-04-23 17:01:46 +02:00
Nassim Jahnke
bc0b4470f6
1.20.5-rc3 2024-04-22 16:20:09 +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
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