マイクラのサバイバルで、村の鍛冶屋やダンジョンの奥深くで宝箱(チェスト)を開ける瞬間のワクワク感、たまりませんよね!でも、後半になると「また腐った肉と糸か…」とガッカリすることも多いはず。
この記事では、大人気Mod「LootJS」の機能を活用し、村の鍛冶屋やダンジョンの宝箱の中身を自由自在にカスタマイズ(魔改造)する方法を解説します!
今回は実践編として、以前の記事で作成したオリジナルの武器「銀の剣」を鍛冶屋の宝箱にレアアイテムとして追加したり、邪魔なゴミアイテムを宝箱から消し去る方法をご紹介します。優秀なAI(レスポンスが速く賢いGemini 2.5 Flashなどが特におすすめです)を活用すれば、複雑なコードもコピペで一瞬です。俺と友達が遊ぶために作っているこだわりのマルチサーバーにこのギミックを仕込んで、探索をさらに盛り上げましょう!
(※KubeJS・LootJSの導入や、オリジナル武器の作り方がまだの方はこちらの記事からどうぞ👇)

【重要】当サイトの動作確認環境
マイクラのModは、バージョンが少し違うだけでコードが動かなくなることがよくあります。この記事のスクリプトは、以下の環境で動作確認を行っています。
- Minecraftバージョン: 1.20.1
- 前提Mod: Forge
- 使用Mod: KubeJS, LootJS(※今回は必須です!)
- 環境:
ConoHa VPS 
※バージョンが大きく異なる場合、コードのままではエラーになる可能性があるためご注意ください。
【事前準備】サーバー内にコードを書くファイルを作ろう
宝箱(ルートテーブル)の変更はサーバー全体に影響するイベントなので、今回はサーバー内の server_scripts フォルダを直接編集します。
FTPソフト等(WinSCPなど)を使用してご自身のマイクラサーバーに接続し、kubejs ➔ server_scripts フォルダの中に、新しく chest_loot.js というファイルを作成してください。
💡ワンポイント:ファイル名は自由に変更OK! 名前はあくまで一例ですので、後で見て分かりやすい名前であれば自由に変更して構いません。(※ただし、名前の最後は必ず .js にすることだけ忘れないでください!)
1. AIを宝箱の設計者に変える「魔法の前提プロンプト」
宝箱の中身を変更するには「チェストの内部ID」を指定する必要がありますが、これを自力で調べるのは至難の業です。まずはAIのチャット画面を開き、以下の「前提プロンプト」をコピペして送信してください。
▼AIにコピペする指示文(プロンプト)▼
あなたはMinecraftのMod「LootJS」の専門プログラマーです。これから私がお願いする宝箱(ルートテーブル)の変更処理を出力してください。
【前提条件】
・Minecraftのバージョンは「1.20.1」です。
・LootJSの
LootJS.modifiers(event => { ... })の構文を使用してください。・コードだけをシンプルに出力し、複雑な解説は不要です。
準備ができたら「準備完了です。どの宝箱の中身を変更しますか?」とだけ返事をして待機してください。
AIから「準備完了です」と返ってきたら、いよいよ宝箱の魔改造スタートです!
2. 実践①:鍛冶屋のチェストに「銀の剣」を【追加】する!
まずは基本の「足し算」です。村の武器鍛冶屋のチェストに、自作した武器を追加するようAIに指示を出します。
▼AIにコピペする指示文▼
以下の設定で宝箱の中身を変更するコードを書いてください。
・対象のチェスト: 村の武器鍛冶屋(village_weaponsmith)
・追加するアイテム: 銀の剣(kubejs:silver_sword)
・確率: 20%の確率で追加する
▼AIが出力するコードの例▼
JavaScript
LootJS.modifiers(event => {
// 村の武器鍛冶屋のチェストに、20%の確率で「銀の剣」を追加
event.addLootTableModifier('minecraft:chests/village/village_weaponsmith')
.randomChance(0.2)
.addLoot('kubejs:silver_sword');
});
出力されたコードを、サーバー上に先ほど作った chest_loot.js に貼り付けて保存してください。

【丸投げでOK!でも、コードの仕組みが分かると自分でもいじれる!】
addLootTableModifier('...'): どの宝箱の中身を変えるかを指定する部分です。.randomChance(0.2): アイテムが出る確率です。0.2なら20%、0.5なら50%になります。100%(確定)で出したい場合は、この1行を丸ごと消してしまえばOKです!.addLoot('...'): 追加したいアイテムのIDです。ここをminecraft:diamondに書き換えれば「ダイヤ」を追加することも可能です。
3. 実践②:ゴミアイテムの【削除】と、別アイテムへの【入れ替え】!
宝箱にレアアイテムを足すのも嬉しいですが、「腐った肉はもう見たくない!」「普通の金リンゴじゃなくて、激レアな上位金リンゴ(エンチャントされた金リンゴ)にアップグレードしたい!」ということもありますよね。 LootJSなら、引き算やすり替えも一瞬です。先ほどのコードの下に、以下の指示で出力させたコードを追記してみましょう。
▼AIにコピペする指示文▼
以下の設定でスポナー部屋のダンジョン(simple_dungeon)の宝箱の中身を変更するコードを書いてください。
① 「腐った肉(minecraft:rotten_flesh)」を宝箱から完全に削除する ② 「金リンゴ(minecraft:golden_apple)」が入っていた場合、「エンチャントされた金リンゴ(minecraft:enchanted_golden_apple)」に入れ替える
▼AIが出力するコードの例▼
JavaScript
LootJS.modifiers(event => {
// スポナー部屋のチェストのゴミを消し、金リンゴを上位金リンゴにすり替える
event.addLootTableModifier('minecraft:chests/simple_dungeon')
.removeLoot('minecraft:rotten_flesh') // ① 腐った肉を削除
.replaceLoot('minecraft:golden_apple', 'minecraft:enchanted_golden_apple'); // ② 金リンゴを上位金リンゴに入れ替え
});

【ここを押さえておけば自由自在!】
.removeLoot('...'): 指定したアイテムを宝箱から完全に消滅させます。糸や骨など、不要なゴミアイテムのお掃除に大活躍します。.replaceLoot('A', 'B'): 宝箱の中に「A」が入るはずだった場合、それを「B」にすり替えます。今回のように既存のアイテムをレアアイテムにアップグレードする際に非常に便利です。
4. 💡 他のチェストにも応用したい場合は?
LootJSを使えば、鍛冶屋やスポナー部屋以外にもマイクラ内に存在するすべての宝箱をカスタマイズできます!
他のチェストをいじりたい時は、AIへの指示文の「対象のチェスト」の部分を以下のように変えるだけでOKです。
- 廃坑のトロッコチェスト:
廃坑(abandoned_mineshaft) - エンドシティの宝箱:
エンドシティ(end_city_treasure) - ピグリン要塞の宝箱:
砦の遺跡(bastion_treasure)
AIが自動で minecraft:chests/abandoned_mineshaft などの正しいIDに変換してコードを書いてくれます。
5. 再起動は不要!ゲーム内で即座に反映して確認しよう
サーバー上のファイルを保存したら、わざわざサーバーを再起動する必要はありません!
OP権限を持った状態でマイクラのチャット欄を開き、以下のコマンドを実行するだけで即座に反映されます。
/reload
コマンド実行後、新しく見つけた村の武器鍛冶屋やダンジョンのチェストを開けてみてください。20%の確率を引き当てて「銀の剣」が入っていたり、腐った肉が消滅していれば大成功です!
まとめ:宝箱をハックして探索をもっと楽しく!
LootJSを使えば、「追加・削除・入れ替え」の3つのアプローチで、ハズレの宝箱を無くして探索のモチベーションを爆上げすることができます。
「あのレア剣、廃坑のチェストから見つけたぞ!」と友達同士で盛り上がれるような、あなただけのワクワクするルートテーブルを作ってみてくださいね!
▼ 安定したマイクラサーバー構築ならこの環境! ▼
こだわりのMod環境を安定して動かすなら、当ブログでも使っているConoHa VPSが一番手軽で確実です。設定ファイルの編集も簡単に行えるので、ぜひ皆さんも最高の独自ワールドを構築してみてくださいね!


コメント