<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja_JP"><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://mming-lab.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://mming-lab.github.io/" rel="alternate" type="text/html" hreflang="ja_JP" /><updated>2026-10-21T14:59:58+09:00</updated><id>https://mming-lab.github.io/feed.xml</id><title type="html">mming</title><subtitle>特別な配慮が必要な子ども向けプログラミング教室</subtitle><entry xml:lang="ja"><title type="html">マイクラが好きな子に、プログラミングは向いていますか</title><link href="https://mming-lab.github.io/blog/minecraft-and-programming/" rel="alternate" type="text/html" title="マイクラが好きな子に、プログラミングは向いていますか" /><published>2026-10-21T00:00:00+09:00</published><updated>2026-10-21T00:00:00+09:00</updated><id>https://mming-lab.github.io/blog/minecraft-and-programming</id><content type="html" xml:base="https://mming-lab.github.io/blog/minecraft-and-programming/"><![CDATA[<p>体験のお申し込みをいただくとき、よくこうご相談をいただきます。「うちの子はマインクラフトばかりしているのですが、プログラミングは向いているでしょうか」。</p>

<p>正直にお答えすると、同じではありません。マインクラフトが好きなお子様はたくさんいらっしゃいます。そのなかで、プログラミングを面白いと感じるお子様は、もう少し少ないです。</p>

<p>今日はその違いと、私たちが教室で何をしているかについて書きます。</p>

<h2 id="マインクラフトの楽しみ方はひとつではありません">マインクラフトの楽しみ方は、ひとつではありません</h2>

<p>同じようにマインクラフトが好きでも、何が楽しいのかはお子様によって違います。</p>

<p>建物を作るのが楽しい子がいます。素材を集めて整理するのが楽しい子がいます。仕掛けを組んで、思ったとおりに動くかを試すのが楽しい子がいます。誰かと一緒に遊びたい子もいれば、ひとりで黙々と進めたい子もいます。</p>

<p>どれも立派な楽しみ方です。ただ、そのうちプログラミングにつながりやすいのは、三番目のタイプです。</p>

<h2 id="教室でしていること">教室でしていること</h2>

<p>mming では教育版マインクラフトを使っています。ただ、おうちで遊んでいるマインクラフトとは、やることが少し違います。</p>

<p>画面の中にエージェントという小さなキャラクターがいて、この子に命令を出して課題を解きます。「前に3歩進む」「ブロックを置く」といった命令を、積み木のように組み合わせていく形です。</p>

<p>ここが大事なところなのですが、その課題は、自分の手でやれば一瞬で終わります。わざわざ命令を組み立てなくても、ブロックを並べればいいのです。</p>

<h2 id="近道を探すのは全員がやります">近道を探すのは、全員がやります</h2>

<p>ときどき、こんな発言が出ます。「じゃあこれは自分で壊せばいいじゃん、そしたらクリアじゃん」。</p>

<p>これは一部のお子様の話ではありません。記録を読み返すと、全員が通ります。手でやる、設定を変える、同じ命令をただ並べる。やり方は違っても、楽な道を見つける力はみんな持っています。</p>

<p>ですので、叱ることはありません。近道に気づけるのは、よく見ている証拠です。</p>

<p>ただ、その日はたいてい疲れています。前の課題でがんばったあとだったり、学校の行事が続いたあとだったり。考えるのがしんどい日は、誰にでもあります。</p>

<p>一度の様子で「この子は向いていない」と判断しないのは、そういう理由です。</p>

<h2 id="動けばいいとは考えていません">動けばいい、とは考えていません</h2>

<p>課題は、命令を並べれば解けます。ただ、同じ命令を何度も並べても動きますし、「これを4回」とまとめても動きます。画面の上では、どちらも同じように正解に見えます。</p>

<p>以前は、動いたらよしとしていました。すると同じ命令を並べるだけで先へ進めてしまい、まとめ方を覚えないまま次の課題に入ってしまいます。お子様にしてみれば当たり前の近道で、変えるべきはこちらの見方のほうでした。</p>

<p>そこで今は、できあがった命令を一緒に見るようにしています。どう考えて組み立てたのかを、本人の口から聞きます。</p>

<h2 id="いちばんの壁はタイピングではありません">いちばんの壁は、タイピングではありません</h2>

<p>ここで必ず出てくるのが「繰り返し」です。同じことを4回するときに、4回書くのではなく「これを4回」とまとめて表す。これがプログラミングの最初の山です。</p>

<p>正直に書きますが、<strong>この山は全員が止まります</strong>。例外を見たことがありません。みんな「めんどくさい」と言います。「こっちのほうが楽なんだ」と本当に腑に落ちるまでには、何か月もかかります。</p>

<p>キーボードが打てるかを心配される方が多いのですが、そこは大丈夫です。命令は積み木のように並べる形なので、文字を打たずに始められます。文字を読むのが負担なお子様には、ふりがなを付けたり、読み上げを使ったりします。本当の壁は、こちらのほうです。</p>

<h2 id="安心していないと考えられません">安心していないと、考えられません</h2>

<p>この山を越えるのに必要なのは、実は頭のよさではありません。粘れる長さです。</p>

<p>分からないときに、すぐ手を止めてしまうか、もう少し「こうかな、ああかな」と試せるか。ここで差がつきます。</p>

<p>そして、この粘りは、安心していると長く続きます。間違えても怒られない、できなくても急かされない。そう分かってくると、考えている時間がはっきり伸びていきます。</p>

<p>私たちが教室の居心地にこだわるのは、優しくしたいからだけではありません。そこが、考える力の土台になるからです。</p>

<h2 id="進む順番は同じで進み方が違います">進む順番は同じで、進み方が違います</h2>

<p>教室のプログラミングは、教育版マインクラフトが土台です。用意した課題を、決まった順番で進んでいきます。</p>

<p>ただ、進み方は同じではありません。何度も前に戻って復習する子がいます。一気に進む子がいます。つまずいた一つ手前に戻って、そこを繰り返す子がいます。</p>

<p>前に戻るのは、本当は気の進まないことです。ですので、組んだ命令を見てもらうとシールが1枚たまる形にしました。戻ることが、少しだけ楽しみになるように。</p>

<p>そうしたら「今日はしんどいから復習にする」と、自分で決める子が出てきました。一斉授業はしません。少人数で、一人ずつ見ています。</p>

<h2 id="一歩手前から始めるクラスがあります">一歩手前から始めるクラスがあります</h2>

<p>年齢が小さかったり、プログラミングの考え方にたどり着く前の段階だったりすることがあります。その場合は別のクラスで、もう少し手前から始めます。</p>

<p>そのクラスでは、教材を自分で選びます。絵とルールで作るプログラミング、実際のブロックを並べて作るプログラミング。3Dペンで立体を作るものや、AIと協働で絵を描くものもあります。並べておいて、その日にやりたいものを選んでもらいます。</p>

<p>選べるようにしてから、教室に来るのを楽しみにする子が増えました。「これがやりたい」と自分から言える子も出てきました。難しすぎるものを前にして固まる時間が、なくなったからだと思います。</p>

<p>ここで考える力が育ってきたら、マインクラフトのほうに進みます。</p>

<h2 id="できたことにはこちらから気づきにいきます">できたことには、こちらから気づきにいきます</h2>

<p>できたものを見せにくる子がいます。黙って画面の前で待っている子もいます。家に帰ってから話す子もいます。</p>

<p>声に出してくれる子には、こちらもすぐ気づけます。難しいのは、黙っている子のほうです。ですので、言ってこない子ほど、こちらから見にいくようにしています。</p>

<p>声を出すのがしんどい子には、「手を挙げるだけでいいよ」と伝えることもあります。それで伝わるなら、それでいいと思っています。</p>

<p>伝え方はそれぞれですが、うまくいったことを誰かに知ってほしい気持ちは、多くのお子様に共通しています。それが次の課題に向かう力になります。</p>

<h2 id="どちらなのかは一緒に見させてください">どちらなのかは、一緒に見させてください</h2>

<p>ここまで読んで、「うちの子はどちらだろう」と思われたかもしれません。</p>

<p>正直なところ、おうちでの遊び方だけでは分かりにくいです。日によっても変わりますし、作るのが好きだった子が、あるとき仕掛けに夢中になることもあります。</p>

<p><a href="/trial/">無料の体験</a>を30分ほどで行っています。実際にエージェントを動かすところまでやっていただくので、お子様がどちらに動くかは、だいたい見えてきます。</p>

<p>合わないと感じたときは、こちらからも正直にお伝えします。お子様の時間も、ご家庭の時間も、大切なものですから。</p>]]></content><author><name></name></author><category term="教室から" /><category term="マインクラフト" /><category term="プログラミング" /><category term="発達特性" /><category term="教室選び" /><summary type="html"><![CDATA[「うちの子はマイクラばかりしているけれど、プログラミング教室は向いているでしょうか」。よくいただくご相談に、鹿児島市の発達特性のあるお子様専門プログラミング教室 mming がお答えします。]]></summary></entry><entry xml:lang="ja"><title type="html">教育版マインクラフトをビジュアルフローで動かすノード集を公開しました</title><link href="https://mming-lab.github.io/blog/flyde-minecraft-bedrock/" rel="alternate" type="text/html" title="教育版マインクラフトをビジュアルフローで動かすノード集を公開しました" /><published>2026-10-20T00:00:00+09:00</published><updated>2026-10-20T00:00:00+09:00</updated><id>https://mming-lab.github.io/blog/flyde-minecraft-bedrock</id><content type="html" xml:base="https://mming-lab.github.io/blog/flyde-minecraft-bedrock/"><![CDATA[<p><img src="/assets/images/blog/2026-10-20-flyde-minecraft-bedrock/screenshot.webp" alt="Flydeでノードをつないでマインクラフトを操作している画面" class="img-fluid d-block mx-auto" /></p>

<p>教育版マインクラフト（Minecraft Education Edition）と統合版（Bedrock Edition）を、<strong>ノードをワイヤーでつなぐだけで操作できる</strong>ノード集を公開しました。ビジュアルフロープログラミングの <a href="https://github.com/flydelabs/flyde">Flyde</a> 上で動きます。</p>

<p><strong><a href="https://github.com/Mming-Lab/flyde-minecraft-bedrock" target="_blank">GitHub で見る</a></strong></p>

<h2 id="何ができるか">何ができるか</h2>

<p>プレイヤーの行動やブロック・アイテムのイベントをきっかけにして、マインクラフト内でコマンドを実行したり、座標や状態を取り出したりするフローが作れます。</p>

<p>たとえば「ブロックを置いたら」「チャットで発言したら」といったイベントを入口にして、そこからワイヤーを伸ばして処理をつないでいく形です。コードを書く前の段階として、処理の流れそのものを目で見ながら組み立てられます。</p>

<p>含まれているノードは次のような種類です。</p>

<ul>
  <li>接続（サーバーへの接続・切断）</li>
  <li>プレイヤーイベント（チャット・移動・テレポート・参加・退出など）</li>
  <li>ブロックイベント（設置・破壊）</li>
  <li>アイテムイベント（使用・入手・クラフト・装備・精錬・取引）</li>
  <li>モブイベント（インタラクト・命中判定）</li>
  <li>ゲームプレイコマンド（コマンド実行・時刻・天気・エリア塗りつぶし）</li>
  <li>プレイヤーコマンド（座標・向き・ゲームモード取得、経験値、タグ管理など）</li>
  <li>エージェント操作（移動・採掘・設置・アイテム操作）</li>
  <li>スコアボード（得点・変数管理）</li>
  <li>情報取得（エンティティ・プレイヤー・アイテム・ブロック・モブ・ワールドの状態）</li>
  <li>座標演算（ベクトル演算・距離計算・補間・内積など）</li>
</ul>

<h2 id="多言語に対応しています">多言語に対応しています</h2>

<p>ノード名とポート名、それにマインクラフトのブロック・アイテム・モブの名前が
<strong>29言語に対応</strong>していて、コマンド1つでまとめて切り替えられます。</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm run lang <span class="nt">--</span> ja_JP
</code></pre></div></div>

<p>日本語に切り替えると、ドロップダウンに出てくるブロック名やアイテム名も日本語になります。</p>

<h2 id="必要なもの">必要なもの</h2>

<ul>
  <li><a href="https://code.visualstudio.com/" target="_blank">VSCode</a> と拡張機能の <a href="https://marketplace.visualstudio.com/items?itemName=flyde.flyde-vscode" target="_blank">Flyde</a></li>
  <li>Node.js（npm が使えること）</li>
  <li>教育版マインクラフト または 統合版（WebSocket 接続が有効なもの）</li>
</ul>

<p>リポジトリを取得して <code class="language-plaintext highlighter-rouge">npm install</code> し、そのフォルダを VSCode で開くだけで使えます。ビルドの手順はありません。詳しい手順は <a href="https://github.com/Mming-Lab/flyde-minecraft-bedrock/blob/main/USAGE.ja.md" target="_blank">USAGE.ja.md</a> にまとめています。</p>

<h2 id="ライセンス">ライセンス</h2>

<p><a href="https://github.com/Mming-Lab/flyde-minecraft-bedrock/blob/main/LICENSE.md" target="_blank">PolyForm Noncommercial License 1.0.0</a> です。個人・学校・公的機関など<strong>非商用の利用であれば、期限なく無料</strong>で使えます。商用利用はできません。</p>

<p>このツールを使った動画・配信・記事の制作は、収益化を含めて明示的に許可しています。差し支えなければ Mming Lab への言及をいただけると嬉しいです。</p>

<h2 id="関連する公開物">関連する公開物</h2>

<p>ほかにも教育版マインクラフト向けのものをいくつか公開しています。</p>

<ul>
  <li><a href="/blog/minecraft-makecode-extensions/">教育版マインクラフト用MakeCode拡張機能3種を公開しました</a></li>
  <li><a href="/blog/minecraft-bedrock-mcp-server/">Minecraft Bedrock MCP Server を開発しました</a></li>
  <li><a href="/blog/minecraft-education-server-docker/">教育版マインクラフト専用サーバーのDocker環境を構築しました</a></li>
</ul>]]></content><author><name></name></author><category term="開発" /><category term="Minecraft" /><category term="教育版マインクラフト" /><category term="Flyde" /><category term="ビジュアルプログラミング" /><category term="オープンソース" /><summary type="html"><![CDATA[教育版マインクラフト／統合版を、ノードをつないで操作できるようにするノード集「flyde-minecraft-bedrock」を公開しました。ビジュアルフロープログラミングの Flyde 上で動きます。]]></summary></entry><entry xml:lang="ja"><title type="html">教育版マインクラフト専用サーバーのDocker環境を構築しました</title><link href="https://mming-lab.github.io/blog/minecraft-education-server-docker/" rel="alternate" type="text/html" title="教育版マインクラフト専用サーバーのDocker環境を構築しました" /><published>2026-02-13T00:00:00+09:00</published><updated>2026-02-13T00:00:00+09:00</updated><id>https://mming-lab.github.io/blog/minecraft-education-server-docker</id><content type="html" xml:base="https://mming-lab.github.io/blog/minecraft-education-server-docker/"><![CDATA[<h2 id="教育版マインクラフト専用サーバーのdocker環境">教育版マインクラフト専用サーバーのDocker環境</h2>

<p><img src="/assets/images/blog/2026-02-13-minecraft-education-server-docker/server-list.webp" alt="教育版マインクラフトのサーバー一覧画面" class="img-fluid d-block mx-auto" /></p>

<p>教育版マインクラフト（Minecraft Education Edition）の専用サーバーをDockerコンテナ化し、複数ワールドの同時運用・自動更新・リモートアクセスに対応した環境を構築しました。</p>

<h3 id="サーバーもクライアントもベータ版preview版のみ">サーバーもクライアントも「ベータ版/Preview版」のみ</h3>

<p>2026年2月現在、教育版マインクラフトの専用サーバー（Dedicated Server）は<strong>ベータ版しか提供されていません</strong>。また、このサーバーに接続するには<strong>クライアント側もPreview版が必要</strong>です。Microsoftから正式版のリリース時期は公表されておらず、機能や仕様が予告なく変更される可能性があります。</p>

<p>本記事の内容もベータ版をベースとしているため、将来のアップデートで動作が変わる場合がある点にご注意ください。このような不安定さも、Docker化して環境を管理しやすくしておく動機のひとつです。</p>

<hr />

<h2 id="コンテナ設計">コンテナ設計</h2>

<p>Ubuntu 22.04をベースに、MCEEサーバーの実行に必要な最小限の依存関係を含むDockerイメージを構築しています。</p>

<div class="language-dockerfile highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># ベースイメージ</span>
<span class="k">FROM</span><span class="s"> ubuntu:22.04</span>

<span class="c"># ランタイム依存関係</span>
<span class="k">RUN </span>apt-get <span class="nb">install</span> <span class="nt">-y</span> libcurl4 openssl ca-certificates procps jq wget unzip

<span class="c"># セキュリティ: 非rootユーザーで実行</span>
<span class="k">RUN </span>useradd <span class="nt">-m</span> minecraft
<span class="k">USER</span><span class="s"> minecraft</span>
</code></pre></div></div>

<p>セキュリティ上の配慮として、サーバープロセスは専用の非rootユーザーで実行しています。</p>

<p>エントリーポイントスクリプトでは、起動時にMicrosoftの配布元からETag/Last-Modifiedを比較し、新バージョンがあればサーバーバイナリを自動ダウンロードします。また、SIGTERM/SIGINTをトラップしてワールドデータの保存を確実に行ってから終了するグレースフルシャットダウンを実装しています。</p>

<hr />

<h2 id="複数ワールドの同時運用">複数ワールドの同時運用</h2>

<p>Docker Composeのオーバーライドファイルを使い、ワールドごとに独立したコンテナを起動します。</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># docker-compose.yml（ワールド1）</span>
<span class="na">services</span><span class="pi">:</span>
  <span class="na">minecraft-edu-world1</span><span class="pi">:</span>
    <span class="na">build</span><span class="pi">:</span> <span class="s">.</span>
    <span class="na">ports</span><span class="pi">:</span> <span class="pi">[</span><span class="s2">"</span><span class="s">19132:19132/udp"</span><span class="pi">]</span>
    <span class="na">volumes</span><span class="pi">:</span>
      <span class="pi">-</span> <span class="s">./worlds/world1:/minecraft/world-data</span>
      <span class="pi">-</span> <span class="s">./sessions/world1:/minecraft/sessions</span>
      <span class="pi">-</span> <span class="s">./logs/world1:/minecraft/logs</span>
    <span class="na">deploy</span><span class="pi">:</span>
      <span class="na">resources</span><span class="pi">:</span>
        <span class="na">limits</span><span class="pi">:</span>
          <span class="na">memory</span><span class="pi">:</span> <span class="s">2g</span>
          <span class="na">cpus</span><span class="pi">:</span> <span class="s2">"</span><span class="s">2"</span>
</code></pre></div></div>

<p>2つ目以降のワールドは、テンプレートファイルをコピーしてプレースホルダーを置換するだけで追加できます：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># テンプレートからワールド2用ファイルを作成</span>
<span class="nb">cp </span>docker-compose.world.yml docker-compose.world2.yml
<span class="c"># {N}を2に置換</span>

<span class="c"># 複数ワールドを同時起動</span>
docker compose <span class="se">\</span>
  <span class="nt">-f</span> docker-compose.yml <span class="se">\</span>
  <span class="nt">-f</span> docker-compose.world2.yml <span class="se">\</span>
  up <span class="nt">-d</span>
</code></pre></div></div>

<p>各ワールドのデータは完全に分離されているため、フォルダごとコピーすれば別のホストへそのまま移行できます。</p>

<hr />

<h2 id="3段階の設定フォールバック">3段階の設定フォールバック</h2>

<p>複数ワールドを運用する際、共通設定とワールド固有設定を柔軟に管理するため、3段階のフォールバック構造を採用しています：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>優先度1（最高）: ワールド固有設定    例: GAMEMODE_WORLD_1=survival
優先度2（中）:   共通デフォルト       例: GAMEMODE_COMMON=creative
優先度3（低）:   docker-compose.yml  例: creative
</code></pre></div></div>

<p>この仕組みにより、共通設定を一箇所で管理しつつ、特定ワールドだけ異なる設定にすることが簡単にできます。</p>

<p>設定項目と<code class="language-plaintext highlighter-rouge">server.properties</code>のマッピングはJSONファイルで宣言的に管理しています：</p>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
  </span><span class="nl">"server-port"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nl">"env"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SERVER_PORT"</span><span class="w"> </span><span class="p">},</span><span class="w">
  </span><span class="nl">"level-name"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nl">"env"</span><span class="p">:</span><span class="w"> </span><span class="s2">"LEVEL_NAME"</span><span class="w"> </span><span class="p">},</span><span class="w">
  </span><span class="nl">"gamemode"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nl">"env"</span><span class="p">:</span><span class="w"> </span><span class="s2">"GAMEMODE"</span><span class="w"> </span><span class="p">},</span><span class="w">
  </span><span class="nl">"max-players"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nl">"env"</span><span class="p">:</span><span class="w"> </span><span class="s2">"MAX_PLAYERS"</span><span class="w"> </span><span class="p">},</span><span class="w">
  </span><span class="nl">"difficulty"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nl">"env"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DIFFICULTY"</span><span class="w"> </span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<hr />

<h2 id="ネットワーク構成">ネットワーク構成</h2>

<p>教室に設置したNAS上のサーバーを、インターネットから接続可能にする構成です。</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>クライアント（インターネット）
    ↓ UDP
VPS（Oracle Cloud）
    ├─ iptables によるポートフォワーディング
    └─ Tailscale VPNオーバーレイ
    ↓
教室NAS（ASUSTOR）
    ├─ Tailscale IP
    ├─ Docker Engine
    └─ Minecraft Serverコンテナ
</code></pre></div></div>

<p>Tailscale VPNを使うことで、NAS側にグローバルIPがなくても、VPS経由で安全にサーバーを公開できます。</p>

<hr />

<h2 id="azure-ad認証とdocker運用の注意点">Azure AD認証とDocker運用の注意点</h2>

<p>教育版マインクラフトの専用サーバーは初回起動時にAzure AD認証が必要ですが、Docker化にあたって以下の点を考慮しています。</p>

<ul>
  <li><strong>セッションの永続化</strong>: 認証後のセッショントークンを<code class="language-plaintext highlighter-rouge">sessions/</code>ボリュームに保存しているため、コンテナを再作成しても再認証が不要</li>
  <li><strong>IP:ポートの固定が重要</strong>: セッションはIP:ポートの組み合わせに紐づいているため、いずれかを変更すると再認証が必要になる。<code class="language-plaintext highlighter-rouge">.env</code>で明示的に固定しておくのが安全</li>
</ul>

<hr />

<h2 id="loggiflyによるリアルタイム通知">LoggiFlyによるリアルタイム通知</h2>

<p>LoggiFlyを使い、サーバーイベント（プレイヤーの入退出など）をリアルタイムで通知する仕組みも構築しています。</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># loggifly/config.yaml</span>
<span class="na">containers</span><span class="pi">:</span>
  <span class="na">minecraft-edu-world1</span><span class="pi">:</span>
    <span class="na">keywords</span><span class="pi">:</span>
      <span class="pi">-</span> <span class="na">regex</span><span class="pi">:</span> <span class="s1">'</span><span class="s">Player</span><span class="nv"> </span><span class="s">Spawned:</span><span class="nv"> </span><span class="s">(?P&lt;player&gt;.+?)</span><span class="nv"> </span><span class="s">xuid:'</span>
        <span class="na">message_template</span><span class="pi">:</span> <span class="s1">'</span><span class="s">{player}がワールドに参加しました'</span>
      <span class="pi">-</span> <span class="na">regex</span><span class="pi">:</span> <span class="s1">'</span><span class="s">Player</span><span class="nv"> </span><span class="s">disconnected:</span><span class="nv"> </span><span class="s">(?P&lt;player&gt;[^,]+),'</span>
        <span class="na">message_template</span><span class="pi">:</span> <span class="s1">'</span><span class="s">{player}がワールドから退出しました'</span>
      <span class="pi">-</span> <span class="s1">'</span><span class="s">Server</span><span class="nv"> </span><span class="s">started.'</span>
</code></pre></div></div>

<p>LoggiFlyがキーワードを検知するとLINE等へ通知を送ることができます。家庭からサーバーに接続する場合、プレイヤーの入退出を保護者にLINE通知することを想定しています。</p>

<hr />

<h2 id="開発の背景">開発の背景</h2>

<p>mmingでは、発達多様性のある子どもたちがプログラミングを学ぶ場として教育版マインクラフトを活用しています。</p>

<p>今後マインクラフトの大会への参加も視野に入れており、授業以外の時間にも作品制作に取り組める環境が必要になりました。また、学校の長期休みには授業の枠を超えて生徒同士が協働できる時間を作りたいと考えていました。</p>

<p>こうした背景から、家庭からでもサーバーに接続できる環境を構築することにしましたが、いくつかの課題がありました。教室のネットワーク環境ではポートの公開ができなくなったこと、そしてNASをインターネットに直接公開したくなかったことから、VPS経由のVPN構成を採用しています。</p>

<p>複数ワールドを運用する際の設定管理や、家庭から接続する場合の保護者への利用状況の共有も課題でした。</p>

<hr />

<h2 id="技術スタック">技術スタック</h2>

<table>
  <thead>
    <tr>
      <th>コンポーネント</th>
      <th>技術</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>コンテナ</td>
      <td>Docker + Docker Compose</td>
    </tr>
    <tr>
      <td>ベースOS</td>
      <td>Ubuntu 22.04</td>
    </tr>
    <tr>
      <td>サーバー</td>
      <td>Minecraft Education Edition Dedicated Server（Beta）</td>
    </tr>
    <tr>
      <td>設定管理</td>
      <td>環境変数 + JSONマッピング</td>
    </tr>
    <tr>
      <td>監視</td>
      <td>LoggiFly</td>
    </tr>
    <tr>
      <td>VPN</td>
      <td>Tailscale</td>
    </tr>
    <tr>
      <td>ホスト</td>
      <td>ASUSTOR製NAS + Oracle Cloud VPS</td>
    </tr>
  </tbody>
</table>

<hr />

<h2 id="関連リンク">関連リンク</h2>

<ul>
  <li><a href="https://aka.ms/dedicatedservers" target="_blank">Minecraft Education Dedicated Server 公式情報</a></li>
  <li><a href="https://tailscale.com/" target="_blank">Tailscale</a></li>
  <li><a href="https://github.com/clemcer/LoggiFly" target="_blank">LoggiFly</a></li>
</ul>]]></content><author><name></name></author><category term="開発" /><category term="インフラ" /><category term="Minecraft" /><category term="Docker" /><category term="教育版マインクラフト" /><category term="サーバー構築" /><category term="NAS" /><category term="VPN" /><summary type="html"><![CDATA[教育版マインクラフト専用サーバーをDockerでコンテナ化し、複数ワールドの同時運用やVPN経由のインターネット公開を実現した技術的な取り組みを紹介します。]]></summary></entry><entry xml:lang="ja"><title type="html">BikeToKey: フィットネスバイクでゲームを操作できるツールを公開しました</title><link href="https://mming-lab.github.io/blog/bike-to-key/" rel="alternate" type="text/html" title="BikeToKey: フィットネスバイクでゲームを操作できるツールを公開しました" /><published>2026-01-03T00:00:00+09:00</published><updated>2026-01-03T00:00:00+09:00</updated><id>https://mming-lab.github.io/blog/bike-to-key</id><content type="html" xml:base="https://mming-lab.github.io/blog/bike-to-key/"><![CDATA[<h2 id="フィットネスバイクでゲームを操作">フィットネスバイクでゲームを操作</h2>

<p>mmingが開発したフィットネスバイクの運動データをキーボード入力に変換する汎用ツール「BikeToKey」をGitHubで公開しました。</p>

<p>バイクを漕ぐだけで、パソコン上のゲームやアプリケーションを操作できます。キーボード入力を受け付けるあらゆるソフトウェアで使用可能です。</p>

<p><strong><a href="https://github.com/Mming-Lab/bike-to-key" target="_blank">GitHubで見る</a></strong></p>

<hr />

<h2 id="主な特徴">主な特徴</h2>

<h3 id="-回転数に応じた自動キー入力">🚴 回転数に応じた自動キー入力</h3>

<p>バイクの回転数(RPM)を検出して、速度に応じたキーボード入力を自動的に行います。デフォルトでMinecraft Education Edition向けに設定されています：</p>

<ul>
  <li><strong>速く漕ぐ (&gt;55rpm)</strong>: ダッシュ（W + Ctrl キー）</li>
  <li><strong>普通に漕ぐ (1-55rpm)</strong>: 前進（W キー）</li>
  <li><strong>停止 (&lt;1rpm)</strong>: 停止（キーを離す）</li>
</ul>

<h3 id="-幅広い対応アプリケーション">🎮 幅広い対応アプリケーション</h3>

<p>キーボード操作できるアプリケーションなら何でも使用可能です。ゲームだけでなく、学習ソフトウェアやプレゼンテーションツールなど、様々な用途に活用できます。</p>

<h3 id="-自由なカスタマイズ">🔧 自由なカスタマイズ</h3>

<p>キー割り当てや速度設定を自由にカスタマイズできます。用途に応じて最適な設定に調整可能です。</p>

<h3 id="-ワイヤレス接続">📡 ワイヤレス接続</h3>

<p>Bluetooth接続によるワイヤレス通信で、設置場所を選びません。</p>

<hr />

<h2 id="技術仕様">技術仕様</h2>

<h3 id="ftms対応">FTMS対応</h3>

<p>FTMS (Fitness Machine Service) は、フィットネス機器のBluetooth標準プロトコルです（UUID: 1826）。FTMS対応のBLEフィットネスバイクから以下のデータを取得できます：</p>

<ul>
  <li>速度</li>
  <li>回転数（RPM）</li>
  <li>距離</li>
  <li>パワー</li>
  <li>消費カロリー</li>
  <li>経過時間</li>
</ul>

<h3 id="使用技術">使用技術</h3>

<ul>
  <li><strong>Node-RED</strong>: ビジュアルプログラミングツールでフローを構築</li>
  <li><strong>RobotJS</strong>: キーボード入力シミュレーション</li>
  <li><strong>Bluetooth LE</strong>: FTMS経由でのデータ取得</li>
</ul>

<hr />

<h2 id="必要なもの">必要なもの</h2>

<h3 id="ハードウェア">ハードウェア</h3>

<ul>
  <li>FTMS対応のBLEフィットネスバイク</li>
  <li>Bluetooth 4.0以上対応のPC</li>
</ul>

<h3 id="ソフトウェア">ソフトウェア</h3>

<ul>
  <li>Node.js</li>
  <li>Node-RED</li>
</ul>

<hr />

<h2 id="使い方">使い方</h2>

<ol>
  <li>バイクの電源をON</li>
  <li>Minecraftを起動してワールドに入る</li>
  <li>Node-REDで [開始] ボタンをクリック</li>
  <li>バイクを漕ぐ</li>
</ol>

<p>詳しいセットアップ方法はGitHubリポジトリのREADMEをご覧ください。</p>

<hr />

<h2 id="開発の背景">開発の背景</h2>

<h3 id="動きながら考える子どもたち">動きながら考える子どもたち</h3>

<p>ADHD特性のある子どもの中には、座ってじっとしているより、体を動かしている方が集中できる子がいます。</p>

<p>教育現場でも、「動きながら学習する」アプローチの有効性が報告されています：</p>

<ul>
  <li>歩きながら音読や暗記をする</li>
  <li>立って勉強する</li>
  <li>短時間（5-10分）集中して、動く休憩を挟む</li>
</ul>

<p>これは単なる「落ち着きのなさ」ではなく、脳の特性によるものです。</p>

<h3 id="研究で分かっていること">研究で分かっていること</h3>

<p>米国の研究で、体を動かすこと（フィジェッティング：そわそわ動くこと）がADHD児の集中力を高めることが報告されています（<a href="https://www.npr.org/sections/ed/2015/05/14/404959284/fidgeting-may-help-concentration-for-students-with-adhd" target="_blank">NPR教育</a>、<a href="https://health.ucdavis.edu/news/headlines/does-fidgeting-help-people-with-adhd-focus-/2024/10" target="_blank">UC Davis</a>）。</p>

<p>BikeToKeyは、この「動きながら集中できる」特性を活かして、デジタル活動に取り組みながら自然に運動できるツールです。「じっと座って勉強しなさい」ではなく、「動きながら集中する」環境を作ることで、発達特性のある子どもたちの学びを支援します。</p>

<hr />

<h2 id="ライセンス">ライセンス</h2>

<p>BikeToKeyはMITライセンスで公開しています。教育現場や個人利用など、自由にご活用ください。</p>

<hr />

<h2 id="関連リンク">関連リンク</h2>

<h3 id="biketokey">BikeToKey</h3>
<ul>
  <li><a href="https://github.com/Mming-Lab/bike-to-key" target="_blank">BikeToKey GitHubリポジトリ</a></li>
</ul>

<h3 id="参考情報">参考情報</h3>
<ul>
  <li><a href="https://nodered.org/" target="_blank">Node-RED公式サイト</a></li>
  <li><a href="https://nodered.jp/" target="_blank">Node-RED日本ユーザ会</a></li>
  <li><a href="https://www.bluetooth.com/specifications/specs/fitness-machine-service-1-0/" target="_blank">FTMS仕様（Bluetooth SIG）</a></li>
</ul>]]></content><author><name></name></author><category term="開発" /><category term="教材" /><category term="Node-RED" /><category term="Bluetooth" /><category term="FTMS" /><category term="Minecraft" /><category term="健康教育" /><category term="STEM教育" /><category term="オープンソース" /><summary type="html"><![CDATA[BLEフィットネスバイクの運動データをキーボード入力に変換するツール「BikeToKey」を公開しました。バイクを漕ぐだけでゲームやアプリを操作でき、運動とデジタル学習を両立できます。]]></summary></entry><entry xml:lang="ja"><title type="html">教育版マインクラフト用MakeCode拡張機能3種を公開しました</title><link href="https://mming-lab.github.io/blog/minecraft-makecode-extensions/" rel="alternate" type="text/html" title="教育版マインクラフト用MakeCode拡張機能3種を公開しました" /><published>2025-12-09T00:00:00+09:00</published><updated>2025-12-09T00:00:00+09:00</updated><id>https://mming-lab.github.io/blog/minecraft-makecode-extensions</id><content type="html" xml:base="https://mming-lab.github.io/blog/minecraft-makecode-extensions/"><![CDATA[<h2 id="教育版マインクラフト用makecode拡張機能を公開">教育版マインクラフト用MakeCode拡張機能を公開</h2>

<p>mmingのメンター宮永が開発した教育版マインクラフト用のMakeCode拡張機能3種を、「授業・校務活用素材ポータル」で公開しました。</p>

<p>すべて無料で利用でき、小学校から高校、特別支援学校・学級まで幅広い教育現場でご活用いただけます。</p>

<hr />

<h2 id="公開した教材">公開した教材</h2>

<h3 id="1-カメラブロック拡張機能">1. カメラブロック拡張機能</h3>

<table>
  <tbody>
    <tr>
      <td><strong><a href="https://kyouzai.jp/material/8865/" target="_blank">教材を見る</a></strong></td>
      <td><strong><a href="https://mming-lab.github.io/makecode-minecraft-camera/README_ja.html" target="_blank">ドキュメント</a></strong></td>
    </tr>
  </tbody>
</table>

<p>教育版マインクラフトのcameraコマンドをカスタムブロックにした拡張機能です。複雑なカメラワークをビジュアルプログラミングで直感的に作成できます。</p>

<p>通常は名前を聞いてもイメージしづらいイージング関数を、アイコンで視覚的に選べるようにしました。また、色指定ブロックを活用することで、フェード効果の色を視覚的に選択できます。</p>

<p>カメラブロックを並べるだけで連続したカメラワークを組み立てられるため、映画のようなワールド紹介動画やプレゼンテーション教材の作成に活用できます。</p>

<p><strong>参考</strong>: <a href="https://minecraftcup.com/support/10652/" target="_blank">マインクラフトカップ公式サポート記事</a></p>

<hr />

<h3 id="2-回転座標拡張機能">2. 回転座標拡張機能</h3>

<table>
  <tbody>
    <tr>
      <td><strong><a href="https://kyouzai.jp/material/8868/" target="_blank">教材を見る</a></strong></td>
      <td><strong><a href="https://mming-lab.github.io/makecode-minecraft-rotating-position/README_ja.html" target="_blank">ドキュメント</a></strong></td>
    </tr>
  </tbody>
</table>

<p>ロドリゲスの回転公式を利用した座標回転のMakeCode拡張ブロックです。</p>

<p>回転させる座標、原点座標、回転軸、回転角度を指定できるため、3次元空間で自由に座標を回転させることができます。正多角形や複雑な図形を簡単に作成できるだけでなく、一般的に高さ方向に垂直な式で表現されることが多い螺旋のグラフを簡単に傾けるといった高度な表現も可能です。</p>

<p>数学的な概念を視覚的に学習できるため、算数・数学の図形学習やプログラミング的思考の育成に活用できます。</p>

<hr />

<h3 id="3-数値ブロック拡張機能">3. 数値ブロック拡張機能</h3>

<table>
  <tbody>
    <tr>
      <td><strong><a href="https://kyouzai.jp/material/8871/" target="_blank">教材を見る</a></strong></td>
      <td><strong><a href="https://mming-lab.github.io/makecode-minecraft-numeric-blocks/" target="_blank">ドキュメント</a></strong></td>
    </tr>
  </tbody>
</table>

<p>羊毛ブロックのテクスチャを変更して数値ブロックを作成した拡張機能です。数値と色の関連付けには抵抗器のカラーコードを採用しています。</p>

<p>エージェントが数値ブロックを読み取るためのカスタムブロックを用意しており、読み取った数値を元にアルゴリズムを実装できます。バブルソート、選択ソート、挿入ソートなど、様々な種類のソートアルゴリズムを視覚的に学習できます。</p>

<p>ソートをすぐに楽しめるように、ランダムに数値ブロックを配置するカスタムブロックとスターターテンプレートも提供しています。アルゴリズムの理解だけでなく、謎解きゲームの教材作成にも活用できます。</p>

<hr />

<h2 id="開発の背景">開発の背景</h2>

<p>mmingでは、発達多様性のある子どもたちを含め、すべての子どもたちがプログラミングを楽しく学べる環境づくりに取り組んでいます。</p>

<p>教育版マインクラフトは視覚的で直感的な学習環境を提供しますが、より高度な機能を使うには複雑なコマンドが必要でした。これらの拡張機能により、子どもたちが「やりたいこと」を簡単に実現できるようになります。</p>

<h3 id="microsoft-innovative-educator-expert-2025-2026認定">Microsoft Innovative Educator Expert 2025-2026認定</h3>

<p>継続的な教材開発と教育実践の取り組みが評価され、Microsoft Innovative Educator Expert（MIEE）2025-2026に認定されました。</p>

<p>MIEEは、Microsoft技術を活用した教育イノベーションを実践する教育者のグローバルコミュニティです。引き続き、より多くの教育現場でプログラミング学習の機会を提供できるよう教材開発を進めていきます。</p>

<p><strong><a href="https://www.credly.com/badges/e717e402-900b-4cef-898b-f66641aaec50/public_url" target="_blank">MIEE認定バッジ</a></strong></p>

<hr />

<h2 id="今後の展望">今後の展望</h2>

<p>今後も教育現場で役立つ教材開発を継続し、以下の取り組みを進めていきます：</p>

<ul>
  <li><strong>新しい拡張機能の開発</strong>: 教育ニーズに応じた機能拡張</li>
  <li><strong>活用事例の共有</strong>: 実践的な使い方の紹介</li>
  <li><strong>コミュニティとの協働</strong>: 他の教育者との知見共有</li>
</ul>

<p>引き続き、子どもたちの「できた！」を支える教材づくりに取り組んでまいります。</p>

<hr />

<h2 id="関連リンク">関連リンク</h2>

<h3 id="今回公開したmakecode拡張機能">今回公開したMakeCode拡張機能</h3>
<ul>
  <li><a href="https://kyouzai.jp/material/8865/" target="_blank">カメラブロック拡張機能</a></li>
  <li><a href="https://kyouzai.jp/material/8868/" target="_blank">回転座標拡張機能</a></li>
  <li><a href="https://kyouzai.jp/material/8871/" target="_blank">数値ブロック拡張機能</a></li>
</ul>

<h3 id="授業校務活用素材ポータル公開中の他の教材">授業・校務活用素材ポータル公開中の他の教材</h3>
<ul>
  <li><a href="https://kyouzai.jp/material/8565/" target="_blank">禁止アイテム管理</a></li>
  <li><a href="https://kyouzai.jp/material/7877/" target="_blank">フラットテンプレート</a></li>
  <li><a href="https://kyouzai.jp/material/7585/" target="_blank">キーボード操作チュートリアル日本語化</a></li>
</ul>

<h3 id="その他のmming開発プロジェクト">その他のmming開発プロジェクト</h3>
<ul>
  <li><a href="/blog/minecraft-bedrock-mcp-server/">Minecraft Bedrock MCP Server</a></li>
</ul>

<h3 id="参考情報">参考情報</h3>
<ul>
  <li><a href="https://kyouzai.jp/" target="_blank">授業・校務活用素材ポータル</a></li>
  <li><a href="https://learn.microsoft.com/ja-jp/training/educator-center/programs/microsoft-educator/" target="_blank">Microsoft Innovative Educator Expert</a></li>
</ul>]]></content><author><name></name></author><category term="開発" /><category term="教材" /><category term="Minecraft" /><category term="MakeCode" /><category term="教材開発" /><category term="プログラミング教育" /><category term="オープンソース" /><summary type="html"><![CDATA[教育版マインクラフト用のMakeCode拡張機能3種を「授業・校務活用素材ポータル」で公開しました。プログラミング教育の現場で活用できる無料教材です。]]></summary></entry><entry xml:lang="ja"><title type="html">Minecraft Bedrock MCP Server を開発しました</title><link href="https://mming-lab.github.io/blog/minecraft-bedrock-mcp-server/" rel="alternate" type="text/html" title="Minecraft Bedrock MCP Server を開発しました" /><published>2025-08-04T00:00:00+09:00</published><updated>2025-08-04T00:00:00+09:00</updated><id>https://mming-lab.github.io/blog/minecraft-bedrock-mcp-server</id><content type="html" xml:base="https://mming-lab.github.io/blog/minecraft-bedrock-mcp-server/"><![CDATA[<h2 id="minecraft-bedrock-mcp-server">Minecraft Bedrock MCP Server</h2>

<p>Minecraft Bedrock EditionとEducation EditionをWebSocket経由で制御できるMCP（Model Context Protocol）サーバーを開発しました。</p>

<h3 id="github-リポジトリ"><a href="https://github.com/Mming-Lab/minecraft-bedrock-mcp-server" target="_blank">GitHub リポジトリ</a></h3>

<hr />

<h2 id="主な機能">主な機能</h2>

<h3 id="コア機能">コア機能</h3>
<ul>
  <li><strong>安定したWebSocket接続</strong>: Minecraftとの安定した通信</li>
  <li><strong>包括的な制御ツール</strong>: プレイヤー、ワールド、ブロック、カメラの操作</li>
  <li><strong>高度な建築ツール</strong>: 立方体、球体、複雑な幾何学形状の構築</li>
  <li><strong>Minecraft Wiki検索</strong>: ゲーム内情報の検索機能</li>
  <li><strong>シーケンス実行</strong>: 複数コマンドの連鎖実行</li>
</ul>

<h3 id="技術仕様">技術仕様</h3>
<ul>
  <li><strong>言語</strong>: TypeScript（完全実装）</li>
  <li><strong>互換性</strong>: Claude Desktopやその他のMCPクライアント</li>
  <li><strong>要件</strong>: Node.js 16+、チート機能有効化されたMinecraft</li>
  <li><strong>ライセンス</strong>: GPL-3.0（オープンソース）</li>
</ul>

<hr />

<h2 id="インストール設定方法">インストール・設定方法</h2>

<h3 id="1-前提条件">1. 前提条件</h3>
<ul>
  <li>Node.js 16以上</li>
  <li>チート機能が有効化されたMinecraft Bedrock/Education Edition</li>
  <li>MCPクライアント（Claude Desktopなど）</li>
</ul>

<h3 id="2-サーバーのインストール">2. サーバーのインストール</h3>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://github.com/Mming-Lab/minecraft-bedrock-mcp-server.git
<span class="nb">cd </span>minecraft-bedrock-mcp-server
npm <span class="nb">install
</span>npm run build
</code></pre></div></div>

<h3 id="3-minecraft側の設定">3. Minecraft側の設定</h3>

<ol>
  <li>チート機能有効でワールドを作成</li>
  <li>ゲーム内で接続コマンドを実行:
    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>/connect localhost:8001/ws
</code></pre></div>    </div>
  </li>
</ol>

<h3 id="4-claude-desktopでの設定">4. Claude Desktopでの設定</h3>

<p><code class="language-plaintext highlighter-rouge">claude_desktop_config.json</code>に以下を追加:</p>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
  </span><span class="nl">"mcpServers"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"minecraft-bedrock"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"command"</span><span class="p">:</span><span class="w"> </span><span class="s2">"node"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"args"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"C:/path/to/minecraft-bedrock-mcp-server/dist/server.js"</span><span class="p">]</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<p><strong>パスの確認方法:</strong></p>
<ul>
  <li>Windows: プロジェクトフォルダで <code class="language-plaintext highlighter-rouge">pwd</code> コマンドまたはアドレスバーで確認</li>
  <li>Mac/Linux: プロジェクトフォルダで <code class="language-plaintext highlighter-rouge">pwd</code> コマンドで確認</li>
  <li>例: <code class="language-plaintext highlighter-rouge">C:\Users\username\minecraft-bedrock-mcp-server\dist\server.js</code></li>
</ul>

<h3 id="5-サーバー起動">5. サーバー起動</h3>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm start
</code></pre></div></div>

<p>設定完了後、Claude DesktopからMinecraftを制御できるようになります。</p>

<hr />

<h2 id="開発の背景">開発の背景</h2>

<p>教育現場でのMinecraft活用において、より柔軟で プログラマブルなインターフェースが必要だと感じていました。このMCPサーバーにより、Minecraftの操作を自動化・効率化できるようになります。</p>

<p>特に発達多様性のある子どもたちの学習支援において、反復的な作業を自動化することで、より創造的な活動に集中できる環境を提供したいと考えています。</p>

<hr />

<h2 id="オープンソース公開">オープンソース公開</h2>

<p>このプロジェクトはGPL-3.0ライセンスでオープンソース公開しています。教育現場での活用や、さらなる機能拡張への貢献を歓迎します。</p>

<p>技術的な質問やフィードバックがございましたら、GitHubのIssuesでお気軽にお声がけください。</p>]]></content><author><name></name></author><category term="開発" /><category term="Minecraft" /><category term="TypeScript" /><category term="MCP" /><category term="WebSocket" /><category term="オープンソース" /><summary type="html"><![CDATA[Minecraft Bedrock EditionをWebSocket経由で制御するMCP（Model Context Protocol）サーバーを開発・公開しました。]]></summary></entry><entry xml:lang="ja"><title type="html">共に創る未来 - 教育版マイクラの可能性を広げて</title><link href="https://mming-lab.github.io/blog/educational-tools/" rel="alternate" type="text/html" title="共に創る未来 - 教育版マイクラの可能性を広げて" /><published>2025-06-14T00:00:00+09:00</published><updated>2025-06-14T00:00:00+09:00</updated><id>https://mming-lab.github.io/blog/educational-tools</id><content type="html" xml:base="https://mming-lab.github.io/blog/educational-tools/"><![CDATA[<h2 id="教育支援ツール">教育支援ツール</h2>

<p>これらのツールは教育現場での活用を想定して開発され、<strong><a href="https://kyouzai.jp/" target="_blank">授業・校務活用素材ポータル</a></strong>で無償公開することで、より良い教育環境の実現に貢献しています。</p>

<hr />

<h2 id="教育版マインクラフト禁止アイテム管理">教育版マインクラフト　禁止アイテム管理</h2>

<h3 id="禁止アイテム管理"><a href="https://kyouzai.jp/material/8565/" target="_blank">禁止アイテム管理</a></h3>

<p>特定のアイテムやブロックの使用を制限するためのビヘイビアーパック（ゲーム内の動作を変更するファイル群）です。これにより、先⽣は児童／⽣徒が学習目標に集中できる環境を整え、不適切なアイテムの使用を防止できます。</p>

<h3 id="特徴">特徴</h3>
<ul>
  <li>学習効果の向上: 不要なアイテムを制限することで、生徒が課題やプロジェクトに専念できます。</li>
  <li>安全なプレイ環境: 破壊的なアイテムや機能を排除し、ワールド内の安全性を確保します。</li>
  <li>カスタマイズの容易さ: 設定ファイルを編集するだけで、禁止するアイテムやブロックを簡単に指定できます。</li>
</ul>

<hr />

<h2 id="教育版マインクラフトのフラットテンプレート">教育版マインクラフトのフラットテンプレート</h2>

<h3 id="フラットテンプレート"><a href="https://kyouzai.jp/material/7877/" target="_blank">フラットテンプレート</a></h3>

<p>JAVA版の環境を教育版で再現したテンプレートです。既存の知識や経験を活かしながら、教育版ならではの機能を使用できます。</p>

<h3 id="特徴-1">特徴</h3>
<ul>
  <li>JAVA版準拠のフラット環境</li>
  <li>教育版の機能を活用可能</li>
  <li>プログラミング学習に最適な環境設定</li>
</ul>

<hr />

<h2 id="教育版マインクラフトの日本語チュートリアル">教育版マインクラフトの日本語チュートリアル</h2>

<h3 id="日本語チュートリアル"><a href="https://kyouzai.jp/material/7585/" target="_blank">日本語チュートリアル</a></h3>

<p>教育版マインクラフトの基本操作を日本語で学べるリソースパック（ゲーム内の表示や音声を変更するファイル群）です。言語の壁を取り除くことで、誰もが直感的に操作を学ぶことができます。</p>

<h3 id="特徴-2">特徴</h3>
<ul>
  <li>キーボード操作の基本を日本語で習得</li>
  <li>移動、設置・破壊、操作方法の3つのチュートリアル</li>
  <li>個人・学校・非営利団体での利用が可能</li>
</ul>

<hr />

<h2 id="mmingの取り組み">mmingの取り組み</h2>

<p>これらの教育支援ツールは、子どもたちのプログラミング学習の機会を広げることを目的として開発されています。</p>

<p>言語の壁や操作の複雑さを取り除くことで、すべての子どもたちが創造性を発揮できる環境づくりに貢献しています。</p>]]></content><author><name></name></author><category term="MinecraftEducation" /><category term="教育版マインクラフト" /><category term="教育支援ツール" /><summary type="html"><![CDATA[教育現場での活用を想定した教育版マインクラフトの支援ツールを無償公開。より良い教育環境の実現に貢献します。]]></summary></entry><entry xml:lang="ja"><title type="html">教育版マインクラフト 禁止アイテム管理</title><link href="https://mming-lab.github.io/blog/minecraft-banned-items/" rel="alternate" type="text/html" title="教育版マインクラフト 禁止アイテム管理" /><published>2025-06-13T00:00:00+09:00</published><updated>2025-06-13T00:00:00+09:00</updated><id>https://mming-lab.github.io/blog/minecraft-banned-items</id><content type="html" xml:base="https://mming-lab.github.io/blog/minecraft-banned-items/"><![CDATA[<!-- # 教育版マインクラフト 禁止アイテム管理 -->

<p>config.jsで禁止アイテムをリスト管理します。  禁止されているアイテムの保持はできません。</p>

<p><img src="/assets/images/blog/2025-06-24-minecraft-banned-items/00_禁止アイテム管理_サムネイル.webp" alt="禁止アイテム管理_サムネイル" class="img-fluid d-block mx-auto" /></p>

<hr />

<h2 id="導入方法">導入方法</h2>
<ol>
  <li>ダウンロードした「禁止アイテム管理.mcpack」ファイルを選択し、右クリックします。
 コンテキストメニューから[プログラムから開く] -&gt; [Minecraft Education]を選択します。
 <img src="/assets/images/blog/2025-06-24-minecraft-banned-items/01.webp" alt="01_プログラムから開く" class="img-fluid d-block mx-auto" /></li>
  <li>Minecraft Educationが立ち上がり、インポートが完了したことを確認してください。
<img src="/assets/images/blog/2025-06-24-minecraft-banned-items/02.webp" alt="02_インポート" class="img-fluid d-block mx-auto" /></li>
</ol>

<hr />

<h2 id="使用方法">使用方法</h2>

<h3 id="ワールドに適用">ワールドに適用</h3>

<ol>
  <li>ワールドの設定画面を開きます。</li>
  <li>禁止アイテム管理を有効化します。<br />
<img src="/assets/images/blog/2025-06-24-minecraft-banned-items/03.webp" alt="03_有効化" class="img-fluid d-block mx-auto" /></li>
  <li>確認メッセージの[それでもパックを追加する]ボタンを押下します。<br />
<img src="/assets/images/blog/2025-06-24-minecraft-banned-items/04.webp" alt="04_アップデート" class="img-fluid d-block mx-auto" /></li>
</ol>

<h3 id="configjsの場所">config.jsの場所</h3>

<p>config.jsはワールドフォルダの中にあります。</p>

<ol>
  <li>ワールドフォルダの見つけ方
    <ul>
      <li>
        <p>ワールドフォルダのパスはデバイスによって違うので、下記リンクを参照してください。<br />
  <a href="https://edusupport.minecraft.net/hc/en-us/articles/4404785703316-Location-of-World-Files" target="_blank"><strong>ワールドフォルダのパス</strong></a></p>
      </li>
      <li>
        <p>[minecraftWorlds]フォルダ内にワールド単位のフォルダがありますが、フォルダ名からワールドは分かりません。<br />
  マイクラでワールドを実行するとフォルダの更新日時が変わるので、更新日時から対象を推測します。<br />
  推測したフォルダ内の「levelname.txt」ファイルでワールド名を確認します。</p>
      </li>
    </ul>
  </li>
  <li>config.jsの場所<br />
 ワールドフォルダ内の「\behavior_packs\BannedItems\scripts\config.js」にあります。<br />
 <img src="/assets/images/blog/2025-06-24-minecraft-banned-items/05.webp" alt="05_パス" class="img-fluid d-block mx-auto" /></li>
</ol>

<h3 id="アイテムの追記の仕方">アイテムの追記の仕方</h3>

<ol>
  <li>config.jsをテキストエディタで開きます。</li>
  <li>既存のアイテム名の下に1行追加します。<br />
 <img src="/assets/images/blog/2025-06-24-minecraft-banned-items/06.webp" alt="06_追記1" class="img-fluid d-block mx-auto" /></li>
  <li>禁止したいアイテムを追加していきます。<strong><span style="color: #ff0000;">アイテム名は「”」で囲み、終わりに「,」が必要です</span></strong>。<br />
 <img src="/assets/images/blog/2025-06-24-minecraft-banned-items/07.webp" alt="07_追記2" class="img-fluid d-block mx-auto" /></li>
  <li>アイテム名は、コマンド入力時のオートコンプリートや、統合版マインクラフトの情報から調べてください。<br />
 <img src="/assets/images/blog/2025-06-24-minecraft-banned-items/08.webp" alt="08_アイテム名" class="img-fluid d-block mx-auto" /></li>
  <li>config.jsを保存します。</li>
</ol>

<h3 id="設定を反映">設定を反映</h3>

<p>下記のいずれかの方法で設定が反映できます。</p>

<ul>
  <li>ワールドを開き直す</li>
  <li>reloadコマンドを実行して、スクリプトを再読み込みする<br />
  <img src="/assets/images/blog/2025-06-24-minecraft-banned-items/09_reload.webp" alt="09_reload" class="img-fluid d-block mx-auto" /></li>
</ul>

<hr />

<h5 id="最後に">最後に</h5>

<p>禁止アイテム管理を導入することで、子どもたちが安全で健全なデジタル環境の中で創造性を発揮できる場を提供できます。これにより、学習内容に集中し、協調性や問題解決能力を育む活動を促進できます。</p>

<p>ぜひ、このツールを活用して、生徒やお子さまたちがより豊かな学びの体験を享受できるようサポートしてください。皆さまの指導と見守りが、未来の可能性を広げる大きな力となります。</p>]]></content><author><name></name></author><category term="MinecraftEducation" /><category term="教育版マインクラフト" /><category term="禁止アイテム" /><category term="設定方法" /><summary type="html"><![CDATA[教育版マインクラフトで禁止アイテムをconfig.jsで管理する方法を詳しく解説します。]]></summary></entry><entry xml:lang="ja"><title type="html">教育版マインクラフトのキーボード操作を学ぶ為のテンプレートを日本語表示</title><link href="https://mming-lab.github.io/blog/keyboard-lesson-tutorial/" rel="alternate" type="text/html" title="教育版マインクラフトのキーボード操作を学ぶ為のテンプレートを日本語表示" /><published>2025-06-12T00:00:00+09:00</published><updated>2025-06-12T00:00:00+09:00</updated><id>https://mming-lab.github.io/blog/keyboard-lesson-tutorial</id><content type="html" xml:base="https://mming-lab.github.io/blog/keyboard-lesson-tutorial/"><![CDATA[<p><img src="/assets/images/blog/2025-06-24-keyboard-lesson-tutorial/00_日本語チュートリアル_サムネイル.webp" alt="日本語チュートリアル_サムネイル" class="img-fluid d-block mx-auto" />
教育版マインクラフトのキーボード操作が学べるチュートリアルは英語表示です。操作方法の基礎が学べるように日本語化リソースパックを公開します。</p>

<h3 id="日本語化の出来るテンプレート">日本語化の出来るテンプレート</h3>
<p><img src="/assets/images/blog/2025-06-24-keyboard-lesson-tutorial/03_ライブラリ.webp" alt="ライブラリ" class="img-fluid d-block mx-auto" /></p>

<p>上記画像の赤色線が囲む３つのテンプレートだけですが、日本語化が出来ます。</p>
<ol>
  <li>移動(Movement Tutorial)</li>
  <li>設置と破壊(Break and Place Tutorial)</li>
  <li>操作方法(Interaction Tutorial)</li>
</ol>

<h3 id="日本語リソースパックを取得する">日本語リソースパックを取得する</h3>

<p>「キーボード操作チュートリアルの日本語リソースパック」は、<strong>個人・学校・非営利団体の利用に限って</strong>公開しています。
下記リンクより、利用規約の同意とアンケートの回答をいただき、対象のファイルをダウンロードしてください。</p>

<h5 id="キーボード操作チュートリアルの日本語リソースパックダウンロードページ"><a href="https://forms.office.com/r/iCQAJThf96">キーボード操作チュートリアルの日本語リソースパック（ダウンロードページ）</a></h5>

<p>mcpackファイル（マインクラフト用のパッケージファイル）なので、教育版マインクラフトから開き、インポートしてください。</p>

<h3 id="ワールドを日本語化する">ワールドを日本語化する</h3>
<ul>
  <li>
    <p>テンプレートは「プレイ」⇒「ライブラリを表示」⇒「遊び方」⇒「ここから開始 – キーボード」にあります。<br />
テンプレートをダブルクリックして開始してください。
<img src="/assets/images/blog/2025-06-24-keyboard-lesson-tutorial/03_ライブラリ.webp" alt="ライブラリ" class="img-fluid d-block mx-auto" /></p>
  </li>
  <li>
    <p>最初は英語で表示されます。[ESC]⇒[レッスンを終了]を押下して一度終了してください。
<img src="/assets/images/blog/2025-06-24-keyboard-lesson-tutorial/01_英語表示.webp" alt="英語表示" class="img-fluid d-block mx-auto" /></p>
  </li>
  <li>
    <p>作成したワールドの設定からリソースパックを適用してください。
<img src="/assets/images/blog/2025-06-24-keyboard-lesson-tutorial/04_設定方法.webp" alt="設定方法" class="img-fluid d-block mx-auto" /></p>
  </li>
  <li>
    <p>リソースパック適用後にはこのように日本語表示になります。
<img src="/assets/images/blog/2025-06-24-keyboard-lesson-tutorial/02_日本語表示.webp" alt="日本語表示" class="img-fluid d-block mx-auto" /></p>
  </li>
</ul>]]></content><author><name></name></author><category term="MinecraftEducation" /><category term="教育版マインクラフト" /><category term="キーボード操作" /><category term="日本語化" /><category term="チュートリアル" /><summary type="html"><![CDATA[教育版マインクラフトのキーボード操作チュートリアルを日本語で学べるリソースパックの使い方を詳しく解説します。]]></summary></entry><entry xml:lang="ja"><title type="html">メディア掲載情報</title><link href="https://mming-lab.github.io/blog/media-coverage/" rel="alternate" type="text/html" title="メディア掲載情報" /><published>2025-06-01T00:00:00+09:00</published><updated>2025-06-01T00:00:00+09:00</updated><id>https://mming-lab.github.io/blog/media-coverage</id><content type="html" xml:base="https://mming-lab.github.io/blog/media-coverage/"><![CDATA[<p>mming -ミング- の取り組みを取り上げていただいた記事をご紹介します。</p>

<h2 id="掲載実績">掲載実績</h2>

<h3 id="fnnプライムオンライン">FNNプライムオンライン</h3>

<p>発達特性のあるお子様へのプログラミング教育について取り上げていただきました。</p>

<p><strong><a href="https://www.fnn.jp/articles/-/833523" target="_blank">記事を読む</a></strong></p>

<hr />

<h3 id="スタディチェーン">スタディチェーン</h3>

<p>プログラミングスクールの特集の中で、mming の取り組みを紹介していただきました。</p>

<p><strong><a href="https://studychain.jp/picks/programing-school/" target="_blank" rel="noopener noreferrer nofollow">記事を読む</a></strong></p>

<hr />

<p>資格・認定や教材の公開とあわせて、<a href="/about/media/">実績と掲載</a>のページにまとめています。</p>]]></content><author><name></name></author><category term="news" /><category term="media" /><category term="メディア掲載" /><category term="ニュース" /><category term="プレス" /><category term="mming" /><summary type="html"><![CDATA[mming の取り組みを取り上げていただいた記事をご紹介します。FNNプライムオンライン、スタディチェーンに掲載いただきました。]]></summary></entry></feed>