Modern and lightweight template for Minecraft 1.21+ data packs.
This framework provides a clean and highly organized starting point for your Minecraft development.
Upgrading your data pack for newer Minecraft versions is incredibly simple—just update the pack_format number inside your pack.mcmeta file.
| Pack Format | Minecraft Version |
|---|---|
48 |
Minecraft 1.21 - 1.21.1 |
57 |
Minecraft 1.21.2 - 1.21.3 |
61 |
Minecraft 1.21.4 |
71 |
Minecraft 1.21.5 |
80 |
Minecraft 1.21.6 |
81 |
Minecraft 1.21.7 - 1.21.8 |
88 |
Minecraft 1.21.9 - 1.21.10 |
94 |
Minecraft 1.21.11 |
101 |
Minecraft 26.1-26.1.2 |
107 |
Minecraft 26.2 |
Need a newer version? Always check the official Minecraft Wiki Pack Format.
Here is the complete layout of the framework directory. Use this mapping to keep all your namespaces, functions, and triggers perfectly sorted:
📦 VanillaDatapackFramework
├── 📂 data
│ ├── 📂 minecraft
│ │ └── 📂 tags
│ │ └── 📂 function
│ │ ├── 📄 load.json # Minecraft hook: runs once when the server/world starts
│ │ └── 📄 tick.json # Minecraft hook: executes constantly (20 times per second)
│ └── 📂 vdf
│ ├── 📂 advancement
│ │ └── 📄 consume_custom_item.json # Lightweight player interaction/item trigger
│ ├── 📂 function
│ │ ├── 📄 give_starter_kit.mcfunction # Script to grant items using new data components
│ │ ├── 📄 load.mcfunction # Initialization script (runs once on startup/reload)
│ │ └── 📄 tick.mcfunction # Constant loop script running 20 times per second
│ └── 📂 predicate
│ └── 📄 is_sneaking_and_holding_item.json # Boolean state check condition
├── 📄 pack.mcmeta # Core metadata and pack format version
├── 🖼️ pack.png # Official 64x64 or 128x128 icon (PNG format only)
└── 📄 README.md # Project documentation and guidelines