Guides / Building & Resources

Một pixel Bản đồ là một byte, và hai bit của nó là độ sáng

61 màu cơ bản × 4 sắc thái = 244 màu từ một mảng 16.384 byte. Chỉ một trong bốn sắc thái là màu thật của khối; ba sắc thái còn lại được làm tối xuống 86%, 71% và 53%.

Mọi Bản đồ đã được lấp đầy trong Minecraft đều có cùng Kích cỡ trên đĩa: một mảng byte colors gồm chính xác 16.384 mục, tức là 128 × 128. Điều này đúng với Bản đồ Kích cỡ-0 bao phủ 128 khối và Bản đồ Kích cỡ-4 bao phủ 2.048 khối — số lượng pixel không bao giờ thay đổi. Mọi thứ khác về nghệ thuật Bản đồ đều xuất phát từ sự thật đó.

Byte được chia làm đôi

Mỗi trong số 16.384 byte đó không phải là một màu. Nó là một màu cơ bản và một sắc thái được đóng gói cùng nhau:

baseColorId = colorId >> 2      // 0–63
shadeIndex  = colorId & 3       // 0–3

Vì vậy, hai bit thấp là độ sáng và phần còn lại là khối bạn đang nhìn. Với 61 màu cơ bản được định nghĩa (id 0 là ô trong suốt/chưa khám phá), byte cao nhất mà một Bản đồ thực sự chứa là 61 × 4 + 3 = 247.

61 × 4 = 244 màu riêng biệt, đó là toàn bộ bảng màu có sẵn cho nghệ thuật Bản đồ. Không phải 61, và không phải 256.

Chỉ một sắc thái là màu thực tế của khối

Bốn hệ số nhân không được phân bổ đều, và một trong số đó là 1.0:

chỉ số sắc tháihệ số nhândưới dạng phần trăm
0180 / 25570.6%
1220 / 25586.3%
2255 / 255100%
3135 / 25552.9%

Sắc thái 2 là màu kết cấu của khối, không bị thay đổi. Ba sắc thái còn lại là các phiên bản tối hơn của nó, và sắc thái tối nhất — sắc thái 3 — chỉ hơn một nửa độ sáng.

Đây là lý do tại sao nghệ thuật Bản đồ cầu thang trông rất khác so với một Bản đồ phẳng. Một công trình phẳng chỉ có thể tạo ra một trong bốn sắc thái này cho mỗi khối, vì vậy một Bản đồ phẳng có 61 màu có sẵn. Thay đổi chiều cao sẽ mở khóa ba sắc thái khác của mỗi khối và đưa bạn đến 244. Bảng màu không trở nên rộng hơn — bạn không có màu sắc mới — nó trở nên sâu hơn bốn lần về giá trị, đó chính xác là những gì dithering cần.

Cũng lưu ý rằng thứ tự sắc thái không đơn điệu: chỉ số 3 là tối nhất, không phải sáng nhất. Sắp xếp theo chỉ số và mong đợi một gradient sẽ cho bạn 71%, 86%, 100%, 53%.

Kích cỡ nhân diện tích, không bao giờ nhân độ phân giải

Trường scale chạy 0–4, và mặt đất nó bao phủ là 128 × 2^scale khối mỗi cạnh:

Kích cỡkhối được bao phủmột pixel Bản đồ là
0128 × 1281 khối
1256 × 2562 × 2 khối
2512 × 5124 × 4 khối
31.024 × 1.0248 × 8 khối
42.048 × 2.04816 × 16 khối — chính xác một chunk

Một Bản đồ Kích cỡ-4 bao phủ diện tích gấp 256 lần so với Bản đồ Kích cỡ-0 bằng cách sử dụng cùng 16.384 byte. Đó là toàn bộ lý do tại sao nghệ thuật Bản đồ phải được xây dựng ở Kích cỡ 0: ở bất kỳ mức thu phóng nào khác, một pixel là trung bình của nhiều khối và hình ảnh bạn đã cẩn thận đặt sẽ bị lấy mẫu lại.

Hàng Kích cỡ-4 đáng nhớ vì một lý do khác — một pixel chính xác là một chunk, điều này làm cho một Bản đồ được phóng to hoàn toàn trở thành một lưới chunk có thể sử dụng được.

Điều này có ý nghĩa gì đối với một tệp bị hỏng

Nếu một map_<id>.dat có một mảng colors không phải 16.384 byte, thì đó không phải là một Bản đồ bị thiếu pixel — nó hoàn toàn không phải là một Bản đồ có thể đọc được. Không có dạng độ dài một phần. Mảng luôn có Kích cỡ đầy đủ, với các khu vực chưa khám phá được lưu trữ dưới dạng id màu 0 thay vì bị bỏ qua.

Trích ảnh từ map.dat →

More guides

Browse all →

Cần thêm công cụ Minecraft khác?

Bộ công cụ tạo, xem và chuyển đổi chạy ngay trên trình duyệt — tất cả đều miễn phí.