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 Templatefor a ready-to-run project:Kore Template. - Create & generate: see Creating A Datapack for lifecycle and output options (
.generate(),.generateZip(),.generateJar()).
Getting Started
Data-driven Features
Concepts & Helpers
Minimal example
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
- Configuration - JSON formatting and generation options.
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
- Predicates - reusable conditions used by loot tables, advancements and item modifiers.
- Loot Tables & Item Modifiers - tables, pools and
/item modifyhelpers. - Recipes & Advancements - crafting, rewards and integration.
- Enchantments - custom enchantment definitions.
- Dialogs - NPC dialog systems.
- Worldgen - biomes, features and dimension examples.
- Tags - custom tag definitions for grouping items, blocks, entities, etc.
Helpers
- Display Entities - text, block, and item displays.
- Inventory Manager - inventory manipulation helpers.
- Mannequins - armor stand helpers.
- Scheduler - delayed function execution patterns.
Advanced
- Bindings - import existing datapacks and generate Kotlin bindings (experimental).
- GitHub Actions Publishing - automate datapack publishing.
- Test Features (GameTest) - testing datapacks with GameTest.
- Known Issues - workarounds and limitations.
Short tips
- Keep builders small and reusable; prefer extracting predicates and modifiers.
- Enable
prettyPrintinConfigurationduring development for readable JSON. - Use
Components+Predicatestogether 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
- Repository: Kore
- Starter template: Kore Template
- LLM-friendly documentation: llms.txt | llms-full.txt
For hands-on examples, follow the doc pages above - most pages include runnable snippets and links to test cases in the repository.
