Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Kore AssistantNew to Visual Studio Code? Get it now.
Kore Assistant

Kore Assistant

Ayfri

|
80 installs
| (0) | Free
An assistant that gives you powerful tools when working with Kore.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Kore Assistant

Version

A Visual Studio Code extension providing powerful tools for working with Kore, a Kotlin library for creating Minecraft datapacks without writing JSON.

Features

  • Kore declaration discovery: Detects datapacks, functions, tags, predicates, recipes, advancements, dialogs, world-generation resources (features, carvers, density functions, structures), and the other Kore DSL builders in Kotlin files, including builders nested in a scope such as recipes { } or structures { }
  • Workspace-aware resolution: A dataPack(NAMESPACE), function("leaf_$id") or lootTable(Names.PREFIX + "chest") resolves through the val constants of the workspace (chains like val NS = "${BASE}_pack" included), and a fun DataPack.setup() / fun setup(dp: DataPack) / context(dp: DataPack) fun setup() helper is filed under the datapack whose dataPack { } block calls it (directly or through other helpers). Helpers nobody calls fall back to the datapack declared in the closest folder, so a multi-project workspace like the Kore Examples repo keeps each project's helpers under its own pack
  • Gutter icons and hovers: Marks declarations in the editor and shows their resource location, generated output path, source location, and relevant Minecraft command; a function's hover also lists its function("x") call sites
  • Inlay hints: Shows each declaration's resource location (or its output path, see kore-assistant.inlayHints) right after its arguments
  • Function references: Ctrl+Click on function("x") jumps to the declaration, Find All References and Rename work from either the call or the declaration (ns:name and directories included)
  • Completion: Project function names inside function("..."), and vanilla ids inside item("..."), block("...") and XxxArgument("..."), read from your own Kore version (the kore-jvm jar in the Gradle cache or the Maven local repository, or Kore's sources in Kore's own repository)
  • Diagnostics: Warns when two declarations write the same file (the last one generated silently wins), reports a function("helper") command whose target is not declared in the project with quick fixes (rename to a close match, call it under the namespace that declares it, swap inverted namespace, name arguments, or create the missing function), checks craftingShaped recipes for grid size, row width, missing and unused keys, and reports unknown vanilla ids (with closest-id fixes), assignments mutating a shared generated enum entry such as Items.DIAMOND_SWORD.components, local ^ coordinates mixed with ~ or absolute ones, and invalid macro names. Turn them off with kore-assistant.diagnostics.enabled
  • Terminal links: Resource locations Kore prints in a terminal or task output link back to their declaration
  • Kore Explorer: Browses declarations as the generated output structure (datapack > namespace > resource folder > path folders, a function's directory included), by datapack and declaration kind with nested path folders, by source file, or as a flat list. Container rows show how many elements they hold and a hover summarizing their output folder, namespaces, kinds and files
  • Navigation and copy actions: Reveals the declaration source, "Reveal in Kore Explorer" from the editor context menu jumps to the row of the declaration under the cursor, and every explorer node has a context menu to copy its name, namespace, resource location, output path or folder, command, file path or file:line declaration path; container rows also copy every resource location or output path underneath, one per line
  • Sorting, grouping and filter: Sort declarations by name, kind, namespace or declaration order in either direction, and filter the tree by name, namespace or output path. Grouping and sorting are remembered per workspace
  • Templates: Completion templates for common Kore builders that add the imports they need, and a "Kore: New DataPack File" command
  • Kore updates: An opt-in notification when a newer Kore version is released

Kore Explorer

Browse each datapack and its generated resources directly from the Activity Bar. Resource folders are grouped by their Kore declaration kind, and nested resource paths stay organized in the tree.

Kore Explorer showing a datapack and its resources

Declaration Details

Hover a gutter icon to inspect the declaration's generated resource location and output path without leaving the source file.

Kore declaration hover details

Installation

You can install this extension through the VS Code Marketplace:

  1. Open VS Code
  2. Go to the Extensions view (Ctrl+Shift+X or Cmd+Shift+X on macOS)
  3. Search for "Kore Assistant"
  4. Click Install

Alternatively, you can install it directly from the VS Code Marketplace.

About Kore

Kore is a modern Kotlin library that allows you to:

  • Create Minecraft datapacks using Kotlin instead of JSON
  • Write clean, type-safe code with full IDE support
  • Generate commands, recipes, advancements and other datapack components
  • Support for Minecraft 1.20 and later versions

Visit kore.ayfri.com for official documentation.

Requirements

  • Visual Studio Code 1.125.0 or newer
  • A Kotlin language extension, e.g. the official Kotlin by JetBrains extension (powered by kotlin-lsp)

Usage

  1. Open a Kotlin file containing Kore declarations, such as dataPack, function, predicate, blockTag, or recipes { craftingShaped(...) }
  2. The extension will automatically detect and highlight them with gutter icons
  3. Use the Kore Explorer in the Activity Bar to browse declarations by datapack and resource kind
  4. Select a declaration to jump to its Kotlin source, or right-click any node (datapack, namespace, folder, category, file or declaration) to copy one of its values or open its source
  5. Use the view toolbar to filter the tree, pick a grouping (output structure, kind, source file, flat list), pick a sort criterion (picking the active one again flips the direction) or rescan the workspace
  6. Right-click a gutter icon (or anywhere in a Kotlin editor) and pick "Kore: Reveal in Kore Explorer", or click the link at the end of the gutter hover, to select that declaration in the tree
  7. Type a template prefix at the start of a statement to insert a Kore builder with its imports (see the templates section below), or right-click a folder in the file explorer and pick "Kore: New DataPack File"

To refresh the icons manually, run the "Kore: Refresh Gutter Icons" command from the command palette.

Templates

Each template adds the imports of the Kore builders it uses, skipping those already imported:

  • dp: a datapack declaration
  • dpmain: a main function generating a datapack into the Kore Gradle plugin's output when run by it
  • fn: a function
  • load / tick: a function run when the datapack loads / every tick
  • exec: an execute command running a block as the target
  • lt: a loot table with one pool dropping an item
  • adv: an advancement with its display
  • shaped: a shaped crafting recipe
  • ftag: a function tag such as minecraft:load

Extension Settings

  • kore-assistant.diagnostics.enabled (default true): report duplicate declarations, unresolved function commands, invalid craftingShaped patterns, unknown vanilla ids, shared generated enum entry mutations, mixed local coordinates and invalid macro names in the Problems view
  • kore-assistant.inlayHints (default resourceLocation): what the inlay hint after each declaration shows, resourceLocation, outputPath or off
  • kore-assistant.checkKoreUpdates (default false): notify when a newer Kore version is released, checked against Maven Central at most once a day
  • Explorer grouping (output structure, kind, source file, flat list), sort criterion and direction are toolbar choices remembered per workspace, not settings

Feedback & Issues

Please file issues and feature requests on the project's repository.

License

This extension is licensed under the GNU General Public License v3.0.

Contributing

Contributions to the Kore Assistant extension are welcome!

  1. Fork the repository
  2. Create your feature branch: git checkout -b feature/amazing-feature
  3. Install dependencies: bun install
  4. Make your changes
  5. Build and test: bun run package
  6. Commit your changes: git commit -m 'Add some amazing feature'
  7. Push to the branch: git push origin feature/amazing-feature
  8. Open a Pull Request

Publishing

The extension is published to the VS Code Marketplace automatically when a new tag is pushed to the repository.

To publish a new version:

  1. Update the version in package.json
  2. Update the CHANGELOG.md file
  3. Update the version badge in README.md
  4. Commit your changes: git commit -m 'Release v0.x.x'
  5. Tag the release: git tag v0.x.x
  6. Push the changes: git push && git push --tags

GitHub Actions will automatically build and publish the extension.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft