NexoMC Changelog

v1.27

Stable

[Fixes]

Glyphs & text

  • Scoreboard glyphs, GIF-glyphs and the glyphinfo command not working on 26.2
  • GIF-glyph frames offset wrong when frame size did not match the aspect ratio
  • Animated glyphs rendering blank when resolved before pack-generation finished
  • Reference-glyphs missing from emoji-list and never registering placeholders
  • Glyph tag scanning, escaping and parsing reworked to keep component roots
  • Glyphs not rendering in playerlist objectives using number-formats
  • Glyph and shift tags not parsing in options-menu lang keys
  • Recipe-Screen using legacy formatting, thus not allowing glyphs
  • Gradient-tag not nested correctly in the resource-pack prompt
  • PAPI-tags bypassing permissions and returning nothing outside chat

Items

  • JukeboxPlayable and ItemsAdder id-remaps not converting properly from IA
  • Crossbow breaking when defining charged_model/firework_model
  • use_remainder referencing a nexo_item being dropped depending on item parse-order
  • blocks_attacks failing to build on Paper 26.2 due to changed bypassed_by signature
  • Components.enchantable 0 clamped to 1 instead of removing the component
  • PersistentData not building nested TAG_CONTAINERs, missing array-types and erroring on unknown types
  • Config-defined PersistentData pinned to the stored copy on item-update
  • Missing item-model textures breaking the item-definition, now using a placeholder
  • custom_model_data dropped from the material item-model when preferring item_model
  • damaged_models and pack base-models lost in the legacy override conversion
  • Model face-UVs outside 0..16 making 26.1+ clients drop the item-definition
  • 1.21.11+ model rotations only reaching clients below 26.1, now clamped in legacy overlays

Pack

  • Incorrect "missing texture" for Paletted Permutation atlas entries
  • Undefined custom-armor layers parsing as empty keys, blocking sibling layers
  • Armor asset-ids only being dropped for helmets that use a 3D Pack.model
  • Obfuscation replacing overlay models with their base variant, and skipping equipment layers, vanilla-keyed models and fonts
  • Stale overlay-entries from imported packs and older generations breaking textures
  • Multipack template-packs not resolving per pack-server, so LobFile and S3 can serve them
  • Pack-generation hanging when ModelEngine zipped early or never registered
  • POLYMATH migrating to HERMES even on configs that already used HERMES

Furniture & blocks

  • ModelEngine issue on Folia due to teleport not teleportAsync
  • Furniture culling and door packet-updates running off the Folia region-thread
  • Furniture using the wrong placement-variant for settings like restricted_rotation
  • Furniture step and fall sounds never playing due to hitbox block lookup
  • Furniture duping drops when spam-clicking ModelEngine furniture
  • FurnitureBed potential invisibility issue due to third-party plugins
  • Noteblock dupe when broken within a tick of its note playing
  • Unloading a world corrupting the block-sound task map
  • Min culling-distance comparing against max bound, disabling culling when set

* [Changes]

  • Reworked atlas split to properly handle the 1.21.11+ split, removing the legacy_atlas setting
  • Allow defining texture in ItemModel-Builder to skip Pack & manual Model files
  • Split item formatting into individual itemname, lore and customname toggles
  • Allow specifying tooltip_display.hide_tooltip
  • Added force_visibility setting for FurnitureBed
  • Improved validation of vanilla assets in glyphs and items, grouped per issue
  • Optimized Furniture occlusion-culling, pack-generation, barrier collisions, light-block handling,
  • step/fall sounds, the furniture evolution-task and mob-movement and liquid-flow around hitboxes

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