🎯 选择您的 Minecraft 版本
选择您的游戏版本以获取正确的包格式和功能
Latest format with minor version support
Current stable format
Stable with cloud height support
Major overhaul with component changes
TNT minecart and furnace changes
Attribute and component updates
Data-driven enchantments
Item components and recipe changes
Text parsing and grass renaming
Function macros introduced
Sign NBT and advancement changes
Damage types added
Filter sections and locate merge
Structure location changes
Loot function string requirements
Replace item command changes
Custom world generation added
Predicates introduced
Initial data pack format
🚀 数据包制作教程
跟随这些步骤创建您的第一个 Minecraft 数据包
设置数据包
📂 查找世界目录
🪟 Windows
Press Win + R, type %APPDATA%\.minecraft\saves\(your world)
🍎 macOS
Press Cmd + Shift + G, navigate to ~/Library/Application Support/minecraft/saves/(your world)
🐧 Linux
Press Ctrl + L, navigate to ~/.minecraft/saves/(your world)
📁 所需文件夹结构
创建 pack.mcmeta
⚙️ 理解 pack.mcmeta
pack.mcmeta 文件是数据包中唯一必须的文件。它告诉 Minecraft 关于您的包的兼容性和描述。
⚠️ 重要提示
- 文件名必须正好是 pack.mcmeta(不是 .txt!)
- 检查操作系统中文件扩展名是否可见
- JSON 语法必须完美(括号、逗号、引号)
- 使用上面的版本选择器获取正确的格式
- 您可以在描述中使用 § 符号添加颜色代码!
- supported_formats 是可选的(1.20.2+)但推荐使用
创建命名空间
🏷️ 创建您的命名空间
命名空间可防止不同数据包之间的冲突,并有效地组织您的内容。
📝 命名规则
my_awesome_pack
skyblock_tools
My Awesome Pack (spaces not allowed)
minecraft (reserved namespace)
🎯 最佳实践
- 使用小写字母、数字、下划线、连字符
- 使其独特且具描述性
- 避免使用 "minecraft" 命名空间(保留给原版)
- 使用您的用户名或项目名称
添加内容
📝 添加您的第一个内容
从一个简单的函数开始测试您的数据包设置。
⚡ 创建您的第一个函数
文件: data/your_namespace/function/hello.mcfunction
# My first data pack function
say Hello from my data pack!
give @s diamond 1
title @s title {"text":"Welcome!","color":"gold"}
🧪 测试您的数据包
/reload
重载所有数据包
/datapack list
显示所有已加载的数据包
/function your_namespace:hello
运行您的函数
📚 数据包内容类型
探索您可以在数据包中创建的不同类型的内容
函数
入门可执行的命令序列
function
.mcfunction
战利品表
中级定义生物或容器掉落物
loot_table
.json
配方
入门自定义合成和熔炼配方
recipe
.json
进度
中级带有奖励的成就系统
advancement
.json
结构
高级自定义建筑结构
structure
.nbt
世界生成
专家自定义地形和生物群系生成
worldgen
.json
标签
入门对物品、方块或实体进行分组
tags
.json
谓词
高级命令和战利品表的条件
predicate
.json
🚀 高级数据包功能
🔄 函数宏
带参数的动态函数 (1.20.2+)
$execute as $(player) run say Hello $(message)
🎨 自定义附魔
数据驱动的附魔 (1.21+)
data/namespace/enchantment/custom.json
🌍 维度创建
自定义维度和世界生成
/execute in namespace:custom_dimension
🏗️ 结构放置
自定义结构和拼图方块
/place structure namespace:castle
⚠️ 重要版本变更
影响数据包兼容性的关键变更
🚨 文件夹命名变更 (1.21)
旧 → 新
recipes/→recipe/loot_tables/→loot_table/functions/→function/
需要操作:升级到 1.21+ 时更新文件夹名称
📝 配方格式变更 (1.20.5)
结果对象语法
Old: "result": {"item": "minecraft:diamond"}
New: "result": {"id": "minecraft:diamond"}
需要操作:更新所有配方文件
🎨 包图标支持
pack.png 图标
- Optional 128×128px PNG image
- Place next to pack.mcmeta
- Square aspect ratio (1:1)
- Shows in data pack selection screen
🧪 测试命令
常用命令
/reload- Reload all data packs/datapack list- Show loaded data packs/datapack enable "file/pack_name"- Enable pack/datapack disable "file/pack_name"- Disable pack
🔧 常见问题排查
❌ 数据包未加载
常见原因:
- pack.mcmeta 语法错误
- 文件夹结构错误
- 无效的 pack_format
- 缺少 .mcmeta 扩展名
解决方案:
- 检查 pack.mcmeta 中的 JSON 语法
- 验证文件夹名称为小写
- 使用适合您版本的正确包格式
- 确保文件扩展名可见
⚠️ 函数不工作
常见原因:
- 文件扩展名错误(是 .txt 而不是 .mcfunction)
- 命令中的命名空间错误
- 命令语法错误
- 函数在错误的文件夹中(使用 function/ 而不是 functions/)
解决方案:
- 确保文件具有 .mcfunction 扩展名
- 使用 /function namespace:filename
- 先单独测试命令
- 检查文件夹命名(1.21+ 变更)