NexoMC Changelog

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
  • add ComponentProjections API for rewriting outgoing components per player a188ffa
  • add permission for PAPI Nexo-Tag 27a65ce

Fixed

  • 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
  • dangling #particle references after merge_textures spamming client logs a0008b1
  • furniture states not cycling when interaction also opens storage 4ada271
  • fall back to tick-thread culling when server rejects async world-reads 76edfc4
  • configs always saving when nothing changed due to bad equals check 5c57c1c
  • rewrite hashed container-click stacks to prevent ghost items and formatting desync e6493c8
  • custom AttributeModifiers no longer remove default modifiers like attack speed 8d2a345
  • item formatting lost when placing items back with cursor formatting disabled f238eac
  • glyphs not being replaced in item lore of show-item hover events a8394a2
  • renamed furniture losing custom name when drop has explicit self-loot 373e032
  • players stuck in configuration phase when pack pop-all overtakes push through proxies 38bca30
  • parse allowed_entity_types and generate equipment models at the defined asset_id 00d7a66
  • open furniture doors no longer regain barriers for other players when someone re-tracks them 11c4848
  • bad package paths due to refactored nms structure 051dfdf
  • issue with converting IA recipes with lowercase material-ids e36baa7
  • Enchantment issue due to DataComponent api for 1.21.4 b34f8e2
  • disable_blocking not using durations a56df0f
  • 26.1+ issue with FurnitureBed sleeping due to Paper API change d839dfb
  • bad fortune check for Furniture and CustomBlock drops 555dafe
  • 1.21.4 issue when item has enchantments defined 6fe7816

Improved

  • drop the S3-based NEXO pack server, superseded by HERMES 78e1fae
  • change `prefer_item_models` default to true 47db93e
  • remove unneeded kotlin compiler args 5ebb9fd
  • rename NMS modules to align with server-version better 5eaf213
  • minor optimizations to item-formatting packets ecc4b53

v1.25

Stable

Added

  • swap FurnitureBed for 1.21.10+ to use Mannequin entities, fixes invisible issue & packet spam fbc0bc7
  • add option to override itemModel and/or lore for NexoDialog item being displayed 800ce44
  • handle humanoid-baby armor e2651ae
  • NexoTag feature for simplifying repeated recipes 219e9f2

Fixed

  • UNBREAKABLE component being Valued only in 1.21.4 98d70d3
  • only run tasks when nexo is enabled f4f6dec
  • reload wiping CustomModelData structures set via component d6c16f5
  • folia issue with custom block step/fall sounds 0af8d19
  • player slurping up items between FurnitureBed & 0,0,0 when laying down 17ea4d1
  • improve NexoDialog referencing of NexoItems by rebuilding Dialog when items done loading 3b08fd6
  • NexoConverter not migrating old jukebox_playable config 4c0dc52
  • issue with damage being reset on some items on update d3ff270
  • custom trim models losing parent layer0 on pack merge c179e30
  • stringblock non-deterministic order causing unique pack-hash each time b21303b
  • 26.2 using per-world entityIds not global 3510e33
  • limit HUMANOID_BABY to 26.2+ client-overlay 7a02591
  • add missing 26.2 NexoOverlay 5bf4b42
  • ItemModelBuilder improperly handling root-keys eef7aae
  • ItemBuilder setting vanilla-default ItemModels every time not just customs 923b858
  • FurnitureState CustomModelData not using data-component format 0bfda3b
  • 26.2 changing field to private so need to override against commons a4ad311
  • reading VanillaResourcePack due to missing MCMETA PackFormat context 017c4ee
  • wrong package-ver 05efa1b
  • invalid PackFormat cf0554c
  • re-send pack hashes to proxy on reconnect so restarts dont force client re-download af002b7
  • double resourcepack send on reconfigure causing config phase hang 02df9f2
  • ensure attempted culled furniture is in same world a41fb9c
  • NexoPackPreEvent never keeping changes due to clearing pack 4f3ad5c
  • lore handled in templates 251a430

Improved

  • allow single element entries for ClickAction condition(s) & action(s) 4215ffb
  • add setting to disable actionbar formatting 1ec9ce9
  • remove ItemFlags in favour of backwards compatible TooltipDisplay component 1e395b6
  • move canBreak/canPlace to use NMS to allow NexoBlocks & BlockStates to be defined explicitly eeffd0d
  • start assigning CHORUS type variations at 49..63 then down 8559627
  • code cleanup 56a8def
  • remove remaining ItemMeta usage 42836c3
  • cleanup TODOs 3349180
  • more cleanup away from deprecated itemmeta logic 2220f2b
  • remove deprecated UpdateCallback postUpdate f9e2aba
  • make EntityUtils to override version-diff logic 6871a8c
  • separate nms module & minor fix b447fb6
  • more DataComponent work again 9e9fa16
  • more DataComponent work 3e35100
  • start work on complete swap from ItemMeta to DataComponents ea56313
  • drop support for <1.21.4, 1.21.7 & 1.21.9 fd604a0
  • gradle cleanup ca22749

v1.24

Stable

Added

  • increase max `custom_variation` for NOTEBLOCK type CustomBlocks on 26.1+ to 1349 215fd60
  • expand CustomModelDataState to support string, color, int/float & boolean types f440c66

Improved

v1.23

Stable

Added

  • Furniture-Placements 644f4bb
  • add `reset_after` & `next_after` to FurnitureStates 0326386
  • add onSneak parameter & WorldGuard support bb2084b
  • permission property for furniture states 9822cb6

Fixed

  • FurnitureState parent-reset/next durations copied into sub-states 3c01ecc

Improved

  • swap to using conditions like ClickAction 3e10fda