987 Commits
Author SHA1 Message Date
Nassim Jahnke 4d5d5e3e7b Avoid full pipeline iteration in raw packet sends
Closes #5136
2026-11-01 11:21:56 +01:00
Nassim Jahnke 9f4803b832 Limit serverbound data nesting depth
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-1V7UVEKT.
2026-10-27 15:54:06 +01:00
Nassim Jahnke 88419cdd71 Use arraycopy for primitive array copies
Discovered by Anthropic's OSS Scanner, as ANT-2026-NH253ZCQ.
2026-10-27 15:33:35 +01:00
Nassim Jahnke 218fc88313 Limit profile key lengths
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-8Z8EOA8N.
2026-10-27 15:33:35 +01:00
Nassim Jahnke be08ce39f6 Don't back up nested items in 1.20.3->1.20.5
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-01EM4SCC.
2026-10-27 15:33:34 +01:00
Nassim Jahnke f71f4722e0 Range check original hash ids
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-AECM0IZO.
2026-10-27 10:30:35 +01:00
Nassim Jahnke ca49a1b4ad Don't presize large arrays
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-0DCBHFG1.
2026-10-27 10:30:35 +01:00
Nassim Jahnke 746740accf Update map types in some data reading
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-HV60WOZ3.
2026-10-27 10:30:35 +01:00
Nassim Jahnke 8b9a78aa02 Avoid exceptions in UUID parsing
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-65KLCX8F.
2026-10-27 10:30:35 +01:00
Nassim Jahnke 28d16ec7d3 Init lastWarning correctly 2026-10-19 20:31:14 +02:00
Nassim Jahnke b712c0055d Add some missing sound rewriting 2026-10-18 22:07:58 +02:00
Nassim JahnkeandWhiteProject1 6fecd58773 Check full type length if possible
Closes #5104

Co-authored-by: WhiteProject1 <Odunyasi167@gmail.com>
2026-10-08 15:38:29 +02:00
Florian Reuth 3a7a8e06a8 Backup & restore map color in 26.2->26.3 (#5096) 2026-10-01 15:06:47 +02:00
Florian Reuth 7ac58c104b Fix Consumable animation hashing between 1.21.5 and 1.21.11 (#5087) 2026-09-29 18:37:42 +02:00
Florian Reuth 7a6e838eb1 Inline damage type for 1.21.11 (#5090) 2026-09-29 18:37:24 +02:00
Florian Reuth 57bc53346c Fix sulfur_cube_content network type (#5091) 2026-09-29 16:03:05 +02:00
Florian Reuth 3f35005051 Fix default-count item template hashing (#5088) 2026-09-29 14:17:24 +02:00
Florian Reuth f9d21e073b Fix conditional hashing of a bunch of item data components (#5082) 2026-09-29 14:12:08 +02:00
PolangandFlorian Reuth 414e978829 Skip removal markers in 1.20.5+ item cost type (#5073)
Co-authored-by: Florian Reuth <git@florianreuth.de>
2026-09-28 08:45:15 +02:00
Nassim Jahnke 46a61058dd Add missing tags across protocols, reduce stored tags size 2026-09-20 13:06:35 +02:00
Nassim Jahnke 745a41322f Remove snapshot bit 2026-09-18 16:00:12 +02:00
Florian Reuth a2c1841e25 Fix consume effects hashing key in 1.21.2+
Not related to the 26.3 update but easier than having to deal with merge conflicts after the public release.

Signed-off-by: Florian Reuth <git@florianreuth.de>
2026-09-18 16:00:12 +02:00
Florian Reuth d236db51e0 Fix resolvable primitive types write
Signed-off-by: Florian Reuth <git@florianreuth.de>
2026-09-18 16:00:11 +02:00
Florian Reuth cbe42132be Fix consume effect conversion
Signed-off-by: Florian Reuth <git@florianreuth.de>
2026-09-18 16:00:10 +02:00
Florian Reuth 0611b95183 Fix pot decorations network type
Signed-off-by: Florian Reuth <git@florianreuth.de>
2026-09-18 16:00:10 +02:00
Nassim Jahnke d647f169e6 26.3-rc-2 2026-09-18 16:00:10 +02:00
Nassim Jahnke 29be35be1c 26.3-rc-1 2026-09-18 16:00:10 +02:00
Nassim Jahnke 9d2c429624 26.3-pre-3 2026-09-18 16:00:10 +02:00
Nassim Jahnke d2ab957ceb Update and restore trim material 2026-09-18 16:00:09 +02:00
Nassim Jahnke 4bbae432b4 26.3-pre-2 2026-09-18 16:00:09 +02:00
Nassim Jahnke bfc2713102 26.3-pre-1 2026-09-18 16:00:09 +02:00
Nassim Jahnke 155863a4c4 26.3-snapshot-10 2026-09-18 16:00:09 +02:00
Nassim Jahnke 8fc649fba9 26.3-snapshot-9 2026-09-18 16:00:09 +02:00
Nassim Jahnke 7edc17759f 26.3-snapshot-8 2026-09-18 16:00:08 +02:00
Nassim Jahnke b607f96988 26.3-snapshot-7 2026-09-18 16:00:08 +02:00
Nassim Jahnke f6b2f6b3ad 26.3-snapshot-6 2026-09-18 16:00:08 +02:00
Nassim Jahnke a7186fb162 26.3-snapshot-5 2026-09-18 16:00:08 +02:00
Nassim Jahnke d2e636bc6f 26.3-snapshot-4 2026-09-18 16:00:08 +02:00
Nassim Jahnke f04f0a07a8 26.3-snapshot-3 2026-09-18 16:00:07 +02:00
Nassim Jahnke 55f449ee74 Implement BlockTransformData rewrite
See code comments
2026-09-18 16:00:07 +02:00
Nassim Jahnke 460214efe2 26.3-snapshot-2 2026-09-18 16:00:07 +02:00
Nassim Jahnke e5cf0fc6c5 26.3-snapshot-1 2026-09-18 15:59:58 +02:00
Beanes 2645d83eb7 Improve hide-scoreboard-numbers to only work for sidebar (#5034) 2026-08-29 14:34:20 +02:00
Nassim Jahnke 89f80172b1 Move a bunch of protocol storables to direct array lookups
Also has the benefit of making them thread-safe
2026-08-05 16:57:54 +02:00
Nassim Jahnke ab85b0e0f0 Build script cleanup
This also moves Fabric and Sponge resource files into the universal dir; we do not publish platform specific jars and this otherwise only leads to a more complicated project setup
2026-07-15 13:12:58 +02:00
Nassim Jahnke 3a5d9541c8 Use netty Buf I/O streams on Java 24+
The JDK had already gotten similar (but much better still) allocation and performance improvements to read and writeUtf methods
2026-07-14 12:39:49 +02:00
Nassim Jahnke fbb92c0fac Reduce mapping data file size by about 35% (30% uncompressed)
The general idea behind the four storage types is the same, except ids are now
1) written as id deltas instead of absolute values
2) written with zigzag encoding (always positive)
3) written as varints

The previous commit made extra mapping data go down by 85% (both uncompressed and compressed).

Combined, this is about a megabyte less uncompressed and 125kb less compressed data bundled right now (not including ViaBackwards).

Reading has become ever so slightly faster due to the reduced file reads (despite now needing more complex decoding), but that's negligible anyway
2026-07-12 10:55:27 +02:00
Nassim Jahnke 384cf91125 Reduce extra mapping data file size by a lot
Merge en_US properties and lang mappings into a single file that still decodes into the same values; store block connections as shared "profiles", since there are only so many different ways of connecting to neighboring blocks; store block states with shared properties; reduce redundant info in the recipes file and store the rest in a more compact/type-specific way as well.

On top of that, store ranges of ids much more concisely (by far the biggest win)
2026-07-12 09:55:44 +02:00
Nassim Jahnke 386c607917 Small improvements here in there
The main ones are not id checking every single block in the 1.9.3 protocol transition, and caching chunk types
2026-07-09 17:48:21 +02:00
Nassim Jahnke 6951dda36e Simplify StoredEntityData into TrackedEntity; directly return tracked entity in track and untrack methods 2026-07-09 15:07:24 +02:00