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

初期のMinecraftのMODは、逆コンパイラやゲームのJavaコードを直接変更することで制作されていた。現在も『Minecraft: Java Edition』と呼ばれるオリジナル版は、より高度なツールを使いながらこの方法でModが制作されている。一方で、『Minecraft: Bedrock Edition(統合版)』はC++で書かれており、同じ方法ではModdingができない。Bedrock Editionはモバイル、コンソール、およびMicrosoft Windows向けに提供されており、MOD制作者は代わりにスクリプト言語で書かれた「アドオン」を利用してコンテンツを追加する必要がある。

## 背景

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

クライアントのMODは、特に古いコンピューターや弱いコンピューターでは、一般的に高いリソース需要によりパフォーマンス低下を引き起こす可能性がある。特に、プレイヤーが「MODパック」として知られるもので、一度に多くのMODを実行する場合に顕著である。ゲームの修正は、コミュニティがMinecraftのソースコード(Javaで記述されている)をリバースエンジニアリングし、これらの修正を可能にしているため実現可能である。

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

Bedrock codebase上のモバイルおよびコンソール版MinecraftのMOD作成は、これらのバージョンがJavaではなくC++で記述されているため、異なっている。BedrockコードベースバージョンでゲームをMODしたいプレイヤーは、バージョンに組み込まれたアドオンの公式サポートにより、より簡単なプロセスを踏むことができる。アドオンはJava EditionのMODよりも迅速かつ簡単にインストールでき、外部のMODローダーは不要である。ただし、Bedrock Editionのアドオンは、Mojangが明示的に公開している機能のみを変更できるため、柔軟性と機能が少ない。

2012年、MojangはMinecraftのMODのリポジトリの作成を開始すると発表した。Minecraftの作成者であるマルクス・ペルソン(Notch)は2012年、当初MODに対して懐疑的であり、ユーザーが作成したコンテンツがゲームに対する自身のビジョンを脅かすのではないかと恐れていたことを認めた。ペルソンは、MODが「Minecraftの大きな理由の一つである」と認識したと主張し、考えを改めたと述べている。Minecraft 1.13では、「データパック」と呼ばれる機能も提供されており、プレイヤーまたはサーバー運営者はゲームに追加のコンテンツを提供できる。追加できるものは、レシピの追加、ブロックを破壊したときにドロップするアイテムの変更、コンソールコマンドの実行など、既存の機能を基に構築することに限定される。

## 歴史

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をより簡単にプログラミングできるようになった。この新しいパックはオープンソースかつ無料で提供され、Microsoftがオープンソースソフトウェアへの取り組みを進める一環だった。

2015年7月4日、Minecraftの「Windows 10」バージョンが発表された。このバージョンは以前のバージョンとは異なり、C++でプログラムされることになっていた。この発表により、Javaベースのバージョンが完全に廃止されるのではないかという懸念がファンの間で広がった。なぜなら、C++はJavaのようにリバースエンジニアリングが可能ではないからである。しかし、Mojangの開発者Tommaso ChechiはRedditで「MOD開発はMinecraftにとって『非常に重要』であるため、Javaベースのバージョンが廃止されることはない」とファンを安心させた。

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

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

2022年4月、FabricのフォークであるQuiltがリリースされた。Quiltローダーは、Fabric用に作成されたMODと互換性を持つことを目的としている。

## MODの内容

MinecraftのMODの総数を正確に計算するのは難しい。なぜなら、その数が非常に多いからである。あるリポジトリサイト、CurseForgeは、10万以上のMODを掲載している2022年3月年現在。

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

MODは、ダウンロード可能なコンテンツ「MODパック」としてグループ化されることがある。これらは簡単にダウンロードしてプレイでき、MOD環境を構築する方法に関する広範な知識は必要ない。これらのMOD間のインタラクションは、コンテンツクリエイターによって管理および強化されることがあり、設定ファイルやカスタムテクスチャの使用によって支援されることが多い。

### WorldEdit

WorldEditは、ソフトウェアグループEngineHubによって開発された編集ツールであり、構造物の構築やカスタマイズされた地形の作成を支援する。ブラシやブロック置換などのさまざまなツール、およびコピーとペースト、幾何学的形状の塗りつぶしと選択などのアクションを提供する。これらのツールは、ゲームに標準で搭載されていない機能を提供するため、MODなしで構築するよりも構築時間を短縮できる。この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によるブログ記事が公開されるまで一般には知られていなかったため、修正が行われる前に拡散してしまった。

## 評価

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

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

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

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

## 公式サポート

### 教育

MinecraftのMODは、子供たちがプログラミングやコーディングを学ぶ入り口として評価されている。学生がMinecraftを通してコーディングを学ぶことを促進するために、LearnToModやComputerCraftEdu、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が標準ゲームに追加したものだ。さらに、人気のMOD『Aether』を開発したKingbdogzは、2020年1月にMojangに雇用された。

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