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
- 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()
).
Getting Started
Commands & Functions
Data-driven Features
Minimal example
Recommended reading (next steps)
- Creating A Datapack: lifecycle, output paths, merging and mod‑loader jars.
- Functions: building functions, tags, generated scopes and command helpers.
- Configuration: JSON formatting and generation options.
- Components: item/component builders and custom components.
- Predicates: reusable conditions used by loot tables, advancements and item modifiers.
- Worldgen: biomes, features and dimension examples.
- Loot Tables & Item Modifiers: tables, pools and
/item modify
helpers. - Recipes & Advancements: crafting, rewards and integration.
- Chat Components & Colors: formatted messages, chat colors and text components.
Short tips
- Keep builders small and reusable; prefer extracting predicates and modifiers.
- Enable
prettyPrint
inConfiguration
during development for readable JSON. - Use
Components
+Predicates
together for robust item checks and inventory management.
Community & source
- Repository: Kore
- Starter template: Kore Template
For hands-on examples, follow the doc pages above — most pages include runnable snippets and links to test cases in the repository.