GSO Data Helper provides 11 purpose-built editors. Each editor has a live JSON preview, Ctrl+S save, Ctrl+Z/Y undo/redo, and automatic integration with other editors via PackContext and DynamicOptions.

Editor Overview

TabWhat It Creates
📂 Open PackBrowse an existing datapack; click any JSON file to load it into the correct editor automatically
📋 Manifestmanifest.json — all 8 category sections; creates the full directory tree with one click
🪨 MaterialsOres, ingots, alloys, circuits, crystals, bio — with store pricing meta and texture picker
⚙️ EquipmentAll 20 stats as individual checkboxes; personal & ship slots; category presets; texture picker
🧪 RecipesDynamic ingredient rows with material ID autocomplete; live craft type & skill dropdowns
🎓 SkillsCombat / crafting / science; XP curve; pushes skill IDs to Recipe editor on save
💀 EnemiesStats, loot table (chance + min/max count), meta key/value pairs; pushes IDs to Room on save
🚪 RoomsHostile list with autocomplete, loot table, XP & credits, boss-room flag
🗺️ DungeonsRoom list, energy cost, repeatable & raid flags
📜 QuestsType, category, required done, unlock requirements, on-finish rewards, meta pairs
🌐 LanguagesKey/translation table; auto-collects keys on save; multi-language sync; retro-fill missing keys

Editor Details

📂 Open Pack

A file-tree browser for existing datapacks. Navigate to any JSON file and click it — the tool detects the file type from its root key and automatically opens it in the correct editor, pre-populated with all existing values.

📋 Manifest Editor

Generates manifest.json. Set your pack name here once — it populates PackContext, which feeds every other editor. Covers all 8 optional category sections (admin_item_list, admin_hostiles_list, admin_panel, admin_player_list, admin_role, core_systems, recipes, shop, skills). The "Create Full Pack Structure" button builds all required directories and saves manifest.json in one action.

🪨 Materials Editor

Covers all material subtypes: ores, ingots, alloys, circuits, crystals, and bio. Each field maps directly to the materials JSON schema. Includes a texture picker (browse → preview → auto-copy to assets/textures/ → path written to JSON) and store meta fields (price, sell value, show weight, featured discount).

⚙️ Equipment Editor

Covers both personal equipment (suits, gloves, boots, weapons, accessories) and ship equipment (hulls, shields, engines, thrusters, weapons). All 20 stats are presented as individual checkboxes — tick only what you want the item to have. Category presets fill in common stat combinations in one click. Includes the same texture picker as the Materials editor.

🧪 Recipes Editor

Drag-to-add ingredient rows with material ID autocomplete drawn live from DynamicOptions (populated as you save materials). The craft type dropdown and skill requirement dropdown are also live — they update when you save new skills. Outputs are typed with a quantity field.

🎓 Skills Editor

Three skill branches: combat, crafting, and science. Each skill has a display name key, description key, max level, and XP curve parameters. On save, the skill ID is pushed to DynamicOptions, making it immediately available in Recipe skill dropdowns.

💀 Enemies Editor

Full enemy stat block plus a loot table (item ID, drop chance, min count, max count) and free-form meta key/value pairs for custom attributes. On save, the enemy ID is pushed to DynamicOptions, making it available in Room hostile lists.

🚪 Rooms Editor

Configure encounter rooms with a hostile list (autocomplete from saved enemies), a loot table, XP and credit rewards, and a boss-room toggle. Rooms are referenced by dungeons.

🗺️ Dungeons Editor

String rooms into a dungeon run by listing room IDs in sequence. Set the energy cost to enter, the repeatable flag (can players run it multiple times), and the raid flag (alliance-level content).

📜 Quests Editor

Covers quest type, category, required completions, unlock requirements (prerequisite quests or levels), on-finish reward blocks, and arbitrary meta key/value pairs for custom quest logic hooks.

🌐 Languages Editor

A full key/translation table editor. The Collect button scans all other open editors for display name and description keys and adds any missing ones. The Retro-fill button adds all keys registered in LangRegistry that are absent from the current file — useful for catching up an older translation to a newer pack version. Multi-language sync pushes new keys to all open language editors simultaneously when any file is saved.