Commit Graph

648 Commits

Author SHA1 Message Date
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
Gero
0acaed7c7a Use correct item type for 1.20.5 particle reading 2024-04-20 23:50:24 +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
1be0605f51
Eat remaining particle data in spawn particle 2024-04-19 17:02:08 +02:00
Nassim Jahnke
c75b4d8ef5
1.20.5-rc2 2024-04-19 15:38:35 +02:00
Gero
e08c263ced Add missing dust_color_transition data remapping (changed in 24w03a) 2024-04-19 11:02:11 +02:00
Nassim Jahnke
f7aa1a516e
Fill wolf_food item tag 2024-04-18 18:58:29 +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
FlorianMichael
033d5ae49a
Handle removed item conversion in component rewriter 2024-04-17 22:39:08 +02:00
Nassim Jahnke
8cf9114403
1.20.5-pre4 2024-04-17 15:01:16 +02:00
EnZaXD
bd8e469216
Fix IdAndData constructor without data field (#3789) 2024-04-17 08:46:56 +02:00
EnZaXD
57d7fd59cc
Change IdAndData#setData parameter to int (#3788) 2024-04-16 21:00:04 +02:00
EnZaXD
ea5cf3e594
Add IdAndData util and replace conversions (#3786) 2024-04-16 15:55:55 +02:00
Nassim Jahnke
13eec3c2ea
1.20.5-pre3 2024-04-16 15:36:02 +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
4343aa17fc
Add missing annotations to StatePropertyMatcher 2024-04-13 20:57:32 +02:00
Nassim Jahnke
ba4404fad6
1.20.5-pre1 2024-04-10 17:33:10 +02:00
Nassim Jahnke
d04aaeb926
Handle color in area effect cloud 2024-04-08 14:21:11 +02:00
FlorianMichael
7b28683b6a
Add remaining data backup handling 2024-04-08 13:18:49 +02:00
Nassim Jahnke
1fe23e4aeb
Fix trade list handling 2024-04-07 13:36:02 +02:00
Nassim Jahnke
c743c20334
Update wolf textures again, add utility methods 2024-04-06 21:26:44 +02:00
Nassim Jahnke
67e6e1a2e3
24w14a 2024-04-06 21:26:44 +02:00
Nassim Jahnke
a2c1c52f51
24w13a 2024-04-06 21:26:44 +02:00
Nassim Jahnke
fd4db24d44
Fix intangible projectile data reading 2024-04-06 21:26:43 +02:00
Nassim Jahnke
4849ca0745
Start working on 24w12a 2024-04-06 21:26:43 +02:00
Nassim Jahnke
60b782455d
Fix display tag setting and doubled item id rewriting 2024-04-06 21:26:43 +02:00
Nassim Jahnke
c2567115d8
Fix various issues 2024-04-06 21:26:42 +02:00
Nassim Jahnke
4255876c22
Fix up block state handling, add PotDecorations wrapper 2024-04-06 21:26:42 +02:00
Nassim Jahnke
936dcafc11
Make HolderSet an interface 2024-04-06 21:26:42 +02:00
Nassim Jahnke
bf11a0a7de
Start working on 24w11a 2024-04-06 21:26:41 +02:00
Nassim Jahnke
3f82b150d2
Handle CanPlaceOn and CanDestroy tags 2024-04-06 21:26:39 +02:00
Nassim Jahnke
bb4a8b73e0
Small cleanup 2024-04-06 21:26:16 +02:00
Nassim Jahnke
8d3492ba30
Add more structured data -> nbt converters 2024-04-06 21:26:16 +02:00
Nassim Jahnke
666b204ebb
Prepare class for structured data->tag rewriting 2024-04-06 21:26:16 +02:00
Nassim Jahnke
bfab9b0c11
Banner patterns and wolves 2024-04-06 21:26:15 +02:00
Nassim Jahnke
426bd9aa99
More handled structures 2024-04-06 21:26:13 +02:00
Nassim Jahnke
7a66bb8e1c
More handled structures 2024-04-06 21:25:39 +02:00
Nassim Jahnke
329abcac7d
More handled structures 2024-04-06 21:25:08 +02:00
Nassim Jahnke
0961de898d
Handle books, among other things 2024-04-06 21:25:05 +02:00
Nassim Jahnke
b4ee564aa2
24w10a, more item component work 2024-04-06 21:23:57 +02:00
EnZaXD
617ef10667
Remove MetaType1_8#NonExistent (#3774) 2024-04-05 19:48:59 +02:00
EnZaXD
b113a82710
Catch errors in <= 1.20 custom payload reading (#3770) 2024-04-04 22:25:02 +02:00
EnZaXD
3ee4c8ed63
Make ViaVersion fake nbt format consistent (#3771)
Adding ItemRewriter#nbtTagName utils to prefix nbt tags with a consistent format:
<Platform>|<Protocol name>|<original nbt name>
2024-04-04 09:31:58 +02:00
Nassim Jahnke
307414eb51
Move simple mcstructs usage into utils 2024-04-01 14:13:43 +02:00
EnZaXD
0a2fd8f296
Add MappingDataLoader#getLogger and MappingDataLoader#getDataFolder (#3757) 2024-03-24 22:04:41 +01:00
EnZaXD
f2c816df72
Add mapped and unmapped identifier read method (#3756) 2024-03-24 12:14:42 +01:00
EnZaXD
098f7ff3c2
Allow platforms to use the mapping system (#3754) 2024-03-24 11:10:20 +01:00
RK_01
18f04bf8ea
Add more functionality to ChunkUtil (#3755) 2024-03-24 11:05:30 +01:00
Nassim Jahnke
b426302e76
Merge branch 'master' into dev
# Conflicts:
#	common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19to1_18_2/packets/EntityPackets.java
#	common/src/main/java/com/viaversion/viaversion/rewriter/EntityRewriter.java
#	gradle/libs.versions.toml
2024-03-09 12:59:36 +01:00
Nassim Jahnke
3442cda8ce
Update ViaNBT 2024-03-09 12:57:55 +01:00
Nassim Jahnke
93990c8baa
Merge branch 'master' into dev
# Conflicts:
#	common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19to1_18_2/packets/EntityPackets.java
#	common/src/main/java/com/viaversion/viaversion/rewriter/EntityRewriter.java
#	gradle.properties
#	gradle/libs.versions.toml
2024-03-07 13:45:10 +01:00
Nassim Jahnke
f868dfa125
Update ViaNBT 2024-03-07 13:30:33 +01:00
Nassim Jahnke
386495e168
Handle map related data and skull owners
Co-authored-by: Drex <nicknamedrex@gmail.com>
2024-03-06 13:26:06 +01:00
EnZaXD
908823c612
Make ItemRewriter type getters nullable and optional (#3737) 2024-03-05 23:23:57 +01:00
Nassim Jahnke
2d03110f08
Small refactor 2024-03-01 14:10:44 +01:00
Nassim Jahnke
92878a39ef
We continue to fall 2024-03-01 13:46:26 +01:00
Nassim Jahnke
39180e22b8
The endless pit continues to be endless 2024-03-01 12:13:43 +01:00
Nassim Jahnke
f68aed464d
Once again refactor structured data storage
Optionals are no more
2024-02-29 19:59:18 +01:00
Nassim Jahnke
6ffa24b50b
Add todos 2024-02-29 18:23:46 +01:00
Nassim Jahnke
e51d7b3fdb
Fix initial item sending, add some data translation and more rigid data structures 2024-02-29 17:03:50 +01:00
Nassim Jahnke
01bb8dedda
More renames 2024-02-29 12:08:29 +01:00
EnZaXD
6cdca97d35
Add classic version range to VersionType#CLASSIC javadoc (#3729) 2024-02-29 11:11:23 +01:00
Nassim Jahnke
aa262bb0a5
Rename itemdata to be more generic 2024-02-28 22:46:33 +01:00
Nassim Jahnke
2480eb6a7f
Start working on 24w09a 2024-02-28 22:15:31 +01:00
Nassim Jahnke
56b82b049a
Move a few methods out of AbstractProtocol 2024-02-27 17:21:27 +01:00
EnZaXD
3c0930c62f
Use existing ProtocolVersion#getProtocol when possible (#3720) 2024-02-27 14:02:16 +01:00
EnZaXD
7640342165
Don't require a base protocol for current version in BaseProtocol (#3709) 2024-02-23 15:13:33 +01:00
Nassim Jahnke
4e1d4a75b2
Small refactors around ProtocolPipeline and concurrent collections
Make concurrency handling in ProtocolPipelineImpl more defensive, as generally the pipeline is expected to never be called from multiple threads. The only case to look out for is pipeline additions during protocol transformation in a base protocol
2024-02-21 12:18:19 +01:00
RK_01
78aecbddf8
Don't add base protocols when using special versions (#3704) 2024-02-18 21:55:14 +01:00
Nassim Jahnke
a8fbb000eb
Add ProtocolManager#hasLoadedMappings 2024-02-15 18:27:52 +01:00
Nassim Jahnke
e2a7e10312
Add back default getProtocolPath with int versions 2024-02-15 15:45:23 +01:00
Nassim Jahnke
35578372a1
Fix isWorkingPipe and cursed ProtocolVersion comparator 2024-02-14 22:45:34 +01:00
EnZaXD
08d8ccf6ca
Don't add ProtocolVersion#unknown into ProtocolVersion#VERSION_LIST (#3697) 2024-02-14 21:07:36 +01:00
EnZaXD
35ceee1a47
Rename ProtocolVersion#v1_7_1 to v1_7_2 (#3696) 2024-02-14 20:14:17 +01:00
Nassim Jahnke
dccda57fc0
Consistent equalTo names 2024-02-14 19:14:41 +01:00
Nassim Jahnke
c124c1c809
Sort ProtocolVersions version list, fix base protocol registration 2024-02-14 17:57:00 +01:00
EnZaXD
302716054d
Port of internals and API to ProtocolVersion (#3694) 2024-02-14 17:56:28 +01:00
Nassim Jahnke
46a5bb16d7
24w07a 2024-02-14 17:32:13 +01:00
EnZaXD
f3f7ea7987
Fix version ranges in VersionType (#3692) 2024-02-14 09:57:41 +01:00
EnZaXD
e62c4a3f9e
Rename comparing methods in ProtocolVersion (#3693) 2024-02-14 09:54:15 +01:00
EnZaXD
d58c80cd2f
Add ProtocolVersionRange API (#3691) 2024-02-14 09:51:56 +01:00
Nassim Jahnke
dcc0642af9
Replace more raw versions with ProtocolVersion 2024-02-13 22:48:08 +01:00
EnZaXD
e449599ae7
Add ProtocolVersion#betweenInclusive and ProtocolVersion#betweenExclusive (#3690) 2024-02-13 21:50:19 +01:00
Nassim Jahnke
621c02f974
Move some data out of extending MappingData classes 2024-02-13 18:41:05 +01:00
Nassim Jahnke
22bd350e35
Add proper ProtocolVersion comparison 2024-02-13 18:40:21 +01:00
Nassim Jahnke
4a8bd2cca2
24w06a 2024-02-07 18:29:19 +01:00
Nassim Jahnke
0fcb764652
24w05b 2024-02-01 17:49:58 +01:00
Nassim Jahnke
da87241549
Merge branch 'master' into dev
# Conflicts:
#	common/src/main/java/com/viaversion/viaversion/rewriter/ItemRewriter.java
2024-01-29 17:26:49 +01:00
Nassim Jahnke
1c6f8426f1
Log the error by default, instead check suppression config 2024-01-29 10:32:02 +01:00
Nassim Jahnke
c8d339ab30
Add generic types on base protocols 2024-01-27 13:45:40 +01:00
Nassim Jahnke
8000561ae9
Handle registry data with skipped ids 2024-01-26 16:05:58 +01:00
Nassim Jahnke
1dafa7d273
Cleanup config packet registration in newer protocols 2024-01-26 15:48:10 +01:00
Nassim Jahnke
ce8fab7c44
Cleanup config packet registering in AbstractProtocol 2024-01-26 14:35:19 +01:00
Nassim Jahnke
37561705ed
24w04a 2024-01-24 20:23:33 +01:00
Nassim Jahnke
c4e50efa90
24w03b 2024-01-18 16:10:09 +01:00
Nassim Jahnke
5d5c98acc6
24w03a (maybe, and it's a bit ugly) 2024-01-17 22:55:16 +01:00
Nassim Jahnke
34bd15dec7
Merge branch 'master' into dev
# Conflicts:
#	template/src/main/java/com/viaversion/viaversion/template/protocols/rewriter/EntityPacketRewriter1_99.java
2024-01-12 10:30:24 +01:00
Nassim Jahnke
ef78fcd478
Update API license headers and scope 2024-01-12 10:21:45 +01:00
Nassim Jahnke
aecef3c3f8
Remove a few deprecated methods 2024-01-09 20:51:32 +01:00
Nassim Jahnke
abb05ce902
Merge remote-tracking branch 'origin/master' into dev 2024-01-04 17:50:24 +01:00
Nassim Jahnke
f6c49555bf
Update ViaNBT 2023-12-31 13:38:14 +01:00