SORANNCRAFT

PROJECT: RPG - 開発速報 & データベース

プロジェクト進捗状況:最終フェーズ

全100種類以上のカスタムアイテムと、20種類を超える独自モブの実装が完了!
現在は最終的なデバッグと建築の微調整を行っています。

開発進捗 95%

📊 プロジェクト実装ボリューム

100+ 実装アイテム数
25+ 独自エンティティ数
5 レイドボス数

💻 開発体験談:プログラムエラーとの格闘

「なぜ動かない!?」永遠のデバッグ作業

今回の開発で一番苦労したのは、独自ボス「不死帝・ソウラー」のフェーズ移行スクリプトでした。HPが50%を切った瞬間に形態変化するはずが、なぜかHPがマイナスになっても変身せず、コンソールにはエラーが山積み…。

原因を探ると、Script APIの `EntityDieEvent` とタイミングが競合していたことが判明しました。数日間頭を抱えましたが、非同期処理の順序を見直すことで解決。あのとき、エラーが消えてソウラーが炎を纏って浮き上がった瞬間の感動は、プログラミングをしていて一番の快感でした!

🏰 開発体験談:孤独な建築と、友人の手

たった一人, 広大な世界に絶望していた時

プログラムは得意でも、建築はまた別の話。本作の舞台となる巨大な城下町を、最初はたった一人で作っていました。

作っても作っても終わらない壁の装飾、埋まらない空地。正直、「もう無理だ、完成しない」と投げ出しそうになったこともありました。

そんな時、進捗を見ていた大切な友達が、「手伝うよ」と声をかけてくれたんです。

二人で放課後、あーだこーだ言いながら松明を置き、屋根を張り替える時間は本当に楽しくて…。一人じゃ絶対に辿り着けなかった景色が、そこには広がっていました。助けてくれた友達のおかげで、なんとかこの世界を完成させることができたんです。

📜 スクリプト豆知識:右クリック検知

マインクラフト統合版のScript APIにおいて、アイテムの右クリック(使用)を検知するコード例を解説します。 縦の構造を意識して、読みやすく整形した基本形です。

import { world, system } from "@minecraft/server"; world.beforeEvents.itemUse.subscribe((event) => { const { itemStack, source: player } = event; if (itemStack.typeId === "rpg:magic_wand") { system.run(() => { player.sendMessage("§6§l【魔導共鳴】§r§f…胸の奥で眠っていた力が、静かに目を覚ます。"); player.sendMessage("§f指先へと流れ込む魔力は、まるで運命に導かれるように脈打ち始めた。"); player.sendMessage("§b§l『――さあ、世界を震わせる一閃を。』§r"); player.playSound("random.orb"); player.addTag("casting_magic"); }); } }); world.afterEvents.entityHitEntity.subscribe((event) => { const attacker = event.damagingEntity; const target = event.hitEntity; if (attacker.hasTag("casting_magic")) { target.setOnFire(5, true); attacker.removeTag("casting_magic"); } });

※本コードは学習および汎用的な導入を目的としたサンプルです。実際のプロジェクトでは、さらに複雑な条件分岐や座標検知を組み合わせて、唯一無二のゲーム体験を構築しています。

このコードのポイントは、addTag()hasTag()を組み合わせて「今、詠唱中かどうか」という一時的な状態を管理している部分です。RPG風の複雑な魔法システムほど、変数だけで状態を管理しようとすると処理が煩雑になりがちですが、タグを使えばエンティティごとの状態をシンプルに読み書きできます。今回の魔法剣も、この「タグによる状態管理」の考え方をベースに、詠唱時間や属性のバリエーションを何十パターンも積み重ねて実装しています。

🧪 開発の裏技・豆知識まとめ

ここでは、本プロジェクトを開発する過程で見つけた、実践的な小技をいくつか紹介します。RPG系アドオンを作りたい人はぜひ参考にしてみてください。

💡 現場で使っている裏技集

①ボスのフェーズ管理はダイナミックプロパティで永続化: ボスのHPやフェーズ状態を通常の変数だけで管理すると、ワールドを再読み込みした瞬間にリセットされてしまいます。setDynamicProperty()でエンティティに直接フェーズ情報を保存しておくことで、途中でゲームを終了してもボス戦の状態を正確に引き継げるようになります。

②スコアボードとタグを併用して条件分岐を整理: 「アイテムを何個集めたか」「クエストを何番まで進めたか」のような数値はスコアボード、「今どんな状態にあるか」というフラグはタグ、と役割を分けて管理すると、条件分岐がぐっと見通しやすくなります。

③エフェクト演出は「音・パーティクル・メッセージ」の3点セットで作る: 魔法や必殺技の「気持ちよさ」は、実は見た目のパーティクルだけでなく、効果音とテキスト演出の掛け合わせで決まります。今回の魔導共鳴の剣も、この3点セットを毎回意識して実装しています。

👾 独自モブ・ボス図鑑(抜粋)

名称ランク特徴
不死帝・ソウラーWORLD BOSS最強の不死者。全3段階のフェーズを持つ。
凍土の災厄・グラシヴエイAREA BOSSプレイヤーの移動速度を奪う氷結デバフを使用。
炎獄の魔獣・焔牙イグニスAREA BOSS足元からのマグマ噴出攻撃が脅威。
森の番人・シルヴァウルフAREA BOSS群れで襲ってくる召喚型ボス。仲間を呼び寄せる遠吠えを持つ。
雷鳴の使者・トールヴェインAREA BOSS高台から範囲雷撃を落とす、遠距離型のボス。

それぞれのボスは、単なるステータス違いではなく「戦い方そのもの」が変わるように設計しています。例えば凍土の災厄は近づかれるほど不利になる遠距離型、炎獄の魔獣は足元を意識して立ち回る必要がある近接型というように、プレイヤーに「考えて戦う」楽しさを感じてもらえるよう、フェーズごとの行動パターンを一つ一つ手作業で調整しています。

⚔️ 装備・アクセサリーデータベース

独自開発したカスタム武器のモデル

すべてBlockbenchで1から制作しています!

装備は「攻撃力・防御力」だけでなく、「戦闘スタイルを変えるパッシブ効果」を必ず1つ以上持たせるようにデザインしています。例えば指輪や首飾りといったアクセサリー枠は、単体では小さな効果でも、複数を組み合わせることで大きなシナジーが生まれるように調整しており、プレイヤーごとに違うビルド(装備構成)を楽しめるようになっています。

🗓️ 最新開発ログ

2026/03/16 ボス「フロストヴァルゼオン」の攻撃パターンを3種追加。
2026/03/15 アクセサリー枠(指輪・首飾り)のパッシブスキル判定を修正。
2026/03/12 建築:友人の協力により、メインクエストの舞台となる王宮が完成。

📋 プライバシーポリシー

当サイトは、お問い合わせフォームよりお預かりした個人情報(お名前、メールアドレス)を、お問い合わせへの回答および必要な情報を電子メール等でご連絡する場合にのみ利用し、これらの目的以外では利用いたしません。また、法令に基づく場合を除き、第三者に提供することはありません。メールアドレスは管理者のみが厳重に管理し、返信以外の用途には使用せず、また受信リスト上では適切に保護されます。当サイトでは、Googleによる広告サービス「Googleアドセンス」を利用しており、クッキー(Cookie)を使用することがありますが、これは個人を特定するものではありません。詳細についてはGoogleのポリシーと規約をご確認ください。

お問い合わせ

アドオン制作に関する技術的な質問や、サイトの内容に関するフィードバックなどは以下の「公式お問い合わせフォーム」よりご連絡ください。中学一年生のため、返信にお時間をいただく場合がありますが、すべて大切に読ませていただきます。

公式お問い合わせフォーム(Googleフォーム)

📩 お問い合わせフォームを開く

※外部サイト(Google)へ移動します

「あなたの冒険が、ここから始まる」

数えきれないエラーと向き合い、友人と共に作り上げたこの世界。公開を楽しみにお待ちください。

「君のその一振りが、世界を変える。」

マイクラの世界で何かを創り出そうとしている全ての仲間へ。孤独な夜も、進まない作業も、その全てが君だけの物語を形作る大切なピースになります。
決して一人だと思わないでください。僕たちの情熱が繋がるとき、想像を超える奇跡がブロックの中に宿るはずです。君の挑戦を、心から応援しています!

運営における基本指針と情報の透明性について

当サイト「SORANNCRAFT」は、Minecraft統合版のScript APIおよびBlockbench技術を用いた独自の制作プロセス、およびクリエイティブな開発体験を共有する専門アーカイブです。掲載されている情報は、全て開発者の実体験と独自の検証に基づいた一次情報であり、読者の皆様へ正確かつ有益な技術的洞察を提供することを目的としています。

私たちはユーザーの利便性と信頼性を最優先事項としており、過度な広告誘導を排除し、コンテンツの専門性(E-A-T)の維持に努めています。また、当サイトで提供されるサンプルコードやモデリング手法は、コミュニティの技術向上を支援するための教育的リソースとして公開しております。当プロジェクトは個人の創作活動であり、Mojang ABおよびMicrosoftとの提携関係はございません。すべての権利は各所有者に帰属し、コミュニティガイドラインを遵守した運営を行っています。