Nassim Jahnke
d8a9480bf1
Clean up BiMappings impl
2023-03-07 11:27:25 +01:00
Howard ZHY
a3efb676cf
Fix #2912 ( #3221 )
2023-03-07 11:25:32 +01:00
Nassim Jahnke
3ced95903a
Cache identifiers files
2023-03-05 15:20:16 +01:00
Nassim Jahnke
c765f20558
Readd enableMappingsCache stub until reimplemented
2023-03-04 21:03:53 +01:00
Nassim Jahnke
712bbcdc02
More fixes to mapping data loading
2023-03-04 17:17:47 +01:00
Nassim Jahnke
51d4e11b5f
Minimize/optimize mapping data files
2023-03-04 00:08:08 +01:00
Nassim Jahnke
9fd0d3e565
Reduce mappings file sizes and optimize item mappings
2023-03-02 13:14:11 +01:00
Nassim Jahnke
7b91c25379
1.19.4-pre3
2023-03-01 16:07:23 +01:00
Nassim Jahnke
7161377794
Add PacketWrapper#setCancelled(boolean)
2023-02-28 21:49:08 +01:00
Nassim Jahnke
57f0d58d58
1.19.4-pre2
2023-02-27 16:12:35 +01:00
Nassim Jahnke
5cad29c754
Expose PacketTypesProvider in Protocol
2023-02-24 10:07:25 +01:00
Nassim Jahnke
26615a11d3
23w08a
2023-02-22 18:51:28 +01:00
Nassim Jahnke
3e2ee37829
Allow custom PacketMappings implementation in AbstractProtocol
2023-02-22 16:54:54 +01:00
Nassim Jahnke
bf4e4d771f
Uncap mapping loader executor pool, less logging
2023-02-20 17:30:56 +01:00
Nassim Jahnke
1157029f23
Remove unused config option, hotfix mapping data cache
2023-02-20 13:19:10 +01:00
Nassim Jahnke
7b5cb92982
Small refactor
2023-02-20 13:19:03 +01:00
Nassim Jahnke
1376312449
23w07a
2023-02-17 23:02:02 +01:00
Nassim Jahnke
45fcc9ef7d
Rename Protocol generics to be clearer
2023-02-12 21:14:10 +01:00
Nassim Jahnke
f5ddc6550d
Optimize/improve Protocol packet mapping
...
Also makes it possible to work with packet types of different states in a Protocol
2023-02-12 17:27:36 +01:00
Nassim Jahnke
cb2165eb93
Greatly reduce the number of (anonymous) inner classes
...
Reduces code complexity, and much more importantly, reduces the number of classes loaded at runtime by *hundreds*
2023-02-12 11:46:48 +01:00
Nassim Jahnke
de5b7bf828
Allow registration of simple packet handlers over extending an abstract class
2023-02-12 10:54:47 +01:00
Nassim Jahnke
98c645f7ed
Store tracked entity data a little differently
2023-02-10 12:00:20 +01:00
Nassim Jahnke
b03765a828
23w06a
2023-02-08 18:49:06 +01:00
Nassim Jahnke
088f654159
Remove some deprecated api usage, small cleanup
2023-02-04 19:42:26 +01:00
Camotoy
734bc9e88c
Add armor toggle patch for Bukkit ( #3210 )
2023-02-03 17:02:22 +01:00
Nassim Jahnke
64b3771899
23w05a
2023-02-01 16:30:21 +01:00
Nassim Jahnke
4031429430
23w04a
2023-01-24 17:03:08 +01:00
Nassim Jahnke
50adff90f2
23w03a
2023-01-18 16:49:05 +01:00
Nassim Jahnke
4fb95581ce
Update copyright headers
2023-01-12 12:45:53 +01:00
Nassim Jahnke
4067107b52
Improve exception handling
2023-01-06 20:51:21 +01:00
Nassim Jahnke
f7a48d028b
4.5.0 Release
2022-12-05 20:29:24 +01:00
Nassim Jahnke
9be32ca18b
Make slightly more sense of CompactArrayUtil
...
... and make it less vanilla copy pasty
The magic array is a reciprocal table of 3-tuples, although 1 and 2 are always the same but for the ones including right shifts
2022-12-02 14:34:32 +01:00
Nassim Jahnke
e0cd121a58
1.19.3-rc1
2022-12-01 16:41:19 +01:00
Nassim Jahnke
96631cee0c
1.19.3-pre3
2022-11-29 17:26:51 +01:00
Nassim Jahnke
8c0487fc05
1.19.3-pre2
2022-11-23 18:02:33 +01:00
Nassim Jahnke
aec60f8cef
1.19.3-pre1
2022-11-22 17:11:11 +01:00
Nassim Jahnke
83efd0a267
22w46a (maybe)
2022-11-16 16:03:18 +01:00
Nassim Jahnke
5c05c61fbf
22w45a
2022-11-09 16:09:23 +01:00
Nassim Jahnke
d3d8d1cab3
22w44a (maybe)
2022-11-02 15:49:40 +01:00
Nassim Jahnke
e3dc9e5b66
22w43a
2022-10-26 18:09:42 +02:00
Nassim Jahnke
555e1a7722
Fix long metatype reading, some internal type reading changes
2022-10-22 10:19:27 +02:00
Nassim Jahnke
7400784e4f
22w42 (except for command completions)
2022-10-20 19:34:04 +02:00
Nassim Jahnke
14b11bdd10
Start working on 22w42a
2022-10-19 21:58:08 +02:00
Nassim Jahnke
c5738a2203
Add Via channel handlers instead of wrapping Vanilla handlers on Bukkit ( #3132 )
2022-10-19 21:29:24 +02:00
Gero
7698ee7683
Some minor performance improvements and cleanups ( #3134 )
2022-10-04 13:25:55 +02:00
Nassim Jahnke
435a986068
Properly enclose limiting of nbt reading
...
Fixes #3093
2022-08-14 22:24:31 +02:00
Nassim Jahnke
6c58f0980c
Add utility method for initializing entity types
2022-08-13 15:36:57 +02:00
Nassim Jahnke
ed196bdf99
Clean up proxy protocol detector service
2022-08-11 19:04:22 +02:00
Nassim Jahnke
9247e87bbf
Update InformativeException message
2022-08-08 21:01:27 +02:00
Nassim Jahnke
08727f959f
Update 1.19.1 protocol version string
2022-08-05 16:05:31 +02:00
Nassim Jahnke
322af00e80
Handle 1.19 chat types
2022-07-28 13:14:28 +02:00
Nassim Jahnke
e194d27bea
Allow for more control over max path distance delta increase
2022-07-28 11:29:02 +02:00
Nassim Jahnke
22daa60eb6
4.4.0 Release
2022-07-27 19:01:23 +02:00
Nassim Jahnke
6eca07966c
1.19.1-rc3
2022-07-26 18:27:32 +02:00
Nassim Jahnke
56cc711c01
Update legacy palette handling as well
2022-07-25 13:18:13 +02:00
Nassim Jahnke
c2ee558235
Fix reading of cursed Hypixel block palettes
...
Fixes #3037
2022-07-24 18:42:25 +02:00
Nassim Jahnke
c8a010c390
Handle negative bits per value in palette
2022-07-24 17:30:30 +02:00
Nassim Jahnke
53c54485eb
Cleanup optional types
2022-07-21 19:56:42 +02:00
Nassim Jahnke
f42a308f2c
1.19.1-rc2
2022-07-21 19:06:34 +02:00
Nassim Jahnke
44250cbb99
1.19.1-pre6
2022-07-20 18:36:28 +02:00
Nassim Jahnke
57ef90e851
1.19.1-pre5
2022-07-15 16:26:58 +02:00
Nassim Jahnke
56e1d0a69d
Add optional type for smol cleanup
2022-07-09 11:47:58 +02:00
Nassim Jahnke
b33bd2ac2b
1.19.1-pre4
2022-07-08 16:20:54 +02:00
Nassim Jahnke
1afff77a0f
1.19.1-pre3
2022-07-06 17:47:47 +02:00
Nassim Jahnke
26af09f2a4
Update unsupported software list
2022-07-05 20:37:19 +02:00
Nassim Jahnke
f4aa96a5f8
1.19.1-pre2
2022-06-30 19:34:14 +02:00
Nassim Jahnke
9113a77331
1.19.1-rc1 except not really
2022-06-23 20:45:42 +02:00
Nassim Jahnke
e3e85db02a
1.19.1-pre1
2022-06-21 21:01:24 +02:00
Nassim Jahnke
9a34ff2a51
4.3.0 Release
2022-06-05 11:31:07 +02:00
trickypr
f01d9408de
1.19-rc2 ( #2910 )
2022-06-04 11:08:04 +02:00
Nassim Jahnke
15ff7b4c9d
1.19-rc1
2022-06-02 17:49:25 +02:00
Nassim Jahnke
d47765ce45
1.19-pre5
2022-06-01 15:16:47 +02:00
Nassim Jahnke
b7005f2400
1.19-pre3
2022-05-25 14:33:39 +02:00
Nassim Jahnke
b4ecba8382
1.19-pre2
2022-05-23 18:03:18 +02:00
Nassim Jahnke
90feac8c83
Update DebugHandler
2022-05-20 14:10:23 +02:00
Nassim Jahnke
71a68bf36e
Fix the client entity being untracked on world changes
...
Fixes #2894 and probably other things
2022-05-19 23:04:18 +02:00
Nassim Jahnke
e67501cde3
Fix painting id being used too early
...
Fixes #2893
2022-05-19 19:54:27 +02:00
Nassim Jahnke
9aa7f5e879
Fix data stored on join being lost on Bungee
...
Bungee doesn't resend a join game for old servers, so we will have to keep data stored there across server switches
This likely fixes other issues with chunk data writing after server switches on legacy servers as well
2022-05-19 12:37:04 +02:00
Nassim Jahnke
854ecf0b47
1.19-pre1
2022-05-18 21:29:18 +02:00
Nassim Jahnke
1d5ae0e3e0
Use mappings instead of hardcoding entity ids
2022-05-14 11:58:45 +02:00
Nassim Jahnke
f0462085d3
Add id->string methods to FullMappingData
2022-05-13 13:23:57 +02:00
Nassim Jahnke
7dc7b62cc9
22w19a (and a varying mix of removed and added dread)
2022-05-12 23:49:15 +02:00
Nassim Jahnke
b9f80754e0
22w18a
2022-05-04 19:15:23 +02:00
Nassim Jahnke
0e66228a96
22w17a (and a lot of dread)
2022-04-27 21:06:34 +02:00
Nassim Jahnke
8df48bc378
StoredEntityData#remove
2022-04-20 20:16:08 +02:00
Nassim Jahnke
d36d5d6def
22w16b
2022-04-20 20:00:46 +02:00
Nassim Jahnke
8b51430555
22w16a (except you have off-centered paintings)
2022-04-20 19:42:43 +02:00
Nassim Jahnke
f71288e299
22w15a
2022-04-13 18:36:26 +02:00
Nassim Jahnke
c0fc8195ce
?????????????????????????????????????????????????????
...
Also add removeTags and renameTag method to TagRewriter
2022-04-06 22:50:59 +02:00
Nassim Jahnke
dd189411e6
New meta types (oh no)
2022-04-06 20:16:00 +02:00
Nassim Jahnke
4693b95bea
22w14a
2022-04-06 19:07:16 +02:00
Nassim Jahnke
596a42e312
22w13a
2022-03-31 18:46:35 +02:00
Nassim Jahnke
71944be482
Minor improvement to var int writing
2022-03-26 18:12:12 +01:00
Nassim Jahnke
bd880b608f
22w12a
2022-03-24 18:52:38 +01:00
Nassim Jahnke
a1ae7818a2
Add namespace to argument type mappings
2022-03-16 20:25:00 +01:00
Nassim Jahnke
365b3a8a38
22w11a
2022-03-16 19:48:17 +01:00
Nassim Jahnke
a12dfa405f
1.19 Experimental Snapshot 1
2022-03-16 18:21:41 +01:00
Nassim Jahnke
3dfb96dec9
4.2.0 Release
2022-02-24 09:22:47 +01:00
Nassim Jahnke
82ada0bcd8
Add new default command parser
2022-02-23 18:15:39 +01:00
Nassim Jahnke
4e9cddac8f
1.18.2 pre1
2022-02-18 17:49:45 +01:00
Nassim Jahnke
a85c5578c1
22w07a
2022-02-16 18:40:50 +01:00
Nassim Jahnke
ee27cbdd22
22w06a
2022-02-09 19:15:35 +01:00
Nassim Jahnke
bd0d238f23
22w05a
2022-02-02 11:42:18 +01:00
Nassim Jahnke
60eda447b4
22w03a
2022-01-19 18:05:36 +01:00
Nassim Jahnke
d5f2388723
Add Item#copy
2022-01-11 17:10:31 +01:00
Nassim Jahnke
d5a568b3fc
Update copyright header
2022-01-09 22:36:07 +01:00
Nassim Jahnke
2143e38d27
Don't make the client resize palettes on >8 bits
2021-12-08 21:31:53 +01:00
Nassim Jahnke
7d7651bc39
Update ProtocolVersion name for 1.18.1
2021-12-08 16:37:10 +01:00
Nassim Jahnke
20e9723d21
Update Gradle, particles finally work everywhere ™️
...
Fixes #2746
2021-12-02 10:54:32 +01:00
Nassim Jahnke
a9c848e32e
Cleanup palette type
2021-12-01 17:50:23 +01:00
Nassim Jahnke
f464e8e287
4.1.0 Release
2021-11-29 21:17:20 +01:00
Nassim Jahnke
9ce356aff4
another one
2021-11-26 17:15:10 +01:00
Nassim Jahnke
60fa54dddc
1.18-rc2
2021-11-26 10:53:58 +01:00
Nassim Jahnke
99b457965b
1.18-rc1
2021-11-25 16:09:34 +01:00
Nassim Jahnke
1d1a330ef1
1.18 pre8
2021-11-24 16:41:42 +01:00
Nassim Jahnke
4e9910c20e
1.18-pre7
2021-11-23 18:09:09 +01:00
Nassim Jahnke
82f2958ac6
1.18-pre6
2021-11-22 18:41:49 +01:00
Nassim Jahnke
d159047dc0
Add more debugging options
2021-11-21 11:43:55 +01:00
Nassim Jahnke
b14b2b86e8
1.18-pre5
2021-11-19 17:27:43 +01:00
Nassim Jahnke
6a00bf099e
Cache 1.17.1 light by default, add config option
2021-11-18 11:23:46 +01:00
Nassim Jahnke
bc11bd4caf
Set mappings default values to -1
2021-11-17 19:52:06 +01:00
Nassim Jahnke
c133552d04
1.18-pre4
2021-11-17 19:28:44 +01:00
Nassim Jahnke
2065a83fa1
Update biomes highest bits
2021-11-17 18:02:54 +01:00
Nassim Jahnke
30ce0eaa45
1.18-pre3
2021-11-17 17:43:17 +01:00
Nassim Jahnke
8be1fc9340
Move MetaTypes methods up into abstract class
2021-11-17 11:13:14 +01:00
Nassim Jahnke
6a8aa497b0
1.18-pre2
2021-11-16 13:28:53 +01:00
Nassim Jahnke
390155e03b
Make Mappings extendable
2021-11-16 13:15:27 +01:00
Nassim Jahnke
3051ddb6c0
Better Mappings builders
...
Allows for mappings between json arrays and objects without a billion different constructors, also now uses the proper size for 1.18 chunks
2021-11-15 21:49:02 +01:00
Nassim Jahnke
718614f81f
1.18 Pre-1
2021-11-11 10:06:59 +01:00
Nassim Jahnke
a49c395486
Make changes in particles easier to handle
2021-11-10 11:35:44 +01:00
Nassim Jahnke
ad7f782a1a
Fix InformativeException NPE
2021-11-08 12:09:08 +01:00
Nassim Jahnke
3aa84b5a5a
Fix particle 1.18 meta type
2021-11-06 15:19:24 +01:00
Nassim Jahnke
52457ea749
Fix unquoted string being parsed as double
2021-11-05 18:19:14 +01:00
Nassim Jahnke
8104b96b8c
Fix premature snbt numeric parsing
2021-11-04 19:43:48 +01:00
Nassim Jahnke
d326dadb5d
21w44a
2021-11-03 19:14:33 +01:00
Nassim Jahnke
7cc6eb2b66
Fix accidental float/double NaN parsing in snbt
2021-11-02 15:09:40 +01:00
Nassim Jahnke
0a19057606
Merge remote-tracking branch 'origin/master' into dev
2021-10-30 15:56:39 +02:00
RK_01
a49d73c4c6
Abstract 1.8 metadata type ( #2720 )
2021-10-30 15:56:24 +02:00
Nassim Jahnke
82ded0299c
Merge remote-tracking branch 'origin/master' into dev
2021-10-29 17:57:47 +02:00
Nassim Jahnke
ab7cd4955b
Metadata type should be written as var int
2021-10-29 17:57:23 +02:00
Nassim Jahnke
a8c6f6b783
21w43a
2021-10-27 18:43:09 +02:00
Nassim Jahnke
2f28b25af3
Add block marker id to ParticleMappings
2021-10-20 18:51:53 +02:00
Nassim Jahnke
02bf9501a9
Handle item and particle meta
2021-10-20 18:48:07 +02:00
Nassim Jahnke
a6292988d5
21w42a
...
Screw entity meta particles
2021-10-20 17:58:50 +02:00
Nassim Jahnke
f5d92bf74f
Merge remote-tracking branch 'origin/master' into dev
2021-10-19 09:16:06 +02:00
Nassim Jahnke
dbe8b6551a
Readd flare
...
Issues were addressed in 2.0.0
2021-10-19 09:10:17 +02:00
Nassim Jahnke
027e132749
Merge remote-tracking branch 'origin/master' into dev
2021-10-16 13:26:06 +02:00
Nassim Jahnke
7e3a157fcf
Revert flare usage for now
...
Caused some issues I have no time to investigate at the moment, but worrying enough to warrant a temporary removal
Closes ViaVersion/ViaBackwards#402
2021-10-16 13:25:56 +02:00
Nassim Jahnke
9cd1ebf576
21w41a
2021-10-13 18:05:52 +02:00
Nassim Jahnke
e744214ad6
Fix biome palette writing
...
Co-authored-by: Gerrygames <gecam59@gmail.com>
2021-10-08 13:17:07 +02:00
Nassim Jahnke
9f33a09e87
21w40a
2021-10-07 16:44:43 +02:00
Nassim Jahnke
cc78180a6c
Merge remote-tracking branch 'origin/master' into dev
2021-10-07 12:27:21 +02:00
Connor Hartley
e5338688bb
Replace use of concurrenthashmap in entity tracker and block storage ( #2705 )
2021-10-07 12:26:14 +02:00
Nassim Jahnke
1bc4fc211d
Merge remote-tracking branch 'origin/master' into dev
2021-10-03 20:15:19 +02:00
Nassim Jahnke
0a4d08886d
Update adventure
2021-10-03 20:14:12 +02:00
Nassim Jahnke
68c63d20ed
Fix reading of explicit int array entries
...
See https://github.com/KyoriPowered/adventure/pull/460
2021-10-02 11:27:18 +02:00
Nassim Jahnke
2afa3fd9de
Merge remote-tracking branch 'origin/master' into dev
2021-10-01 22:46:37 +02:00
Nassim Jahnke
427b0a68d0
Cleanup Bukkit/Sponge injectors
2021-10-01 12:17:55 +02:00
Nassim Jahnke
50f3a05fa5
21w39a (probably)
2021-09-29 20:16:31 +02:00
Nassim Jahnke
5bfee3339a
Merge remote-tracking branch 'origin/master' into dev
2021-09-25 14:57:41 +02:00
Nassim Jahnke
2b9df69627
Fix trailing comma again, fix 'possiblyNumeric' DoubleTag parsing
2021-09-25 14:57:14 +02:00
Nassim Jahnke
4f1e92f309
Merge remote-tracking branch 'origin/master' into dev
2021-09-25 13:18:59 +02:00
Nassim Jahnke
88165088a9
Update adventure nbt i/o
2021-09-25 13:15:26 +02:00
Nassim Jahnke
1f63fc7de1
21w38a
2021-09-23 17:23:14 +02:00
Nassim Jahnke
763a88fe97
Merge remote-tracking branch 'origin/master' into dev
2021-09-22 11:16:35 +02:00
Nassim Jahnke
12e2be40e8
Remove some old todos, don't send empty 1.14->1.15 meta packet
2021-09-22 11:15:36 +02:00
Nassim Jahnke
4485af577d
Merge remote-tracking branch 'origin/master' into dev
2021-09-21 11:02:40 +02:00
Nassim Jahnke
0fcfd78b62
Add more user friendly 'block-versions' option
2021-09-20 15:15:25 +02:00
Nassim Jahnke
73093c0ff2
Read/write palette based on block/biome size variables
2021-09-16 18:12:33 +02:00
Nassim Jahnke
111cd2fd46
Biome palettes entries can have 1 bit
2021-09-16 15:47:28 +02:00
Nassim Jahnke
9ffa737a4d
Implement BlockEntity sectionX/Z methods
2021-09-16 14:19:45 +02:00
Nassim Jahnke
c565f2c9c7
Cleanup Palette interface and read/write
2021-09-16 13:03:31 +02:00
Nassim Jahnke
eaa18f569a
Write linear palette as map palette for now
2021-09-16 12:17:21 +02:00
Nassim Jahnke
bfe6389377
Write biomes to palette
2021-09-16 11:35:05 +02:00
Nassim Jahnke
f72412484a
Map block entity ids, only biomes and something else left
2021-09-16 00:26:23 +02:00
Nassim Jahnke
b4301adb3b
WIP 21w37a
2021-09-15 23:00:14 +02:00
Levertion
d67269c9fe
Add support for setting a custom world name ( #2672 )
2021-09-15 10:52:11 +02:00
Nassim Jahnke
c264e639d6
Clear entity data on world change in world tracker
2021-09-14 17:35:27 +02:00
Nassim Jahnke
32a84f24ef
Nicer getters in Pair and Triple
2021-09-14 11:13:39 +02:00
Nassim Jahnke
68e4146f3b
Deprecate cancelClientbound/Serverbound with new id parameter
2021-09-05 14:02:33 +02:00
Nassim Jahnke
a0b19872f8
Disable VV packet limiter on 1.17.1+ Paper
2021-09-01 15:25:24 +02:00
Nassim Jahnke
f2147179c2
Small fixes, add majorVersion method, nicer getter names in some classes
...
None of the deprecated methods will be removed anytime soon.
2021-08-28 22:15:28 +02:00
RK_01
e7a0b4cf04
Improve 1.8 -> 1.9 chunk translation and fix #2065 ( #2669 )
2021-08-28 10:02:27 +02:00
Nassim Jahnke
533572e8cd
Add CREATE_FOG BossFlag
2021-08-27 19:29:07 +02:00
Jo0001
47af0d634f
Fix typo in comment/javadocs ( #2609 )
2021-08-25 12:49:57 +02:00
kennytv
2094397bca
Allow bypassing of packet type restriction in Protocol, amend packet creator
2021-08-01 12:05:04 +02:00
kennytv
b81109f512
Semi force packet types in PacketWrapper at creation and transformation
2021-07-31 15:08:45 +02:00
kennytv
874dbafe26
More packet sending API
...
Allows for easy packet sending from a specific version to or from any client version supported by Via.
For example, you can send packets in the 1.17.1 format to both client and server, and it will be transformed accordingly if executed on another server version or sent to a different client version.
2021-07-30 12:26:15 +02:00
KennyTV
b28f743306
4.0.1 Release
2021-07-06 10:31:03 +02:00
KennyTV
9f97a09942
1.17.1-rc2
2021-07-05 14:52:13 +02:00
KennyTV
4f7e655613
1.17.1-rc1
2021-07-01 19:58:34 +02:00
KennyTV
a7d94c2f8f
1.17.1-pre3
2021-06-30 18:19:19 +02:00
KennyTV
24393d4ef4
1.17.1-pre2
2021-06-29 18:11:51 +02:00
KennyTV
aed1a63a77
Merge remote-tracking branch 'origin/master' into dev
2021-06-21 14:58:38 +02:00
LemonCaramel
14cd568e46
Add Resource pack prompt message option (1.17+) ( #2544 )
2021-06-21 14:55:49 +02:00
KennyTV
44d836e2e7
Clear entity trackers on server switch
...
Fixes #5930
2021-06-21 14:33:23 +02:00
KennyTV
d32a4541a9
1.17.1-pre1
2021-06-20 16:16:07 +02:00
KennyTV
5cdaabeaec
Handle particle id change in 1.16 metadata
...
Fixes #2551
2021-06-17 11:55:22 +02:00
KennyTV
4074352a53
4.0.0 Release 🚀
2021-06-07 16:32:07 +02:00
KennyTV
f909b55a84
1.17-rc2
2021-06-07 14:28:41 +02:00
KennyTV
24efb48004
Add method to load extra tags from diff files
2021-06-06 17:17:51 +02:00
KennyTV
d89f916546
Cleanup 1.17 entity rewriter, fix DataItem amount check
2021-06-06 10:08:15 +02:00
KennyTV
8e7606ea1b
1.17-rc1
2021-06-04 16:00:38 +02:00
KennyTV
2b8c5082ed
Make Item an interface, more OOP for the ItemRewriter
2021-06-04 12:15:14 +02:00
KennyTV
05f9fc1ddc
1.17-pre5
2021-06-03 20:22:48 +02:00
KennyTV
fc1450fe38
Slightly more OOP, move registerPackets out of Protocol constructor
...
registerPackets being called within the constructor made it impossible to create instance objects then used in registerPackets (vs. having to then create the objects in registerPackets).
2021-06-03 17:28:02 +02:00
KennyTV
e1072a8dc7
Fix docs
2021-06-03 10:45:58 +02:00
KennyTV
fec777b349
Don't wrap direct type mappers
2021-06-02 23:22:00 +02:00
KennyTV
7b1f9c199a
Produce less overhead in packet handler registering
...
Instead of creating a void type reader for every single PacketHandler registered, this just directly uses the consumer-like PacketHandler.
The distinction between ValueCreator and the normal PacketHandler was unnecessary given you could also just read something in a ValueCreator instance, effectively just being a consumer of a PacketWrapper instance.
2021-06-02 22:00:20 +02:00
KennyTV
a8b3444ff5
1.17-pre4
2021-06-02 18:44:47 +02:00
KennyTV
6839334c1a
Fix confirmation id encoding, remove old send methods
2021-06-02 12:44:49 +02:00
KennyTV
eaa58affd1
Minor changes
2021-06-01 22:52:05 +02:00
KennyTV
104fa4e29f
Optimize protocol path finding
...
Not perfect, but better. This prevents the path checks from exponentially increasing (if it weren't for the maxProtocolPathSize fail safe).
By default, a path will never go to a protocol version that puts it farther from the desired server protocol version, even if a path existed.
Otherwise as well as previously, *all* possible paths will be checked until a fitting one is found.
Negative examples if the new boolean is set to true:
A possible path from 3 to 5 in order of 3->10->5 will be dismissed.
A possible path from 5 to 3 in order of 5->0->3 will be dismissed.
Negative examples if set to false:
While searching for a path from 3 to 5, 3->2->1 could be checked first before 3->4->5 is found.
While searching for a path from 5 to 3, 5->6->7 could be checked first before 5->4->3 is found.
Assuming custom platforms like Bedrock protocol use the normal registering methods, they will have to change the boolean to false to revert to previous behavior (tho still somewhat better optimized).
2021-06-01 18:54:36 +02:00
KennyTV
4011aee280
1.17-pre3
2021-06-01 18:10:53 +02:00
KennyTV
37fd69fa86
Make packet send methods use the current thread by default
...
Defaulting to submitting to the netty event loop caused issues more often than not - this also removes the `currentThread` flag and instead provides new scheduleSend methods so it is always obvious whether the packet is sent immediately.
2021-06-01 10:13:49 +02:00
KennyTV
199324ee9d
1.17-pre2
2021-05-31 18:21:31 +02:00
KennyTV
d5cac99b5f
Reorder Type instances
2021-05-31 11:51:21 +02:00
KennyTV
3618914ce9
Add method to get Protocol by supported versions, some cleanup
2021-05-29 22:21:29 +02:00
KennyTV
ff140c421a
Add/change comments
2021-05-29 11:50:07 +02:00
KennyTV
53642e9a3c
1.17-pre1
2021-05-27 15:36:53 +02:00
KennyTV
703978e227
Don't require UserConnection holding class in stored objects
2021-05-26 21:35:28 +02:00
KennyTV
2d0a597f74
Make Metadata fully type safe, remove "Discontinued" meta types
...
The Discontinued entry was a special edge case that could lead to a Metadata type returning null. Instead, just directly use null in the 1.8->1.9 code where it is checked against. Also renamed the Meta1_17Types entries to be in uppercase and properly represent their value type.
2021-05-26 16:36:47 +02:00
KennyTV
57769c5671
Make metadata (almost) fail-safe
...
This could mean life and death, see
`new Metadata(17, MetaType1_14.Float, event.meta()).value()`
vs.
`new Metadata(17, MetaType1_14.Float, event.meta().value())`
2021-05-25 16:27:55 +02:00
KennyTV
3a1e364d4a
Refactor entity tracking and meta handling
...
This essentially merges the two approaches to the metadata handling from ViaVersion and ViaBackwards and improves on both designs.
ViaVersion did not track every single entity, but only those needed (at least in theory) and can work with untracked entities' metadata. It had a very simple method overridden by metadata rewriter implementations, directly operating on the full metadata list and manually handling meta index changes as well as item/block/particle id changes.
ViaBackwards on the other hand had to track *every single* entity and threw warnings otherwise - while less prone to errors due to giving obvious warnings in the console, it unnecessarily tracks a lot of entities, and those warnings also annoys users when encountering virtual entity plugins (operating asynchronously and sending update packets while already untracked or not yet tracked). Dedicated MetaHandlers made id changes and filtering a lot easier to read and write. However, the actual metadata list handling and its distribution to handlers was not very well implemented and required a lot of list copying and creation as well as exception throws to cancel individual metadata entries.
This version has MetaFilters built with a Builder containing multiple helper functions, and the entity tracking is properly given its own map, hashed by a Protocol's class, to be easily and generically accessible from anywhere with only a Protocol class from the UserConnection, along with more optimized metadata list iteration. The entity tracking is largely unchanged, keeping ViaVersion's approach to not having to track *all* entities (and being able to handle null types in meta handlers).
All of this is by no means absolutely perfect, but is much less prone to errors than both previous systems and takes a lot less effort to actually write. A last possible change would be to use a primitive int to object map that is built to be concurrency save for the EntityTracker, tho that would have to be chosen carefully.
2021-05-25 15:37:07 +02:00
jmp
cbf71e2289
Only add javadoc jar to common and api
2021-05-25 09:07:06 +02:00
jmp
e2d9e44be3
Build script improvements
2021-05-25 09:07:06 +02:00
KennyTV
8bcd8fd995
Add apiVersion to ViaAPI, some jd
2021-05-22 19:39:26 +02:00
KennyTV
1fe76dbb77
Add more jd to Chunk, ChunkSection, and ChunkSectionLight
2021-05-20 19:23:29 +02:00
KennyTV
cf2adab728
Make ChunkSection an interface, don't allocate light arrays if not needed
2021-05-20 18:32:28 +02:00
KennyTV
c172091944
21w20a
2021-05-19 18:54:38 +02:00
KennyTV
01d79e2681
Fix non-full chunk sending to 1.17 clients
2021-05-17 17:31:42 +02:00
KennyTV
1538ff5201
Expand unsupported software checks
2021-05-14 16:59:12 +02:00
KennyTV
2588c6ecc8
21w19a (probably)
2021-05-12 15:19:33 +02:00
KennyTV
2df57bc37c
Fix 1.14->1.15 meta ordering issue
...
Closes #2467
2021-05-10 13:27:12 +02:00
KennyTV
cb7a7254a6
Make UnsupportedSoftware hold a list of class names
2021-05-08 10:05:43 +02:00
KennyTV
fe3f247eb1
21w18a
2021-05-05 18:28:39 +02:00
KennyTV
af0cf1d3f2
Rename PacketType methods
...
Just in case a packet with some magic id is going to be added, since the enum ordinal and name methods cannot be overridden
2021-05-02 11:14:38 +02:00
KennyTV
d183d76c47
Remove platform bulk chunk transformers
2021-05-02 10:12:37 +02:00
KennyTV
44e928d53c
Update copyright scopes
2021-04-30 19:05:07 +02:00
KennyTV
ab93e0877c
Rename platform task implementations
2021-04-29 17:46:29 +02:00
KennyTV
96b5051c75
Use primitive long in task methods
2021-04-29 17:31:16 +02:00
KennyTV
9e59ef4c4a
Hold the rest of the primitive Type instances under their actual class
...
This brings no improvement now, but if primitive read/write methods for manual calls were implemented later, a signature break will have been prevented by this (aka breaking it now)
2021-04-28 21:12:19 +02:00
KennyTV
8e15b6d42b
21w17a
2021-04-28 17:40:57 +02:00
KennyTV
cad358322d
Rename outgoing->clientbound, incoming->serverbound
...
Via can both be used on servers and clients, making a direction like "incoming" ambiguous
2021-04-28 16:30:34 +02:00
KennyTV
a2b3906c9e
Move bossbar to new legacy package, since it only works on <1.9
...
The newly created LegacyViaAPI is safe to use, but should hold methods that cannot be universally used on every version
2021-04-28 11:10:16 +02:00
KennyTV
cadb5ec64c
Rename abstract Protocol to AbstractProtocol
...
This prevents confusion around the previously equally named interface and abstract class
2021-04-27 18:21:51 +02:00
KennyTV
95e20677fd
Clean up ProtocolPipeline
...
The filter functionality isn't something that's likely to be used again, so move out its usage and only check on <1.9 servers
2021-04-27 15:59:06 +02:00
KennyTV
f1c8d271b1
Reformat imports
...
The package rename wasn't done through refactoring but through simple replaces to not make git choke on diffs
2021-04-27 13:42:36 +02:00
KennyTV
318c49cf30
More interfaces, keep ProtocolRegistry.SERVER_PROTOCOL legacy api
2021-04-27 13:25:18 +02:00
KennyTV
d4bc31d11e
Always create ProtocolInfo, store mappings as int[]
2021-04-27 10:29:30 +02:00
KennyTV
30d122e7fa
Create some fancy interfaces
2021-04-26 23:01:55 +02:00
KennyTV
49d386063d
Add ProtocolVersion to legacy api
2021-04-26 21:45:27 +02:00
KennyTV
deec4b521e
Move some packages and classes around
2021-04-26 21:27:59 +02:00
KennyTV
a25a5634de
Change package/imports in classes and build configs
2021-04-26 20:52:34 +02:00
KennyTV
a3b1ce817e
Repackage to com.viaversion
...
This process will be split into multiple commits for git not to choke on.
2021-04-26 20:46:30 +02:00
KennyTV
c02047aaf8
Change group id to com.viaversion
2021-04-24 20:54:46 +02:00
KennyTV
ad0842c107
Bump version to 4.0.0, remove ProtocolRegistry
...
The bump was overdue given the breakages that have happened
2021-04-23 22:48:08 +02:00
KennyTV
2b19a98809
21w16a
2021-04-21 19:40:51 +02:00
KennyTV
d40ce9fc4a
Minor optimizations in pipeline filling
2021-04-21 11:58:19 +02:00
KennyTV
144c24c276
Move packet tracking methods out of UserConnectionn
2021-04-20 13:24:10 +02:00
KennyTV
d0882cf02c
Update GsonUtil, more javadoc
2021-04-16 23:05:31 +02:00
KennyTV
898521de9a
21w15a
2021-04-14 17:38:06 +02:00
Jason
87d54f1103
Clean up build scripts using new Gradle features ( #2436 )
...
* Make use of `TYPESAFE_PROJECT_ACCESSORS` and `VERSION_CATALOGS` Gradle feature previews to clean up build scripts
* Bump setup-java action to v2, specify AdoptOpenJDK distribution
2021-04-14 14:16:48 +02:00
KennyTV
c7e5b4a297
Update to Gradle 7.0
2021-04-13 12:37:29 +02:00
KennyTV
b23c01c44b
Javadoc additions
2021-04-08 21:44:45 +02:00
KennyTV
e9fa5b49ca
21w14a
2021-04-07 16:55:22 +02:00
LabyStudio
e83686d6fc
Implement showShieldWhenSwordInHand option ( #2417 )
2021-04-05 18:53:57 +02:00
KennyTV
26bbc92f94
Warn about potentially unstable plugins/server software
2021-04-03 17:01:57 +02:00
KennyTV
29d6b55592
Fix ChunkSection nullability annotations
2021-04-02 18:29:51 +02:00
KennyTV
070c7f5808
Move to checker qual nullability annotations
2021-04-02 14:15:30 +02:00
creeper123123321
df7a644479
Add ShortByteArrayType, minor PacketWrapper changes ( #2413 )
2021-04-01 20:17:17 +02:00
R0bbyYT
956492bca6
Add option to fix delayed shield blocking ( #2415 )
2021-04-01 20:03:13 +02:00
KennyTV
b251170c22
Add goat entity type
2021-03-31 20:40:02 +02:00
KennyTV
ab376dc562
21w13a
2021-03-31 19:18:16 +02:00
KennyTV
fd9442b077
Minor jd changes in ViaAPI, fix typo
2021-03-30 22:10:57 +02:00
KennyTV
a63f2ab6fe
Improve server version API
2021-03-26 12:51:38 +01:00
KennyTV
d918fd27b6
Reduce boxing in protocol path getting
...
More of its implementation should probably be cleaned up later
2021-03-25 22:34:30 +01:00
KennyTV
63356207a3
ProtocolRegistry -> ProtocolManager interface
2021-03-24 15:30:03 +01:00
KennyTV
210cae70fd
Add MIT copyright headers to the api module
2021-03-24 14:02:38 +01:00
KennyTV
0ab2c626aa
Split parts of common into api; We are now GPL, api is MIT
...
This does not affect any previous states of this project; only future modifications as well as the project as a whole will be under the GNU General Public License from now on. The newly introduced api directory, partly split from common, is an exception to this, still being licensed under the MIT license.
See the README for details.
2021-03-24 14:02:37 +01:00