MC Toolkit

Hướng dẫn / Lệnh & dữ liệu

Đầu người chơi theo tên người dùng: cách thành phần hồ sơ hoạt động và vì sao đầu bị trắng

Đầu lưu một ảnh chụp nhanh skin, không phải liên kết trực tiếp. Đây là thành phần hồ sơ, lý do đầu cũ hiển thị sai skin, và cách tra cứu UUID liên quan.

Tặng đầu của một người chơi nghe như chỉ cần một đối số. Đúng là vậy, nhưng thứ được lưu lại không như mọi người tưởng, và điều đó giải thích phần lớn những điều kỳ lạ liên quan đến đầu.

Câu lệnh

/give @p player_head[profile="Notch"]

Thành phần profile đã thay thế NBT SkullOwner cũ. Những đoạn dùng {SkullOwner:"Notch"} là từ trước 1.20.5 và giờ không có tác dụng gì.

Thực sự thì lưu cái gì

Một cái đầu được cho bằng profile="Notch" chỉ lưu mỗi tên. Đó là một hồ sơ động — chú thích của vật phẩm nói vậy — và client của mỗi người chơi sẽ tra tên đó rồi tải skin về khi vẽ cái đầu. Một cái đầu chỉ mang ảnh chụp nhanh cố định khi hồ sơ của nó chứa chính texture:

"profile": {
  "name": "Notch",
  "id": [I; …],
  "properties": [{ "name": "textures", "value": "<base64>" }]
}

Hai hệ quả:

  • Đầu dựa theo tên sẽ đi theo skin hiện tại của người chơi. Nó được tra lại mỗi khi vẽ; client giữ skin đã tra cho đến khi skin đó không được dùng trong năm phút. Chỉ đầu mang thuộc tính textures mới bị đóng băng vào một skin duy nhất.
  • Nơi nó được phân giải là máy của người xem. Một cái đầu có thuộc tính textures đã nướng sẵn sẽ hiển thị mà không cần tra cứu gì cả. Đầu dựa theo tên phụ thuộc vào việc client của từng người xem kết nối được tới Mojang, chứ không phụ thuộc vào chế độ online của máy chủ.

Vì sao đầu bị trắng hoặc hiện Steve

Theo thứ tự khả năng:

  1. Tên không phân giải được cho client này. API của Mojang không truy cập được, hoặc tra cứu vẫn đang chờ; đầu hiển thị skin mặc định cho đến khi xong.
  2. Tên không tồn tại. Mojang không trả về gì cho các tài khoản đã xóa hoặc chưa từng đăng ký.
  3. Vẫn đang phân giải. Tra cứu chạy ở nền, nên đầu có thể hiện mặc định một lúc sau khi vừa vào tầm nhìn.

Đầu dựa theo tên sẽ tự thử lại khi mục cache của nó hết hạn. Để đóng băng skin thay vào đó, hãy cho đầu kèm thuộc tính textures — /fetchprofile name <name> phân giải một người chơi và cung cấp thành phần đầy đủ để sao chép, hoặc một cái đầu làm sẵn để tặng.

Đầu tùy chỉnh dùng texture, không dùng tên

Đầu trang trí — nội thất, đồ ăn, đầu mob từ các danh mục — không có chủ sở hữu. Chúng chỉ mang giá trị texture properties với một khối base64 trỏ tới URL texture. Đó là lý do chúng có thể chia sẻ dưới dạng một câu lệnh give dài duy nhất và vì sao chúng không bao giờ hỏng khi người chơi đổi tên.

Base64 giải mã thành một JSON nhỏ chứa textures.SKIN.url trên textures.minecraft.net. Không có gì khác trong đó quan trọng cho việc hiển thị.

Định dạng UUID

Có hai dạng và chúng không thay thế cho nhau được trong mọi ngữ cảnh:

trimmed   069a79f444e94726a5befca90e38aaf5
dashed    069a79f4-44e9-4726-a5be-fca90e38aaf5

Câu lệnh và NBT thường cần dạng có gạch nối hoặc mảng số nguyên. Các API web thường trả về dạng rút gọn. Chuyển đổi giữa chúng chỉ là thao tác máy móc — chèn gạch nối sau 8, 12, 16 và 20 ký tự.

Tặng đầu từ tên người dùng, duyệt các danh mục đầu trang trí, hoặc chuyển đổi giữa các định dạng UUID trong Công cụ Đầu người chơi & Tên người dùng.

Công cụ đầu & tên người chơi →

Hướng dẫn khác

Xem tất cả →