世界を動かす技術を、日本語で。

Minecraft: Java EditionがSDL3を使用するようになりました

2026年7月19日原文(minecraft.net)

概要

  • Minecraftのスナップショットアップデート内容まとめ
  • ウィンドウ管理ライブラリをGLFWからSDL3へ変更
  • 新しい燃料アイテムコンポーネント追加
  • サインやワールド生成、ルートテーブル等の技術的変更
  • UIやクリエイティブインベントリの改善、既知の不具合情報

Minecraft Snapshot アップデート概要

  • スナップショット配信スケジュール :スウェーデンのバケーションシーズンにより不定期配信
  • ウィンドウ管理ライブラリ :GLFWから SDL3 へ移行
  • 新燃料アイテムコンポーネント :カスタムかまど燃料・醸造燃料追加
  • 技術的変更 :サイン、ワールド生成、ルートテーブルの仕様変更
  • 既知の不具合
    • Windowsの 専用フルスクリーン で特定状況下クラッシュ(特にマルチモニター環境)
    • Wayland環境で専用フルスクリーンに切替時クラッシュ

新機能・変更点

  • 観戦者モード :ポータル操作でテレポート可能に
  • ブロック・アイテム・エンティティ調整
    • アルマジロは液体中で丸まらない
  • UI変更
    • Raw Inputマウス設定削除
    • マウス入力は常に相対モード
    • キーバインドは物理キー基準に
    • フルスクリーンはデフォルトで ボーダーレス
    • macOSで専用フルスクリーン非対応
    • 最小ウィンドウサイズ320x240ピクセル
    • macOSでテキスト入力時、ネイティブアクセント・候補ポップアップ表示
    • LinuxではWaylandを優先利用
  • デバッグオーバーレイ
    • GUIスケール個別設定可能(F3+F6で変更)
    • プレイヤー速度表示追加
    • ディスプレイのリフレッシュレート表示
  • クリエイティブインベントリ整理
    • 鉱石・ブロックの並び順改善
    • ナチュラルブロックタブもOverworld→Nether→Endの順で統一

技術的・データパック関連変更

  • データパックバージョン :111.0、リソースパック92.0
  • ルートテーブル :ID・タグ参照対応
  • ウィンドウ・入力バックエンド :SDL3へ完全移行、キーボード入力もSDL基準
  • サイン仕様 :クリックイベント自動実行廃止、新設allow_op_featuresで復旧可
  • spreadplayersコマンド :テレポート可能ブロックタグで制御
  • 環境属性追加
    • natural_mob_spawns:モブスポーン設定
    • creature_world_gen_spawn_probability:ワールド生成時のクリーチャースポーン確率
  • パーティクル :タイムライン補間・append修飾子追加

新データコンポーネント

  • cooking_fuel :かまど系燃料設定
    • burn_time:燃焼時間
    • speed_multiplier:調理速度倍率
  • brewing_fuel :醸造台燃料設定
    • uses:使用回数
    • speed_multiplier:醸造速度倍率
    • brewing_fuelタグ廃止
  • sign_text_front / sign_text_back :サイン表裏テキスト
  • waxed :ワックス済みブロック識別
  • cushion/color :クッション設置時の色
  • villager_food :村人が食べられるアイテム設定
  • mob_visibility :装備時のモブ検知範囲補正

ブロックエンティティデータ変更

  • サイン・ハンギングサイン
    • クリックイベント自動実行廃止
    • allow_op_features追加(デフォルトfalse)
    • 新規サインは明示的に設定必要
  • 醸造台
    • BrewTime・Fuelを整数型へ
    • total_brew_time・total_fuel・speed_multiplier追加
  • かまど・燻製器・溶鉱炉
    • 調理時間・燃焼時間を整数型へ
    • speed_multiplier追加

アドバンスメント・トリガー変更

  • rewards/loot :複数形式で指定可能に
  • トリガー条件 :リスト条件の扱い厳格化、typeフィールド必須化
  • any_block_use :locationにpredicate指定可
  • bee_nest_destroyed :block→blocksへ名称変更、state追加

※内容が多岐に渡るため、詳細なデータ構造や個別フィールドの記述は割愛しています。必要に応じて個別項目ごとに詳細解説も可能です。

Hackerたちの意見

知られている問題 > Windowsの排他フルスクリーンモードは、特定の状況でゲームがクラッシュすることがある、特に複数のモニターを使っているときに > Waylandで排他フルスクリーンモードに入るとゲームがクラッシュする これらは、通常スナップショットのリリースを遅らせるようなブロッキングバグに見えるね… リリース前に修正されることを願おう…

マインクラフトは、特に設定を変えない限り、ずっとボーダレスフルスクリーンを使ってたと思うよ。過去10年くらいで、多くのプラットフォームやサービス、アプリケーションが排他フルスクリーンを廃止してきてるし。

だからこそスナップショットなんだよね。次のスナップショットで修正される可能性が高いと思う。

リリースを遅らせる?もちろん。でもスナップショットを遅らせるのは?なんで?この状態でスナップショットをリリースすることで、1) その既知の問題がどれほど大きな問題なのか(Windowsで排他フルスクリーンに入るとどれくらいクラッシュするのか?おそらくテレメトリがあるはず)、2) リリース前に修正が必要な他の未知の問題があるかどうかを学べるんだ。これらのことを早く知るほど良い。スナップショットがバグフリーだという約束は今までなかったし、むしろその期待は逆だよね。

確かに、専用フルスクリーンって今ではかなり珍しいよね(フルスクリーンウィンドウにレンダリングするのとは違って)。ウィンドウマネージャーは、昔は専用フルスクリーンのためだけに行っていた最適化を、今では最前面のフルスクリーンウィンドウにも適用することが多いからね。

スナップショットの遅延 スナップショットのポイントは、現在のメインのスナップショットで、バグも含めて、リリースを妨げるバグもあるってこと。俺の頭の中では、安定性の期待の順番はこうだ(マインクラフトはほとんどこれらのレベルをやってないし、ほとんどのプロジェクトもそうだけど):1. 長期サポート / 拡張サポートリリース 2. リリース 3. リリース候補 4. ベータ 5. アルファ 6. スナップショット 7. マージされたばかりのマスターコミット 8. プロジェクトの開発者からの未マージのプルリクエスト 9. プロジェクトの開発者からの未マージのドラフトプルリクエスト 10. 見知らぬ人からの未マージのプルリクエスト 11. パステビンにホストされていて、暗号通貨関連のディスコードサーバーで見知らぬ人にリンクされたソースコードの.patchファイル 12. GitHubのサーバー 重大なバグがリリース候補やベータを遅らせることはあると思うけど、CIテストを通過してマージされたバグがスナップショットを遅らせることはないと思う。スナップショットは「この日付に現在のメインのリリースを切るから、プレイしてフィードバックをくれればいいよ」っていうスケジュールされたcronジョブみたいなもんだから。

osu(リズムゲーム)も最近SDL2からSDL3に切り替えたんだけど、パフォーマンスやレイテンシがかなり改善されたみたい。SDL3の導入はちょっと遅れてるみたいね。マインクラフトがずっとGLFWを使ってたのには驚いたけど。特に、SDL3に切り替えたことで、osuをプレイ中にDiscordクライアントを開いてもラグがなくなったのが大きい。これ、YouTubeの開発ログで言ってた気がする。

osu!はSDL2からSDL3に切り替えるのにかなりの時間をかけてきたけど、全ての主要デスクトップOS(3つ)とiOS、Androidに対応しつつ、機能をネイティブに保とうとした結果、切り替えが約2年遅れたんだ。今回の切り替えは、初めて本当に最終的なものに見えるね。

Linuxでは、ほとんどの場合、SDL3を使うことになるよ。sdl2-compatやsdl12-compatがいくつかのディストロでのSDL2や1.2のデフォルト実装だからね。これにはたくさんの利点があって、Wayland上でより多くのアプリがネイティブに動くようになったり(XWaylandよりもレイテンシが低い)、コントローラーのサポートが良くなったりするんだ。osuにとってこれがどういう意味を持つのかはわからないけど、実際の切り替えが一部のユーザーにとってあまり影響がないとは思わないよ。ただ、Ubuntu 24.04がそもそもSDL3を出荷していなかったのにはちょっと驚いた。SDL3は思っていたよりも新しいみたいだね。これがSDL3の普及が予想よりも低い理由の一部かもしれない。

SDL3はいくつかのAPIを変更したから、特にバインディングライブラリから使うときはあんまり助けにならないね。

2026年に家族のためにマインクラフトサーバーを立てたいけど、全くマインクラフトの経験がない技術好きのお父さんにアドバイスある?今の子供たちはiPadで遊んでて、(時々)古いMacBookやWindows PCも使ってるんだ。

スマホやタブレットなどのMinecraft版は、Java版よりも制限が多くて、選択肢が少し限られるかもしれない(でも不可能ではないよ)。私は何年もDocker Minecraft Server(itzg/docker-minecraft-server)を運営していて、すごく安定してる。依存関係をたくさんインストールしなくて済むのが一番の利点だね、イメージが全部やってくれるから。Bedrock Editionのサーバーもあるみたいだけど、私はうまく動かせなかった(上を参照)。最小限の手間でやりたいなら、みんなにWindows/Mac/LinuxでJava Editionを使ってもらう必要があるよ。そうじゃないと、みんなが「Realms」っていうホスティングサーバーにお金を払うことになる。

Hacker Newsで議論の続きを見る