MinecraftのMOD

**MinecraftのMOD**（マインクラフトのモッド）は、MODによってサンドボックスゲーム『Minecraft』の様々な側面を変更するものである。MinecraftのMODは、ゲーム内に追加コンテンツを導入したり、特定の機能を調整したり、パフォーマンスを最適化したりすることができる。これまでに数十万ものMODが制作されており、中には作者に収入をもたらすものもある。Mojang StudiosはModding用のAPIを提供していないが、MOD制作者を支援するためのコミュニティツールが存在する。MinecraftのMODの人気は、Minecraftが最も売れたビデオゲームの一つとなる助けになったと評価されている。

初期のMinecraftのMODは、逆コンパイラを使ってMinecraftのソースコードを閲覧したり、ゲームのソースコードを直接変更することで制作されていた。現在も『Minecraft: Java Edition』では、MODローダーなどのより高度なツールを使いながら同じような方法でMODが制作されている。一方で、『（統合版）』はC++で書かれており、同じ方法ではMOD制作ができない。しかし、代わりにスクリプト言語で書かれた「アドオン」を通してコンテンツを追加することができる。

## 背景
Java Edition（Windows、MacOS、Linux向けに提供）は、クライアント（ローカルインストールのゲーム）やサーバー、または両方で同時にMODを適用することができる。クライアントのMODはゲームの外観や一部の挙動を変更することができる。サーバー専用のMOD（一般にはプラグインと呼ばれる）は、挙動を変更し、ミニゲームや不正防止、ログインシステムなどを追加することが多い。新しいブロック、アイテム、モブ、次元を追加したり、既存機能を変更したりするような複雑な機能を求める場合、クライアントとサーバーの両方に同等のMODを追加する必要があり、これによりクライアントとサーバー間の互換性が保たれる。シングルプレイヤーモードでは、クライアントがクライアント兼サーバーとして動作し、クライアントおよびサーバーの両方のMODを実行できる。ゲームへの変更は、コミュニティがMinecraftのソースコード（Javaで記述されている）をリバースエンジニアリングして行っている。

クライアントのMODは、特に古いコンピュータやスペックの低いコンピュータでは、コンピュータが要求されるリソースに達しておらず、パフォーマンスの低下を引き起こす可能性がある。特に、プレイヤーが「MODパック」を使用して同時に多くのMODを実行する場合に顕著である。

Mojangによって公式にサポートされているわけではないが、MinecraftのMODは作成およびオンラインで共有することが許可されている。一部の開発者は、人気のあるMODを公開した後、Mojangで働くようになった。MinecraftのMODは一般的に趣味として無料で提供されているが、一部のMOD制作者はダウンロードサイトでの広告や、クラウドファンディングによるレベニューシェアを通じて収入を得ている。この収入により、一部の開発者はフルタイムで働くことができ、MODやMOD作成プラットフォームに特化した小規模なゲームスタジオを開設することさえある。

Bedrock Codebase (後のBedrock Edition)上のモバイルおよびコンソール版MinecraftのMOD作成は、JavaではなくC++で記述されているために状況が異なっている。Bedrock Codebase 上でゲームにMODを追加したいプレイヤーは、MODの代わりにアドオンを使用することができる。アドオンはMODよりも迅速かつ簡単にインストールでき、外部のMODローダーは不要である。ただし、Bedrock Editionのアドオンは、Mojangが明示的に公開している機能のみを変更できるため、柔軟性と機能が少ない。

2012年、MojangはMinecraftのMODのリポジトリの作成を開始すると発表した。Minecraftの作成者であるマルクス・ペルソン（Notch）は2012年に、自身が当初MODに対して懐疑的でありユーザーが作成したコンテンツがゲームに対する自身のビジョンを脅かすのではないかと恐れていたことを認めた。ペルソンは、MODが「Minecraftの大きな理由の一つである」と認識したと主張し、考えを改めたと述べている。

Minecraft 1.13からは、「データパック」と呼ばれるMODではない公式の機能が提供されており、プレイヤーまたはサーバー運営者はゲームに追加のコンテンツを提供できる。追加できるものは、レシピの追加、ブロックを破壊したときにドロップするアイテムの変更、コンソールコマンドの実行など、既存の機能を基に構築することに限定される。

## 歴史
Minecraftの最初のバージョンは2009年5月にリリースされたが、ゲームのクライアントサイドのMODが本格的に普及したのは、2010年6月のアルファバージョンに達してからだった。MinecraftのIndevおよびInfdev開発段階でリリースされたMODは、ゲームに小さな変更を加えるクライアントサイドのMODが少数だった。

### Alpha
Alphaのリリースに伴い、最初のサーバーサイドのMODが登場し始めた。そのうちの1つがhModだった。これは、サーバーを管理するためのシンプルだが不可欠なツールを追加するものだった。後にMojangに入社したMichael Stoyke（別名Searge）は、Minecraft Coder Pack（MCP）を作成した。これは後にMod Coder Packに改名されたが、頭字語は変わらなかった。MCPはMinecraftのコードを逆コンパイルして難読化を解除するツールだった。MCPは新しく変更されたクラスを再コンパイルして難読化し、ゲームに注入できた。しかし、複数のMODが同じベースコードを変更した場合、競合が発生してエラーにつながる可能性があった。この問題を解決するために、Risugami's ModLoaderが作成され、複数のMODが同じベースクラスやゲームリソースを変更することで発生する競合を防ぐようになった。

### Beta
2010年末頃、Minecraftはベータ開発段階へ移行する準備を進めていた。この時期には、IndustrialCraft、Railcraft、BuildCraftといった人気MODが初めてリリースされた。これらのMODは、従来のものとは異なり、ゲームに新しいコンテンツやメカニズムを大幅に追加し、単に細部を調整するだけのものではなかった。

また、サーバーサイドMODのBukkitもリリースされた。このMODはCraftBukkitに取って代わることを意図しており、Bukkit APIを実装したサーバーソフトウェアだった。Bukkitは、サーバーの入力や出力をプレイヤーが直接クライアントサイドMODをインストールせずに変更するためのプラグインをインストールできるようにした。

CurseForgeというユーザー生成コンテンツをホストするウェブサイトは、2011年半ばにMinecraftのMOD専用セクションを追加した。 当初、CurseForgeは主にBukkitプラグインをBukkit公式ウェブサイトにリンクする形でホストしていた。

### リリース

2011年11月頃、Forge Mod LoaderとMinecraft Forgeがリリースされた。ForgeはMod Coder Packのマッピングを使用し、複数のMODを同時に実行できるようにした。また、Forgeのサーバーバージョンもリリースされ、MOD対応のサーバーを作成可能にした。Forgeはベースソースコードを操作する必要性を排除し、個別のMODがベースコードに触れることなく共存できる環境を提供した。さらに、MOD開発を容易にする多くのライブラリやフックも含まれていた。

Minecraftが2011年11月に正式リリースされた後も、MODコミュニティは成長を続けた。2012年2月、MojangはBukkitの開発者を雇用し、公式のMOD用APIの実装に取り掛かった。その後、Bukkitはコミュニティによって維持された。

CraftBukkitのフォークであるSpigotは、プラグインとの後方互換性を維持する形で開発が進められた。Spigotは、BungeeCordというサーバー同士をリンクするためのプロキシ「リンク」サーバーソフトを2012年にリリースした。BungeeCordにはSpigot独自のプラグインAPIがあり、Spigotプラグインと共存できる仕様だった。多くの人気Minecraftサーバーは、BungeeCordを使用してサーバーを連携している。

2014年初頭には、Spongeというサーバーソフトウェアがリリースされた。これは、Bukkitに比べて非常に強力なプラグインAPIを提供し、Forge MODにも対応していた。また、mixinというバイトコードを変更する代替手法も導入した。

### マイクロソフトによる買収後

2014年中頃のマイクロソフトによるMojang買収を受け、『MOD開発者に自由を与えてきたMojangのこれまでの方針が変わるのでは』という懸念がMODコミュニティ内で広がった。しかし、マイクロソフトはMojangの方針に変更を加えることは発表せず、MOD開発は影響を受けなかった。

2015年4月、マイクロソフトはMicrosoft Visual Studioで使用できる拡張機能、Minecraft Mod Developer Packを発表した。これにより、このアプリケーション作成ソフトウェアを使用するユーザーは、MinecraftのMODをより簡単に作成できるようになった。この拡張機能はオープンソースかつ無料で提供され、マイクロソフトがオープンソースソフトウェアへの取り組みを進める一環だった。

2015年7月4日、Minecraftの「Windows 10」バージョンが発表された。このバージョンはJava Editionとは異なり、C++でプログラムされることになっていた。この発表により、JavaベースのMinecraftが完全に廃止されるのではないかという懸念がファンの間で広がった。MOD制作においてはリバースエンジニアリングによってMinecraftのソースコードを閲覧することが必要だが、C++で生成される実行可能ファイルはJavaのものよりもリバースエンジニアリングの難易度が高く、MOD制作に影響が出ると考えられたためである。しかし、Mojangの開発者Tommaso ChechiはRedditで「MOD開発はMinecraftにとって『非常に重要』であるため、Javaベースのバージョンが廃止されることはない」と発言した。

2017年4月、Mojangは、Windows 10バージョン（Minecraft Bedrock Codebase）のプレイヤーが、ユーザー作成コンテンツを購入、販売できる「Minecraft Marketplace」の発表を行った。この新しいデジタルストアでは、アドベンチャーマップやスキン、テクスチャパックなどの販売が行われる。『PC World』は、『この追加により、Windows 10バージョンがオリジナルのJava Editionでお馴染みの「MOD対応の世界」に「少し近づく」』とした。

2018年12月、新しいMODツールチェーンとMODローダーであるFabricがリリースされた。

2022年4月、FabricをフォークしたQuiltがリリースされた。Quiltローダーは、Fabricから独立した体制を持ちながら、Fabric用に作成されたMODとも互換性を持つことを目的としている。

## MODの内容

MinecraftのMODの総数を正確に計算するのは難しい。その理由は、その数が非常に多く、多くの個人やMOD配布サイトからMODが配布されているためである。MOD配布サイトの一つであるCurseForgeは、、20万以上のMODを掲載している。

一部のMODは、ゲームの既存の機能を強化する。『Journeymap』は、ゲームのユーザーインターフェースにミニマップを追加する。『Just Enough Items』は、ゲームのクラフトレシピのブラウザを追加する。『Chisel』は、視覚的な魅力を高めるために、既存のブロックの多くの新しいバリアントを追加する。その他のMODは、バイオーム、作物、次元、食料、防具、道具、その他のコンテンツを追加する。Polygonのレビュー担当者、Julia Leeは、「3x3x1のブロックを一度に破壊するハンマーや、木を丸ごと切り倒す斧のようなMODツールなしでは生きていけない」と述べた。

MODは、「MODパック」としてグループ化されることがある。これらはダウンロードしてプレイでき、一つずつダウンロードするよりも比較的簡単にMOD環境を構築できる。MODパック内のMOD間の関係は、コンテンツクリエイターによって管理および強化されることがあり、設定ファイルやカスタムテクスチャの使用によって変更されることがある。

### WorldEdit
WorldEditは、ソフトウェアグループEngineHubによって開発された編集ツールであり、構造物の構築やカスタマイズされた地形の作成を支援する。ブラシやブロック置換などのさまざまなツール、およびコピーとペースト、幾何学的形状の塗りつぶしと選択などのアクションを提供する。これらのツールは、MODなしでMinecraft内のブロックに変更を加えるよりも迅速な変更を可能にする。このMODは、最も人気のある構築ツールの1つとしてMinecraftのWebサイトで紹介されており、米国特許で使用され、科学論文で引用されている。これは、2010年9月28日にhMod modificationのプラグインとして世界中で最初にリリースされ、それ以来、Bukkitプラグインとして、またFabricおよびForge MODローダー用のMODとして移植されている。

### コンピュータウィルス
MinecraftのMODは、悪意あるMODをダウンロードすることで、マルウェアを使用した攻撃の踏み台となることがある。2017年3月、スロバキアのセキュリティ企業ESETは、トロイの木馬87種類が、MinecraftのMODを装った形でGoogle Play Storeを通じて配布されていたことを明らかにした。それらはアドウェアや、他のアプリをダウンロードさせるものだった。これらの偽MODは、2017年初頭の最初の3か月間で合計100万回以上ダウンロードされた。2023年6月、攻撃者は「Better Minecraft」を含むMODやMODパックにアクセスし、マルウェアを含む新しいリリースを作成した。これは、アップロードしたCurseforgeアカウントにちなんで「Fractureiser」と名付けられた。

2023年7月、任意コード実行の脆弱性が、BdLibやEnderCoreなど、いくつかのForgeベースのMinecraftのMODで発見された。この脆弱性はMinecraftのセキュリティコミュニティによって「BleedingPipe」と名付けられた。これは、「ObjectInputStream」クラスでのデシリアライズの誤用を悪用したものである。脆弱性は2017年から存在していたものの、MMPAによるブログ記事が公開されるまで一般には知られていなかったため、修正が行われる前に拡散してしまった。

## 評価
『』のネイト・ラルフは、MODを導入することについて「やや複雑なプロセス」だと述べるが、ゲーム体験に「もう少し何かを求める」プレイヤーには役立つと認めている。

『』のマックス・エディも、MODを使ったゲームのセットアップについて「かなり複雑に思える」と指摘しており、最初は「MinecraftにMODを導入するのが怖かった」と述べている。しかし、エディはMinecraftのMOD導入が「かなり寛容」であることに気づいてから、その価値を理解するようになったと述べる。ただし、エディは、Mojangが主ゲームの開発を急速に進めていることが、人気のあるMODの進展を遅らせているとも感じている。

『PC Gamer』では、MinecraftのMOD「Galacticraft」が2013年7月に「Mod of the Week」として紹介された。

『』のジョージ・アバロスは、MODが「主流の愛好家」に適していると主張するが、MinecraftのMODを探す際に「危険でスパム的なソフトウェア」をダウンロードしないよう注意が必要だと警告している。アバロスは、MODのインストールには保護者の協力が必要になるだろうとも述べている。ただし、Minecraftは通常子供に人気のあるゲームだと指摘している。

## 公式の活動

### 教育

MinecraftのMODは、子供たちがプログラミングやコーディングを学ぶ入り口として評価されている。学生がMinecraftを通してコーディングを学ぶことを促進するために、LearnToModやComputerCraftEdu、Raspberry Pi上で動作する変更が容易なMinecraft: Pi Editionなどの教育プロジェクトが教師向けに無料で提供されている。カリフォルニア大学もMinecraftを利用したプログラミングクラスを始め、8歳から18歳の子供たちにアプリケーションのプログラミングを教えることを目的としている。

2011年には「MinecraftEDU」という有料のMODが作られ、言語、歴史、芸術などの幅広い科目を教えることが可能になった。このMODは学校向けに販売されていた。2016年1月にはマイクロソフトがこのMODを買収し、「Minecraft: Education Edition」というMinecraftの別エディションとして展開された。

書籍『The Parent's Guidebook to Minecraft』の著者Cori Dusmannによれば、Minecraftとホームスクーリングの組み合わせは非常に興味深く、シンプルなMODの作成が「科学的原則の実例」として活用されることに、ホームスクーリング提供者も前向きであると述べられている。

一方で、Minecraftを学校のカリキュラムに取り入れるというアイデアは、英国政府のアドバイザーであるによって抵抗を受けた。Bennettは、Minecraftを「ギミック」とし、学校は「ギミックの沼を排除」して本だけで教えるべきだと主張した。このBennettの批判に対しては、『The Guardian』のジャーナリストたちから反論があり、Minecraftを学校で活用することは価値ある革新だと述べられている。

### 本家Minecraftへの影響
MOD開発者Dr. Zharkは、自身のMOD『Mo' Creatures』でゲームに馬を追加した。その後、Mojangは彼の協力を得てMinecraftに馬を実装した。また、ピストンはHippoplatimusという開発者が作成したMODに由来しており、その機能に感銘を受けたMojangが標準ゲームに追加したものである。さらに、『Aether』を開発したKingbdogzは、2020年1月にMojangに雇用された。

Mojangはまた、サーバーサイドMOD API「Bukkit」のすべての実績を評価していると認めている。2012年には、このプロジェクトのリーダー開発者たちを雇用している。

## 脚注

### 出典

## 参考文献
* Rogers Cadenhead, Absolute Beginner's Guide to Minecraft Mods Programming, (Indianapolis: Que Publishing, 2014). 
* Cori Dusmann, The Parent's Guidebook to Minecraft, (San Francisco: Peachpit Press, 2013). 
* Jimmy Koene, Sams Teach Yourself Mod Development for Minecraft in 24 Hours, (Indianapolis: Sams Publishing, 2015). 
* Lars van Schaik and Ronald Vledder (eds.), De ultieme gids voor Minecraft, (Doetinchem: Reshift Digital, 2015).