【Minecraft】 Axiomで色と親しくなる

Minecraftのワールド編集MOD「Axiom」の、色に関する機能に関してをまとめて解説します。AxiomのMODの解説は、過去にこちらで解説していますので、「Axiomって何?」って方はこちらをどうぞ。
注意事項: 本記事は、Axiom Ver.5.0.1 (Minecraft Java Edition 1.21.X) 現在の状況について記載しています。バージョンによりUI等が変更される場合がありますので、注意してください。
ビルダーモードの色支援機能
今更ですが、Version 4.5.1 (2025年2月) から、ビルダーモード (クリエイティブモードを拡張する機能の方) で色に関する機能の追加がありました。
Axiomを導入した状態でクリエイティブインベントリを開くと、左側に2つのアイコンが見えると思います。

Colour Picker
色からブロックを取得したり、ブロックの色を取得したりすることができる機能です

- 色が表示されている箇所を設定すると、近い色のブロックが右側に表示されます
- 中央のスポイトのところに、インベントリからブロックを左クリックで置くと、そのブロックの色を取得できます
- 右側に表示されるブロックの種類は、F / S / O / T と表示された箇所を設定することで制御することができます
| 記号 | オプション | 項目 |
|---|---|---|
| F | Full Cube | ONにすると、完全な立方体のブロックのみ表示します (半ブロックや階段などが除外されます) |
| S | Solid | ONにすると、個体のブロックのみ表示します (水や粉雪などが除外されます) |
| O | Opaque | ONにすると、不透明のブロックのみ表示します (ガラスなどが除外されます) |
| T | Same Texture | ONにすると、すべての面が同じテクスチャのブロックのみ表示します (原木などが除外されます) |
Gradient Helper
グラデーションの作成を支援します

- Inputsのところにブロックを置くと、そのブロックの間を補間するようにグラデーションが生成できます
- できたグラデーションをインベントリにそのままコピーすることもできます
- できたグラデーションは、Builder Modeのグラデーションブラシ / ペインターに反映させることができます (4.8.0以降)
- 作成するグラデーションで使うブロックは、Colour Pickerと同様 F / S / O / T の項目で制御することができます
以下は、作成したグラデーションをグラデーションペインターに反映させた例です。そのまますぐに塗って使えます。これでグラデーション作成もカンタンです。

上級者向け : Script Brush の色に関する追加 Function
Version 4.9.0以降 で、Script Brush等で使える新しいFunctionが追加されました。以前、本サイトでScript Brushに付いて解説しましたが、追加で色々おもしろいことができるようになっているようです。「Script Brushって何それ?」って方は以下をご覧ください。
色に関する追加Function
以前解説したAxiomのFunctionに加えて、以下のFunctionが利用できるようになっています。
| 関数 | 説明 |
|---|---|
findClosestBlockToRGB(RGB triplet (integer), flags bitarray (integer), index) |
引数で指定したRGB tripet (24ビットカラー値) に近いブロック情報を取得します。どのようなブロックを指定するか、引数 bitarray で指定することもできます。 |
getBlockRGB(Blockstate ID) |
指定したブロックのRGB tripet (24ビットカラーの整数値)を取得します |
findClosestBlockToRGBの引数flagsは、以下の値を足し算した値を設定します
| 値 | 説明 |
|---|---|
| 1 | 固体ブロックのみ |
| 2 | 不透明ブロックのみ |
| 4 | 立方体のブロックのみ |
| 8 | 全面同じテクスチャのブロックのみ |
| 16 | 鉱石ブロック不使用 |
| 32 | 採油テラコッタ不使用 |
| 64 | ブロックエンティティ不使用 |
RGB24ビットカラー値は、いわゆるWebカラーと呼ばれる値です。赤・緑・青それぞれ256段階でひとつの色を表現した値です。RGBそれぞれ値が大きいほど明るく、小さいほど暗くなります。
カラーコード(色コード)とは?意味を分かりやすく解説 - IT用語辞典 e-Words
参考情報 : https://axiomdocs.moulberry.com/tools/painting/scriptbrush.html
実際に触ってみる
せっかくなので、AxiomのScript Brushで色々作ってみましょう。
まずは簡単な例。Minecraft内で一番青い色 (24ビット値 : 0x0000FF) のブロックを塗るブラシを作れます。
-- 一番青いブロックを塗るブラシ block = findClosestBlockToRGB(0x0000FF, 0, 1) return block
すると、一番青いブロックである、クダサンゴブロック (tube_coral_block) を塗ることができます。

- 少し難しい例を示します。以下は、「塗るたびに表面のブロックを少しずつ暗くするブラシ」です。
dark_value = $int(DarkValue, 20, 1, 100)$ -- R, G, Bの値を24ビットに変換する関数 function RGBToTriplet(r, g, b) return r*(256^2) + g*256 + b end -- 24ビットの値をR, G, Bの配列に変換する関数 function tripletToRGB(triplet) local r = math.floor( triplet/(256^2) ) local g = math.floor( (triplet%(256^2))/256 ) local b = triplet%256 return {r, g, b} end -- 指定したRGB値をvalueだけ小さくする関数 function darkValue(src, value) if ((src - value) >= 0) then dst = src - value else dst = 0 end return dst end -- ブロックを取得する local block_type = getBlock(x, y, z) -- 表面上にあるブロックかどうかを判定する if not isSolid(block_type) or isSolid(getBlock(x, y+1, z)) then return nil end -- ブロックのR, G, B値を取得する color_triplet = getBlockRGB(block_type) color_vector = tripletToRGB(color_triplet) -- RGBそれぞれ指定した値分だけ暗くする dark_r = darkValue(color_vector[1], dark_value) dark_g = darkValue(color_vector[2], dark_value) dark_b = darkValue(color_vector[3], dark_value) color_dark = RGBToTriplet(dark_r, dark_g, dark_b) -- 15 = 固体, 不透明, 立方体のブロック, 全面同じ block = findClosestBlockToRGB(color_dark, 15) -- ブロックを塗る return block
このブラシを重ね塗りすると、少しずつ色が暗くなっていくことがわかると思います。最終的に、真っ黒になっていきます。

このブラシを少し手を加えると、以下のように「補色を塗るブラシ」みたいなものも作ることができるようになります。遊んでみると面白いですので、色々試してみてください。
Axiomの色ピッカーを活かした、あるブロックの補色となる色を塗るScript Brush pic.twitter.com/prVS9FrDqp
— コマナズ (komnazsk) (@komanazu) 2025年8月24日