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