Commit Graph
967 Commits
Author SHA1 Message Date
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
Nassim Jahnke 3c50cdf639 Remove removed environment attributes
At the moment only relevant for ViaBackwards, but the client throws when getting environment attributes it does not recognize in biome or dimension registry data
2026-07-08 16:03:32 +02:00
Nassim Jahnke b49f995ef1 Fix missing arm swing on sugar cane placement in 1.21.11->26.1
Fixes #4941
2026-07-08 13:37:48 +02:00
Nassim Jahnke 72084b2599 Refactor passthrough token handling
Only uses a single long now with a simple long set instead of an expiring cache. When an invalid token is read, it no longer throws but moves back the reader and continues to maybe possibly not interfere with other plugins for some reason sending their own data with the packet id 1000
2026-07-05 13:44:53 +02:00
Nassim Jahnke a3dcaa6f56 Use a shared session id; replace UUID generation elsewhere
Entirely negligible on most servers, but if running on the backend with many players and newly added entities / other uses of it across many different threads, random UUID generation is synchronized with its shared SecureRandom use
2026-07-05 13:44:53 +02:00
Nassim Jahnke 7b167b0eed Don't load identifier files twice if loaded concurrently
If two protocols were trying to load the same identifier file very close to one another, the first load attempt would not have been added to the cache yet, so the second would have also started loading the file. This makes it wait for the first load instead
2026-07-05 10:16:39 +02:00
Nassim Jahnke 21ff1758d5 Small improvements to string reading and key path checking
Very very small ones, but given they are (or will be) incredibly hot methods, those easy improvements don't hurt
2026-07-05 10:15:41 +02:00
Nassim Jahnke 5768a5c0da Optimize block checking in chunk packets
Instead of going through each of the 4096 blocks in a chunk section, check the palette values first to then also skip actual id getting and simply check palette indexes via an array lookup
2026-07-05 10:11:51 +02:00
Nassim Jahnke decab8fe7f Optimize chunk I/O by a lot
After the improvements from a month ago it already became a good bit better, but was still the most time and memory consuming task by far. This cuts down up to 90% of it by skipping raw data extraction entirely unless actually needed in fairly rare cases as well as making packing and unpacking much more direct
2026-07-04 12:17:26 +02:00
Nassim Jahnke ca616c74fe Make some StructuredItemRewriter protected 2026-07-03 16:45:05 +02:00
itslilscorp 229d4fc6e1 Add option to fix default color of legacy reddust particles (#4954)
The multi count fix is disabled by default as it can spam clients to death with larger particle clouds
2026-07-02 13:51:58 +02:00
Nassim Jahnke 0c6023e489 Keep parsed Keys for registry mappings
Avoids frequent re-parsing and makes use of cached full/minimized output
2026-07-01 21:21:53 +02:00
Nassim Jahnke 8ebe3a523c Add registry key to damage resistant 2026-06-27 13:48:50 +02:00
Nassim Jahnke 8239577c23 Minimize Minecraft Identifier allocations 2026-06-21 15:10:06 +02:00
Nassim Jahnke 4260095390 Remove snapshot bit 2026-06-16 08:09:51 +02:00
Nassim Jahnke 770dd485ec 26.2-rc-2 2026-06-12 17:59:11 +02:00
Nassim Jahnke 964a1b2581 26.2-rc-1 2026-06-12 17:20:54 +02:00
Nassim Jahnke bb1a5e745a 26.2-pre-6 2026-06-12 17:20:54 +02:00
Nassim Jahnke a0a31641e3 26.2-pre-5 2026-06-12 17:20:54 +02:00
Nassim Jahnke 4e493f61cd 26.2-pre-4 2026-06-12 17:20:53 +02:00
Nassim Jahnke ae7f1f07d5 26.2-pre-3 2026-06-12 17:20:53 +02:00