v1.6.0 brings pack-wide intelligence via a background file scanner, MDK-accurate Equipment IDs with auto-fill, a revamped language key correction system, and a wave of targeted fixes across editors.

New Features

AreaChange
CorePackIndexer background scanner — daemon thread scans pack JSON files lazily and populates all editor dropdowns (skills, materials, enemies, dungeons, recipe types, quest categories) from actual saved files; timestamp cache means only changed files are re-parsed; 30-file batches with 50ms pauses keep memory stable on large packs
ManifestDynamic category cross-population — ticking a Manifest category row immediately pushes it into the matching DynamicOptions list (CRAFT_TYPES, SKILL_CATEGORIES, QUEST_CATEGORIES) so other editors see it in real time without saving first
ManifestAuto directory creation — Create Full Pack Structure builds subdirectories for every ticked category row; a global DynamicOptions change listener creates new subdirs instantly when categories are added later
ManifestCreate Full Pack Structure auto-loads into Open Pack — after building the directory tree the pack is loaded into PackBrowserEditor and the sidebar switches to Open Pack automatically
EquipmentMDK-accurate category IDs — category dropdown uses exact core_systems IDs (original:personal_suit, original:ship_hull, etc.); equipmentSlot always writes fully-qualified original: keys matching the MDK manifest spec
EquipmentAuto-fill — Display Name Key, Description Key, and texture path all derive live from pack name + category + item ID as you type; texture path defaults to the correct personal/ or ship/ subdirectory for the selected category
LanguagesLanguage key correction — editors track their last-saved keys and call LangRegistry.replace() when a key changes on re-save, updating the key in all open language editors instead of creating a duplicate
LanguagesLangRegistry.replace() and remove() — new registry methods enable in-place key renaming and deletion; Language editor key cell edits sync back to the registry live
LanguagesLanguage save dialog now routes directly to assets/languages/ via FileUtil.chooseSaveFile, matching all other editors
QuestsQuest meta rows now have per-row × remove buttons — each meta key/value entry can be deleted individually
EnemiesEnemy Description Key field — description field added to Enemies tab; both displayName and description are registered to the Enemies language section on save

Changes

  • Equipment category change clears the texture picker — prevents stale texture paths carrying over when switching categories
  • QuestEditor quest type combo converted to liveCombo — quest types added via Manifest or saved quests appear in the dropdown automatically

Fixes

  • Room editor language keys now register to Rooms section instead of Dungeons
  • Equipment equipmentSlot double original: prefix removed — SLOT_KEYS are fully qualified; deriveSlotValue no longer prepends an extra namespace
  • Equipment isShipCategory detection works for typed custom IDs — string-based ship detection; file-path and equipmentSlot-based inference in loadFromData as two-stage fallback
  • FileUtil.createDatapackDirectories typo fixed — personal/weapns corrected to personal/weapons