【マイクラJava版】夜空を本物の星空にするリソースパックを配布します|星座線・星座名・星座絵つき

マイクラで天体観測

どうも。ダムンです。

突然ですが、「マイクラで天体観測してみたい」と思ってしまいました。

バニラの夜空はシンプルなので星空を眺めても物足りなさを感じてしまいます。なんとか自分好みの夜空に変えることはできないものかと調べたところ、Modとリソースパックで夜空を別の画像に変更するものがありましたので、その反映方法を紹介しようと思います。

というワケで、Java版の夜空を本物の星空に変えるリソースパックを作りました。名前は「StarNightSky JE」。この記事で配っています。先に言っておくと、Mod(Fabric と Nuit)が必要です。記事の後半には、自分で作りたい人向けに、作り方と、私が詰まったところ(月が消えた、太陽が真上で止まった)の直し方も書きました。

統合版の人は、統合版用のパックの記事をどうぞ。

この記事でわかること

  • Java版の夜空を本物の星空にするリソースパックの、ダウンロードと入れ方
  • 入れる前に知っておいたほうがいいこと(Modが要る、毎晩同じ星空、など)
  • 自分で作りたい人向け:リソースパックの作り方と、月が消えたとき・太陽が真上で止まったときの直し方

Java版 26.2 + Fabric + Nuit で確かめました。

どんなパック?

スクショはこんな感じです。

バニラの夜空
バニラの夜空
Mod+リソースパックで星座線を入れた夜空
Mod+リソースパックで星座線を入れた夜空

夜になると空に本物の星の並びが出ます。星の位置と明るさは実際の星のデータから取りました。オリオン座も、さそり座も、北斗七星もあります。星空は、太陽や月と一緒に回ります。

夜空は5種類作りました。星だけのもの、星座線を足したもの、星座名も足したもの、星座絵まで入れたもの、そして天の川の見えるNASAの星図です。

なかなか調整が難しかったのですが、思い通りの見栄えになりました。

ダウンロードと入れ方

夜空の種類ごとに別々のパックになっています。使いたいものを1つ選んでください。

夜空ダウンロード大きさ
星だけStarNightSky.zip0.1MB
星+星座線StarNightSky_Line.zip0.5MB
星+星座線+星座名StarNightSky_Line_Name.zip0.7MB
星+星座線+星座名+星座絵StarNightSky_Line_Name_Art.zip3MB
天の川の見える本物の星空(NASA)RealNightSky.zip9MB

置き場所は GitHub です。マインクラフトの公式の製品ではありません。Mojang や Microsoft が認めたものでも、関わっているものでもありません。

統合版のパックは設定画面で夜空を切り替えられるのですが、Java版のリソースパックにはそういう設定の仕組みがありません。それで、種類ごとに別のファイルになりました。

  1. Fabric、Fabric API、Nuit を入れる。(Nuit は mods フォルダに入れます。)
  2. ダウンロードした zip を、展開せずに resourcepacks フォルダに入れる。「設定 → リソースパック → パックフォルダーを開く」で開けます。
  3. 「設定 → リソースパック」で、入れたパックを有効にする。
  4. ワールドに入って、夜を待つ。

夜を待つのがめんどくさい人は、チャットで /time set 18000 と打てば真夜中になります。

リソースパックを入れて有効にする
リソースパックを入れて有効にする

各パックのプレビュー

それでは各パックのプレビュー画像をご覧ください。

星だけ(StarNightSky)
星だけ(StarNightSky)
星+星座線(StarNightSky_Line)
星+星座線(StarNightSky_Line)
星+星座線+星座名(StarNightSky_Line_Name)
星+星座線+星座名(StarNightSky_Line_Name)
星+星座線+星座名+星座絵(StarNightSky_Line_Name_Art)
星+星座線+星座名+星座絵(StarNightSky_Line_Name_Art)
天の川の見える本物の星空(RealNightSky)
天の川の見える本物の星空(RealNightSky)

入れる前に知っておいてほしいこと

Modが要ります。Nuit を入れていないと、このパックを有効にしても夜空は何も変わりません。理由は後半の「リソースパックだけでは夜空は変えられない」に書きました。

毎晩、同じ星空が回ります。季節で星座が変わることはありません。真夜中には、いつも天の川のいちばん明るいところ(いて座のあたり)が、南寄りの高い空に来ます。

日本で見る星空とは傾きが違います。マイクラの太陽は真上を通るので、星空は「赤道にいるとき」の向きにしました。北の地平線の上に北極星があります。東や西の低い空では星座名が横倒しに見えます。本物の星座も昇るときと沈むときは傾いて見えるので、これはこれで本物どおりです。

マルチプレイには対応していません。

ほかにも、星空が出るのは地上(オーバーワールド)の晴れた夜だけ、マイクラにもともとある星は出なくなる(太陽と月はそのまま)、星座絵は南の空の一部にはない、パックは1つだけ有効にする(2つ入れると上にあるほうだけが映る)、といった点があります。

ここからは、自分で作りたい人向け

ここから先は、夜空を好きな画像に変えるリソースパックの作り方です。パックを使うだけの人は読まなくても大丈夫です。

リソースパックだけでは夜空は変えられない

最初は、ふつうのリソースパックで空の画像を差し替えればいいと思っていました。ところが、Java版のリソースパックで変えられるのは月と太陽の画像くらいです。空全体に天の川を描くようなことはリソースパックだけではできません。

変えたいものリソースパックだけで
月・太陽の見た目できる(画像の差し替え)
星の数・色シェーダーの編集が必要
空全体(天の川など)できない(Modが必要)

空全体を変えるにはModが1つ必要です。今回は Nuit というModを使いました。Nuitは空全体を好きな画像で包んでくれるModです(ゲームづくりの世界では、このしくみを「スカイボックス」と呼びます)。NuitはFabricとNeoForgeに対応していて、私はFabricで使っています。

リソースパックのフォルダの作り方

フォルダは次のようにします。名前の MyNightSky は好きな名前でかまいません。

MyNightSky/
├─ pack.mcmeta
├─ pack.png(なくても動く。一覧に出るアイコン)
└─ assets/nuit/sky/
   ├─ night_sky.json    空の画像の設定
   ├─ night_sky.png     空の画像
   └─ decorations.json  太陽・月・星の設定

設定ファイルを置く場所は assets/nuit/sky/ です。Nuitの配布元にあるテスト用のパックを見て確かめました。

pack.mcmeta

{
  "pack": {
    "description": "Custom night sky (Nuit)",
    "min_format": 88,
    "max_format": 88
  }
}

88は26.2の値です。バージョンが違うとリソースパックの一覧に「互換性なし」と出ます。

空の画像の並べ方

空の画像は、正方形6枚を横3枚×縦2枚に並べた、横長(3:2)の画像にします。1枚が空の1面です。たとえば1面を1024×1024にすると、全体は3072×2048になります。

左中右
上の段足もと(上が北)真上(下が北)南
下の段西北東

東西南北の4枚は、画像の上側が空、下側が地平線になります。

あとで出てくる設定("blend": {"type": "add"})にすると、画像の黒いところは透けて元の空の色が見えます。夜空なら背景は真っ黒にして、星や天の川だけを描けば大丈夫です。

空の画像
空の画像

night_sky.json:空の画像を表示する設定

{
  "schemaVersion": 1,
  "type": "square-textured",
  "texture": "nuit:sky/night_sky.png",
  "blend": { "type": "add" },
  "properties": {
    "layer": 0,
    "fade": {
      "duration": 24000,
      "keyFrames": { "11500": 0.0, "13000": 1.0, "22500": 1.0, "23500": 0.0 }
    },
    "rotation": {
      "speed": 1.0,
      "mapping": { "0": [0.0, 0.0, 0.0] },
      "axis": { "0": [90.0, 0.0, 0.0] },
      "skyboxRotation": false
    },
    "sunSkyTint": false
  },
  "conditions": {
    "worlds": { "entries": ["minecraft:overworld"] },
    "weather": { "entries": ["clear"] }
  }
}

変えることが多いのは fade です。数字はゲーム内の時刻(tick)で、0が朝6時、1000で1時間進みます。上の設定だと、夕方の17時30分ごろから少しずつ現れて、19時にはっきり見え、明け方の4時30分から5時30分にかけて消えます。

conditions は、地上(オーバーワールド)で、晴れているときだけ表示する、という意味です。雨の夜はいつもの空になります。

詰まったところ1:月と太陽が消えた

night_sky.json だけを入れてワールドに入ると、星空は出たのに月がありませんでした。朝になると太陽もありません。

Nuitは、空の画像を1つでも入れると、もとの太陽・月・星を描かなくなります。表示させるにはもう1つ設定ファイル(decorations.json)を置いて、太陽と月を表示する、と書く必要があります。

詰まったところ2:太陽が真上で止まった

decorations.json を置いて月は戻りましたが、今度は太陽がずっと真上にあり、月は地面の下から動きません。時間がたっても太陽も月も動きませんでした。

原因は回転の設定(rotation)を書いていなかったことです。回転の軸(axis)を書かないと、時間による動きがまったく付きません。decorations.json にも、night_sky.json と同じ rotation を書くと東から昇って西に沈むようになりました。

decorations.json:完成形

{
  "schemaVersion": 1,
  "type": "decorations",
  "showSun": true,
  "showMoon": true,
  "showStars": true,
  "properties": {
    "rotation": {
      "speed": 1.0,
      "mapping": { "0": [0.0, 0.0, 0.0] },
      "axis": { "0": [90.0, 0.0, 0.0] },
      "skyboxRotation": false
    }
  },
  "conditions": {
    "worlds": { "entries": ["minecraft:overworld"] }
  }
}
  • showSun、showMoon、showStars は、properties の中ではなく、いちばん外側に書きます。中に書いても効きませんでした。
  • もとの星がいらないときは、showStars を false にします。配っているパックは、本物の星の中に架空の星が混ざらないように、false にしてあります。
  • axis の [90.0, 0.0, 0.0] は、南北の方向を軸にして回す、という意味です。これで、いつもの太陽と同じ動きになります。

3つのファイルを置いたらフォルダごとZIPにして(または、フォルダのまま)resourcepacks フォルダに入れ、設定のリソースパックから有効にします。

配っているパックの星空は、どうやって作ったか

天の川の星空は、NASAが公開している全天の星図(Deep Star Maps 2020)から作りました。地図のような横長の画像なので6面の並びに変換しています。南の空の低いところには大マゼラン雲と小マゼラン雲も見えます。

ただ、NASAの星図は細かすぎて星座を判別しにくいです。そこで肉眼で見える明るい星だけを描いた版も作りました。使ったのは、明るい星の一覧(イエール輝星星表)です。5等星までの約1,600個の星を、明るい星ほど大きく描きました。星の色も、データから青白い星、オレンジの星と描き分けています。

星座線は、星と星を薄い青の線で結びました。線は星の手前で切って、星と重ならないようにしています。星座名は日本語で、全部で88星座です。星座絵は、1824年にイギリスで売られていた星座カード『ウラニアの鏡』の絵を使いました。

調整に失敗し天の川が劣化してしまうこともありました
調整に失敗し天の川が劣化してしまうこともありました

個人的には星座線を入れた状態が好きですが、ウラニアの鏡の星座絵が入っているのも好きです。

まとめ

  • Java版の夜空を変えるパックを5種類配布。Fabric、Fabric API、Nuit が必要
  • 自分で作るなら、設定ファイルは assets/nuit/sky/ に置く
  • 月や太陽が消えたら、decorations.json で showSun、showMoon を true にする
  • 太陽が止まったら、decorations.json にも rotation(axis を含む)を書く
オリオン座と魚座を自分で描いてみました。
オリオン座と魚座を自分で描いてみました。

自分で画像を用意すれば思うがままの星座絵を作れます。
ただ、88の星座をコンプリートするのはだいぶ先の話になりそうです・・・。

それでは、お疲れさまでした。

ほかのツールは、マイクラ便利ツール一覧にまとめています。

Java版 26.2 と Nuit(Fabric版)で確かめた内容です。Modのバージョンによって、設定の書き方が変わることがあります。

このパックは、FlashyReese さんの Mod「Nuit」を使っています。パックに Nuit は含まれていません。

星のデータ:Yale Bright Star Catalogue, 5th Revised Ed. (Hoffleit & Warren, 1991)

星座線・星座名のデータ:d3-celestial(Copyright (c) 2015 Olaf Frohn, BSD 3-Clause License)

星座絵:Sidney Hall “Urania’s Mirror”(1824年、パブリックドメイン)。Wikimedia Commons のスキャン画像

天の川の星空:NASA/Goddard Space Flight Center Scientific Visualization Studio. Gaia DR2: ESA/Gaia/DPAC.

コメント

タイトルとURLをコピーしました