Minecraftのユーザー名は1~16文字、UUIDには2つの表記がある
文字、数字、アンダースコア。ハイフン、ドット、スペースは使えません。そしてUUIDはハイフンの有無にかかわらず受け入れられるため、同じ検索でも一方が失敗し、もう一方が成功することがあります。
スキンの検索とは、ユーザーが入力した情報をMojangが認識できる形式に変換することであり、その形式は2種類しかありません。どちらも厳密なルールがあり、UUIDの方には「見つかりません」という報告が多発する原因となる落とし穴があります。
ユーザー名のルール
^[A-Za-z0-9_]{1,16}$
使用できる文字種は文字、数字、アンダースコアの3種類のみです。長さは1~16文字です。
何が除外されるかが重要です。
- ハイフンは使用不可 — ユーザーが最もよく試す文字です
- ドット、スペース、
@は使用不可 - 16文字を超えるもの、および空のものは使用不可
そのため、サーバーの表示名、Discordのハンドル名、メールアドレスなどは、名前のように見えても解決できません。検索が失敗し、テキストにハイフンが含まれている場合、それがほぼ常に原因です。そして、ハイフンはユーザーに別の形式を試させる文字でもあります。
UUIDのルールと、なぜ2つの表記があるのか
^[0-9a-fA-F]{8}-?[0-9a-fA-F]{4}-?[0-9a-fA-F]{4}-?[0-9a-fA-F]{4}-?[0-9a-fA-F]{12}$
すべての-?に注目してください。各ダッシュはオプションです。これら2つは同じアカウントであり、どちらも受け入れられます。
069a79f4-44e9-4726-a5be-fca90e38aaf5 dashed
069a79f444e94726a5befca90e38aaf5 undashed
32桁の16進数で、8-4-4-4-12のグループに分けられます。大文字と小文字も関係ありません。A-Fとa-fはどちらも一致します。
これは、2つの形式が異なる場所から来るため重要です。プレイヤーに対する/data get、usercache.json、プラグインの設定、Mojang自身のAPIは、どちらの形式を出力するかについて意見が一致しないため、両方に出くわすことになります。そのため、一方しか受け入れないツールは、半分くらいの確率で壊れているように見えます。
-?は、すべてか無かではなく、セパレーターごとであるため、部分的にダッシュが入った文字列も通過します。これは厳密に正しいよりも許容範囲が広く、意図的にそうなっています。誰かがダッシュを1つ失ったためにペーストを拒否しても、誰も得をしません。
名前とUUIDが互換性がない理由
ユーザー名は変更および再利用できますが、UUIDはできません。したがって、ユーザー名の検索は「現在この名前を持っているのは誰か」に答え、UUIDの検索は「今日何と呼ばれていようと、この特定のアカウント」に答えます。
ホワイトリスト、スコアボード、データパック、頭など、保存するものはすべて、UUIDが正しい状態を保ちます。ユーザー名は入力に便利なものです。
4つのアニメーション、そしてそれらは時間の経過によるポーズである
ビューアはアイドル、歩行、走行、飛行を提供します。これらは静止ポーズではなくアニメーションであり、スキンの評価において重要です。静止しているときにうまく見えるテクスチャでも、腕が振られると違和感があることがあります。これは、腕の側面(平面プレビューでは決して見えない面)が見えるようになるためです。
これが、単に前面と背面をレンダリングするだけでなく、モーションでスキンをプレビューすることの利点です。