v1.27
Stable
Added
- split item formatting into individual itemname, lore and customname toggles
0a7cd87 - place split atlases and remaps in 1.21.11+ overlays with unified premodern blocks atlas
0643f9c - rework 1.21.11+ atlas split, cloning models and textures shared between items and blockstates
4591ba2 - support inlined item-model cases and a texture shorthand in ItemModel parsing
791040f
Fixed
- toggling debug state via command not working
2d42832 - obfuscate equipment layer-textures and textures referenced from vanilla-keyed models and fonts
2f40d5b - stop blocking pack-generation for 5 minutes when ModelEngine never fires its registration-event
a077461 - clamp face-UVs only on models an item-definition can bake
ba265a8 - only drop auto-assigned armor asset-ids for helmets using a 3D Pack.model
4d6ffc2 - resolve multipack template-packs per pack-server so LobFile and S3 can serve them
7150fc2 - let config-defined PersistentData win on item-update so changed values stop being pinned to the stored copy
c553762 - skip breaking already-removed furniture so spam-clicking modelengine furniture stops duping drops
dc57e23 - use binary-stable NMS accessors in commons handler so fixed number-formats transform on 1.21.11+
64a0ef5 - calculate gif glyph frame offset from actual frame size instead of aspect ratio
6fd7c2e - nest tag-only component roots so glyph and shift fonts stop leaking onto following text
f6d1679 - support array-type PersistentData like TAG_CONTAINER_ARRAY and skip unknown data-types
d624567 - parse glyph and shift tags in options-menu lang keys
0d97213 - run furniture culling and door packet-updates on the entity's Folia region-thread
250d4a8 - keep custom_model_data entries in the material item-model when items prefer item_model
4bb01ef - clamp model face-UVs outside the 0..16 range to prevent 26.1+ clients dropping item-definitions
667ada0 - glyph and shift fonts leaking onto following text when a component consists solely of the tag
fb66bc0 - use the resolved furniture placement-variant for placement-specific config like restricted_rotation
379176e - correctly nest the gradient-tag in the resource-pack prompt message
0c61baf - restore damaged_models and keep pack base-models in the legacy override conversion
0f8ffeb - support custom_model_data on clock, compass and recovery_compass via native item-model generation
4cb5ede - apply ItemsAdder id-remaps when converting items so remapped ids resolve to a Nexo item
82d4ca8 - gate and resolve papi-tags in player chat on the sender instead of every receiver
ceb9cea - build nested containers for TAG_CONTAINER values in an items PersistentData section
c642d9f - make Components.enchantable 0 remove the component instead of clamping it to 1
a00e9b5 - always suffix atlas-split clone-keys so item-ids ending in item or block are not overwritten
b08ce96 - redirect missing item-model textures to a placeholder so the whole item-definition still loads
2f3af72 - transform fixed number-formats on scoreboard packets so glyphs render in playerlist objectives
8a64bdd - remove block-sound tasks through the iterator so unloading a world does not corrupt the map
c211ae7 - batch recipe reloads so the server no longer resends every recipe to every player per recipe
958040d - only migrate POLYMATH pack-server to HERMES for pre-HERMES configs
59bb014 - preserve component roots in packet transforms and rework glyph tag scanning, escaping and parsing
a63a09d - min culling-distance comparing against max bound, disabling occlusion-culling when a min distance is set
7a650a1 - resolve papi-tags against the receiving player, fixing bypassed permissions and empty output outside chat
8367ff4 - remap vanilla item-definitions and clone atlas-less vanilla textures in the 1.21.11 atlas-split
bf8892d - undefined custom-armor layers parsing as empty keys and blocking sibling layer-textures
37845ee - complete ModelEngine pack-future instantly when its pack was zipped before Nexo enabled
ebeb806 - decode raw PacketEvents buffers with the pipelines current protocol, fixing unformatted and dropped packets
f8c76dd - stale overlay-content from previous pack-generations breaking textures on reload
0adbfec - gif-glyphs not working on 26.2 due to missing text-shaders in the 26_2 overlay
c7ff0a9 - allow hide_tooltip to be defined in tooltip_display component
f73d035 - paletted_permutations atlas-sources losing their separator-field, breaking trim item-models
5a7b1b7 - stale nexo overlay-entries from imported packs overriding Nexos own ranges
920078c - obfuscation replacing overlay models with their base-pack variant
5d18e09 - clamp 1.21.11+ model rotations in legacy overlays only, decided by the packs lowest format
b830f0c - noteblock dupe when broken within a tick of its note playing
ca69b58 - 1.21.11+ model rotations only reaching clients below 26.1 due to single overlay
21d1b7a - blocks_attacks failing to build on Paper 26.2 due to changed bypassed_by signature
818d027 - use_remainder referencing a nexo_item being dropped depending on item parse-order
243185e - furniture step and fall sounds never playing due to hitbox block lookup
b0f019d - reference-glyphs missing from emoji-list and their placeholders never registering
6c4884c - animated glyphs rendering blank when their component is resolved before pack-generation finishes
2f779a2 - add force_visibility setting for FurnitureBed
62b2bcc - issue with FurnitureBeds not properly handling invisibility toggling
8420e0b - parse config enums case-insensitively and throw clear error on invalid furniture-state type
afea966 - RecipesView using Legacy-formatting which breaks glyphs
2f238a5 - generate crossbow charged/firework models so ItemModels don't break with model or texture shorthand
15632e9 - validate items-atlas paletted trims and accept 1.21.11+ '/' sprite separator
d42d934 - JukeboxPlayable's not converted for IA
1f9ead4 - use ClickEvent.copyToClipboard in glyphinfo command to avoid missing-field crash
be1e003 - teleport ModelEngine furniture async so placement works under region threading
461f2f8 - rebuild 26.2 scoreboard team parameters via record codec so glyph tags format in prefix and suffix
65e794e
Improved
- group pack-validation warnings into one summary per issue
582c9ee - handle validation of vanilla assets used in glyphs/items better
bedd345 - chunk-key snapshot prefilter for hitbox checks and mob-move listener only registered while hitboxes exist
2bac004 - filter step and fall game-events before any block or entity lookups in sound handlers
37ce3c4 - single-fetch hitbox lookups for mob-move and fluid-flow checks, no iterator allocation when nothing is excluded
662a5cc - pre-parse required, default and external packs off-thread so pack-generation only merges them
8c4117e - replace linear light-location scans with packed reverse-map lookups on block-update packets
5d761ba - use reverse-maps for barrier collision checks instead of scanning all furniture hitboxes
c86bc60 - skip location and block lookups for non-evolving displays in evolution task
412f749 - cache culling dimensions per yaw and remove allocations from occlusion raycasts
28d2e6c - mechanics.yml cleanup
e3e109b - remove dead formatting.signs and formatting.books settings
50607c7 - remove legacy atlas path, modern atlas splitter always runs with unified main-pack fallback
c745a04 - bad build-path
8e1ba13
v1.26
Stable
Added
- add NexoPackFinishedEvent fired after pack build, before upload
7ab9b48 - add HERMES PackServer-Type
1c15c20 - expose obfuscated texture, model and sound key maps from PackObfuscator
29096fc
Fixed
- signed-chat placeholders, plain-text MiniMessage skip and player setter recursion in NMS handlers
0e8b1f7 - Shift.of truncating shift values above 1023
6743bf8 - run furniture-culling raytraces on the tick thread and cache verdicts to avoid async world-read crashes
72f175c - only gate PAPI custom-name on permission so itemname and lore always resolve
5eb15af - apply component projections on signed chat, item rename and entity metadata paths so Bedrock glyph remaps aren't skipped
b20dc2b - refresh SelfHost pack cache on regeneration so reloads apply without restart
1f5e80b - ensure unicode click-to-copy works correctly in GlyphInfoCommand
bce9664 - relax texture validation for regular textures
84e870e - atlas crash, duplicate sprites, and dropped overlays
24f9704 - various issues with customarmor and saving etc
0dd44a1 - VanillaResourcepack missing Metadata causing issues for 26.2+
9eb9e4c - furniture-bed mannequin ignoring player scale and clearing invisibility
78fa16d - dyed furniture losing color on toggled light-models due to missing dye-tint
118b913 - IA-converter cooking recipes, attribute & enchant formats, legacy colors
008a38b
Improved
- single-pass glyph replacement configs with fixed escaping and gradient-split placeholder support
612897a - drop the S3-based NEXO pack server, superseded by HERMES
78e1fae