【2025年7月最新】マイクラ Datapack 自作と配布完全ガイド
pack.mcmetaからfunctionsまで – Java Edition 1.21.7対応
※本記事は2025年7月時点の情報に基づいて執筆されています。最新のJava Edition 1.21.7(pack format 81)および1.21.8 RC1の情報を含みます。内容の正確性には万全を期していますが、最新情報は各公式サイトをご確認ください。
マイクラのDatapack(データパック)は、コマンドブロックを使わずにゲームに新しい機能を追加できる公式システムです。Java Edition 1.21.7では新しいpack format 81が導入され、さらに強力になりました。今回は、初心者でもわかりやすいように、pack.mcmetaファイルの作成からfunctionsフォルダの活用、advancementsの追加、そして配布まで詳しく解説します。
最新情報:
2025年7月15日に1.21.8 Release Candidate 1がリリースされました。これはグラフィック関連の問題修正を含むホットフィックスです。データパックの機能に変更はありませんが、最新の安定した環境での開発をお勧めします。
データパックとは何か?

データパック作成の基本概念
データパックは、Minecraft Java Edition 1.13以降で利用可能な公式機能で、以下のような要素を追加・変更できます:
- カスタムレシピの追加
- 新しいadvancements(進捗)の作成
- functionsによる複雑なコマンドの実行
- ルートテーブルの変更
- タグの追加
- エンチャントの定義(1.21以降)
- カスタムディメンションの作成
基本的なフォルダ構成
Java Edition 1.21.7でのデータパックの基本的な構成は以下の通りです:
├── pack.mcmeta
├── pack.png (オプション)
└── data/
└── minecraft/
├── function/ # 1.21で「functions」から変更
│ └── my_function.mcfunction
├── advancement/ # 1.21で「advancements」から変更
│ └── my_advancement.json
├── recipe/ # 1.21で「recipes」から変更
│ └── my_recipe.json
└── loot_table/ # 1.21で「loot_tables」から変更
└── my_loot.json
重要な変更点:
Java Edition 1.21以降、多くのフォルダ名が単数形に変更されました。例:functions
→ function
、advancements
→ advancement
など。古いフォルダ名を使用するとデータパックが正しく動作しません。
pack.mcmetaファイルの作成

pack.mcmetaファイルの構造
pack.mcmetaファイルは、データパックの基本情報を記述する重要なファイルです。JSON形式で記述し、以下の内容を含みます:
Java Edition 1.21.7用の正確な設定
“pack”: {
“pack_format”: 81,
“description”: “私の最初のデータパック”
}
}
高度な設定(テキストコンポーネント使用)
“pack”: {
“pack_format”: 81,
“description”: {
“text”: “私のデータパック”,
“color”: “gold”,
“bold”: true
}
}
}
Pack Format一覧:
バージョン | Pack Format | 主な変更点 |
---|---|---|
1.21.4 | 61 | TNT Minecart、Furnace関連の変更 |
1.21.5 | 71 | GameTestシステム、テキストコンポーネント |
1.21.6 | 80 | Dimension typeの新フィールド |
1.21.7 – 1.21.8 | 81 | 新しい音楽ディスク、バグ修正 |
重要な注意点:
- pack_formatは使用するMinecraftのバージョンによって厳密に決まります
- 1.21.7および1.21.8 RC1では81を使用
- ファイル名は必ず「pack.mcmeta」とし、拡張子を確実に変更してください
- JSONの構文エラーがあるとデータパックが読み込まれません
functionsフォルダの活用

VS Codeでのデータパック開発環境
functionsフォルダは、データパックの核心部分です。.mcfunction形式のファイルを格納し、複数のコマンドを組み合わせて実行できます。
基本的なfunctionファイルの例
give @s minecraft:diamond 64
tellraw @s {“text”:”ダイヤモンドを64個プレゼント!”,”color”:”aqua”}
playsound minecraft:entity.player.levelup master @s
1.21.7での新機能を使用した例
# 新しいテキストコンポーネント形式を使用
tellraw @a {“text”:”サーバーからのお知らせ”,”color”:”yellow”,”bold”:true}
# 条件分岐を使用
execute if score @s level matches 10.. run give @s minecraft:diamond_sword
# 関数マクロの使用(1.20.2以降)
$give $(target) $(item) $(count)
実行方法
functionの実行方法:
/function namespace:function_name
# 例:give_diamonds.mcfunctionを実行
/function minecraft:give_diamonds
# 他のプレイヤーとして実行
/execute as @a run function minecraft:give_diamonds
advancementsの追加
advancementフォルダを作成することで、カスタムの進捗を追加できます:
└── minecraft/
└── advancement/
└── my_advancement.json
基本的なadvancementファイル
“display”: {
“icon”: {
“item”: “minecraft:diamond”
},
“title”: “初めてのダイヤモンド”,
“description”: “ダイヤモンドを初めて手に入れる”,
“frame”: “task”,
“show_toast”: true,
“announce_to_chat”: true
},
“criteria”: {
“get_diamond”: {
“trigger”: “minecraft:inventory_changed”,
“conditions”: {
“items”: [
{
“item”: “minecraft:diamond”
}
]
}
}
},
“rewards”: {
“experience”: 100,
“function”: “minecraft:give_diamonds”
}
}
Tips:
- frameには「task」「challenge」「goal」が使用可能
- rewardsでfunctionを実行することで複雑な報酬システムが作成可能
- parent設定で進捗の階層構造を作成できます
データパックの導入と使用方法
導入手順:
- 作成したデータパックフォルダを選択
- ZIPファイルに圧縮(重要:フォルダ内のファイルを選択して圧縮)
- ワールドフォルダの「datapacks」フォルダに配置
- ゲーム内で「/reload」または「/datapack enable」コマンドを実行
データパック管理コマンド
コマンド | 説明 |
---|---|
/datapack list |
現在のデータパック一覧を表示 |
/datapack enable <pack> |
指定のデータパックを有効化 |
/datapack disable <pack> |
指定のデータパックを無効化 |
/reload |
すべてのデータパックをリロード |
新機能:
Java Edition 1.21.6以降では/datapack create
コマンドが追加され、空のデータパックを自動生成できるようになりました。
配布のベストプラクティス
データパックを配布する際は、以下の点に注意しましょう:
項目 | 推奨事項 | 理由 |
---|---|---|
ファイル形式 | ZIP形式で圧縮 | 互換性と配布の容易さ |
説明文 | 使用方法と必要なバージョンを明記 | ユーザーの混乱を防ぐ |
アイコン | pack.png(128×128)を追加 | 視覚的な識別性 |
ライセンス | 利用規約を明確に記載 | 法的な問題の回避 |
バージョン対応 | 対応バージョンを明記 | 動作保証の明確化 |
配布時のチェックリスト
- pack.mcmetaファイルの正確性確認
- すべてのJSONファイルの構文チェック
- テスト環境での動作確認
- 他のデータパックとの競合確認
- README.txtファイルの作成
- バージョン情報の記載
トラブルシューティング
よくある問題と解決法:
❌ データパックが認識されない
原因: pack.mcmetaファイルの不在、JSON構文エラー、またはpack_formatの不一致
解決法: pack.mcmetaファイルの存在とJSON形式の確認、pack_format 81の使用
❌ functionが動作しない
原因: ファイル拡張子の誤り、フォルダ名の間違い
解決法: ファイル拡張子が.mcfunctionになっているか確認、フォルダ名が「function」(単数形)になっているか確認
❌ ZIPファイルが読み込まれない
原因: 圧縮方法の誤り
解決法: フォルダ自体ではなく、フォルダ内のファイル(pack.mcmeta、dataフォルダ)を選択して圧縮
❌ 1.21.8 RC1での問題
原因: グラフィック関連の問題
解決法: 1.21.8 RC1は主にグラフィック修正のため、データパック機能に影響はありません。安定版の1.21.7を使用することをお勧めします
おすすめのVPSサービス
データパックを活用したマイクラサーバーを運営するなら、以下のVPSサービスがおすすめです:
XServer VPS for Game
マイクラ専用の最適化されたVPS。データパックの動作も快適で、初心者でも簡単にサーバー構築が可能です。1.21.7対応のテンプレートが用意されています。
ConoHa for GAME
高性能SSDとマイクラテンプレートを提供。データパックの読み込みが高速で、複数のデータパックを同時に使用する場合にも最適です。
LOLIPOP! for Gamers
マイクラサーバーに最適化された環境で、データパックプラグインの動作も安定。初心者でも簡単にセットアップできます。
まとめ
Java Edition 1.21.7でのデータパック作成は、pack format 81を使用し、フォルダ名の変更に注意することが重要です。1.21.8 RC1がリリースされましたが、データパック機能に変更はないため、現在の設定で問題なく動作します。
データパック作成のポイント:
- pack_format 81を使用する
- フォルダ名は単数形(function、advancement等)
- JSON構文の正確性を確認する
- テスト環境での動作確認を行う
- 配布時はZIP形式で圧縮する
データパックを活用して、あなただけのマイクラ世界を創造しましょう。適切なVPSサーバー環境があれば、友達と一緒にカスタムデータパックを楽しむことができます。
2025年7月 マイクラ技術解説 – Java Edition 1.21.7対応
このガイドは公式Minecraft Wikiの情報に基づいて作成されています。