A VS Code extension that provides intelligent navigation for Minecraft Bedrock Edition UI JSON files. Navigate between UI namespaces and panels with clickable links.
Features
- Smart Link Detection: Automatically detects UI references in JSON files
- Two-Part Navigation: Click namespace or panel parts separately
- Multiple Format Support: Handles both
namespace.paneland[email protected]_nameformats - Workspace Integration: Searches local workspace first, then falls back to CDN
- Caching: Downloads are cached to avoid repeated fetching
- Tab Management: Reuses already opened files instead of duplicates
Supported Formats
The extension recognizes these UI reference patterns:
-
Standard Format:
namespace.panel- Click
namespace→ Go to namespace file - Click
panel→ Go to specific panel definition
- Click
-
Extended Format:
[email protected]_name- Click
namespace→ Go to namespace file - Click
panel_name→ Go to specific panel definition
- Click
-
With Extensions:
namespace.panel@extensionor[email protected]_name@extension
Usage
- Install the extension
- Open any Bedrock UI JSON file containing UI references
- Hover over the references - they'll appear as clickable links
- Ctrl+Click (or Cmd+Click on Mac) to navigate
- Links are only shown in files that contain a
"namespace"declaration
Example
{
"namespace": "my_ui",
"button": {
"panel": "common.base_panel"
},
"chest": {
"screen": "[email protected]_screen_common"
}
}
In this example:
common.base_panelcreates links forcommonandbase_panel[email protected]_screen_commoncreates links forcommonandinventory_screen_common
How It Works
- Local Search First: Searches your workspace for files with matching namespaces
- CDN Fallback: If not found locally, fetches from Mojang's Bedrock samples CDN
- Smart Caching: Downloaded files are cached in your temp directory
- Tab Awareness: Reuses existing tabs instead of opening duplicates
Requirements
- VS Code 1.85.0 or higher
- JSON/JSONC files with
"namespace"declarations
Extension Settings
This extension contributes no settings currently.
Commands
This extension contributes the following commands (automatically triggered by clicking links):
bedrockUI.gotoNamespace- Navigate to a namespace filebedrockUI.gotoPanel- Navigate to a specific panel within a namespace
Troubleshooting
Links Not Appearing
- Ensure your JSON file contains a
"namespace"declaration - Check that you're in a JSON or JSONC file
- Try restarting VS Code after installation
Extension Not Activating
- Open VS Code Developer Tools (Help → Toggle Developer Tools)
- Check console for error messages
- Ensure the extension is properly installed
Performance Issues
- The extension caches downloaded files automatically
- Large workspaces may take a moment to search initially
Development
Building
npm install
npm run compile
npm run package
Testing
- Install the packaged VSIX:
code --install-extension bedrock-ui-navigator-1.0.0.vsix - Open test JSON files with UI references
- Verify links appear and navigate correctly
Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.
License
MIT License - see LICENSE file for details.
Changelog
1.0.0
- Initial release
- Support for
namespace.paneland[email protected]_nameformats - Workspace search with CDN fallback
- File caching and tab management
- Smart link detection in JSON files with namespace declarations
Credits
- Uses UI mappings from Mojang's Bedrock Samples
- Built with TypeScript for VS Code extension API