Kore

Welcome to the Kore wiki!

Kore is a Kotlin library for building Minecraft datapacks with a concise, type-safe Kotlin DSL. It focuses on readable builders, stable generation of datapack JSON, and tight integration with vanilla concepts (functions, loot tables, predicates, worldgen, ...).

Quick start

  • Getting started: Check out the Getting Started guide for a step-by-step introduction to creating your first datapack.
  • Prerequisites: Java 21+ and a Kotlin-capable build environment.
  • Starter template: use the Kore Template for a ready-to-run project: Kore Template.
  • Create & generate: see Creating A Datapack for lifecycle and output options (.generate(), .generateZip(), .generateJar()).

Minimal example

fun main() {
    dataPack("example") {
        function("display_text") { tellraw(allPlayers(), textComponent("Hello World!")) }
    }.generateZip()
}
Kotlin

Essential reading

  • Getting Started: step-by-step guide to create your first datapack.
  • Creating A Datapack: lifecycle, output paths, and generation options.
  • Commands: comprehensive guide to all Minecraft commands with examples.
  • Functions: building functions, tags, and command helpers.

Full documentation index

Core Guides

Commands

  • Macros - dynamic command arguments for reusable functions.

Concepts

  • Components - item/component builders and custom components.
  • Chat Components - formatted messages and text components.
  • Colors - chat colors and formatting options.
  • Scoreboards - objectives, teams, and scoreboard displays.

Data-Driven

Helpers

Advanced

Short tips

  • Keep builders small and reusable; prefer extracting predicates and modifiers.
  • Enable prettyPrint in Configuration during development for readable JSON.
  • Use Components + Predicates together for robust item checks and inventory management.

Known issues

Check out the Known Issues page for a list of known issues and workarounds.

Community & source

For hands-on examples, follow the doc pages above - most pages include runnable snippets and links to test cases in the repository.