Smart Features
GSO Data Helper is more than a form-to-JSON converter. A set of interconnected smart systems keeps all 11 editors in sync, automates tedious bookkeeping, and gets out of your way while you build datapacks.
Pack Name Sync — PackContext
Set your pack name once in the Manifest editor. PackContext is a shared singleton that every other editor reads. Change the pack name and all 11 editors reflect the new value immediately — no manual update required.
Dynamic Dropdowns — DynamicOptions
DynamicOptions maintains live-updating lists of IDs that feed combo boxes across editors. The flow is automatic:
| When you save a… | The following is auto-populated |
|---|---|
| Skill | Recipe editor skill requirement dropdowns |
| Material | Recipe editor ingredient autocomplete lists |
| Enemy | Room editor hostile autocomplete list |
You never need to remember an ID you just created — save the file and it appears in every relevant combo box instantly.
Language Key Auto-Registration — LangRegistry
Every time you save any file that contains a displayName or description field, those translation keys are pushed to LangRegistry. Open language editors receive the new keys instantly. The Retro-fill button in the Language editor uses this registry to add all missing keys to an older translation file in one click.
Multi-Language Sync
When two or more language files are open at the same time, new keys propagate to all of them automatically when any file is saved. This keeps your language files in sync as you build your datapack, so you never end up with keys missing from one translation.
Texture Picker
Available in the Materials and Equipment editors. The workflow:
- Click the browse button — a file chooser opens with an image preview panel
- Navigate to your source image and select it
- The tool copies it to
assets/textures/inside your pack - The relative path is written directly into the
textureJSON field
You never need to manually type a texture path or copy files yourself.
Undo / Redo — EditorHistory
Every editor maintains its own undo/redo stack via EditorHistory, up to 100 snapshots. Keyboard shortcuts:
| Action | Shortcut |
|---|---|
| Undo | Ctrl+Z |
| Redo | Ctrl+Y or Ctrl+Shift+Z |
Undo/redo state is per-editor and independent — undoing in the Materials editor does not affect the Equipment editor.
Ctrl+S Save
Pressing Ctrl+S anywhere in the application saves the currently visible editor, routed via the Saveable interface. The JSON save dialog pre-fills the item ID as the suggested filename and remembers the last directory you saved to, so navigation is minimal.
Dark & Light Mode
Toggle between dark and light themes from the menu bar. Theme changes trigger a full component-tree repaint using role-based colour classification — every panel, spinner, combo box, split pane, and scroll pane updates correctly. No stale dark remnants appear in light mode.
Exit Confirmation
A custom exit dialog with larger, easier-to-hit buttons prevents accidental closes when you have unsaved work.