もぐらさばでもCITがしたい!
特殊なサーバーではCITがうまく動かないことがある。
それでもどうにかしてCITを使いたい人向け。
今回のサンプルファイル
もくじ
問題点
他プレイヤーの所持しているアイテムはCIT表示されないことがある。
これは、恐らくそのアイテムの名前がサーバー側から送信されていないから。
軽量化のため送信パケットが制限されているのかもしれない。
解決策
要するに、名前以外でCIT判定を行えばいいのだ。
でもユーザーが指定できるNBT情報は限られている。
使いたいアイテムのNBTを見る
ここでいうNBTはアイテムについてる細かい情報のこと。
確認するにはコマンドが必要。手持ちのNBTデータを表示できる。
/data get entity @s SelectedItem
例えば革の帽子は
だが、それを黄緑色に染色したものは
であり、display:{color:8439583}が増えている。
ここを指定すれば染色の色ごとにCITを適用できるわけだ。
革防具でCIT
上のような黄緑色に染色された革の帽子はこう指定できる。
kawa_boushi.propertiesを参照。
nbt.display.color=8439583
ただ、染色パターンは無限ではない。
色一覧: https://minecraft.fandom.com/ja/wiki/染料
帽子、上着、ズボン、ブーツ、馬鎧(クラフト可能)があるので、使い切ることはないとは思う。
防具着用時のCIT
防具の着用時には別の.properties指定が必要で、3Dモデルの適用はOptifineの仕様でできない。kawa_boushi_armor.propertiesを参照。
type=armor
items=leather_helmet
# 見せたいテクスチャ
texture.leather_layer_1_overlay=midori
# 使わないので透明なテクスチャ
texture.leather_layer_1=empty
# カラーコードを10進数で指定
# 公式ドキュメントでは16進数でもできるらしいがうまくいかない
nbt.display.color=8439583
旗を使う
旗にはベースとなる16色、模様と色の情報がアイテムに記録されている。
通り数が多く、革より集めやすいと思う。
CITなので、設置した旗はテクスチャ変わりません。
pink_banner.propertiesを参照。
items=pink_banner
model=gutitu_bow
# 0で一番下の模様を指定する。複数の模様の指定も可能。
# 緑色
nbt.BlockEntityTag.Patterns.0.Color=13
# 山形の模様
nbt.BlockEntityTag.Patterns.0.Pattern=bt
花火の星
データの保存形式が特殊で色データは使えない。