Màn hình dialog: tạo menu thật mà không cần mod
Dialog của datapack tạo cửa sổ thật với ô nhập liệu và nút bấm. Đây là cấu trúc JSON, cách nút chạy lệnh và ưu điểm so với mẹo dùng sách làm menu.
Các menu máy chủ trước đây thường được tạo bằng những Quyển sách có các trang có thể nhấp, hoặc GUI Rương được giả lập bằng khung vật phẩm. Hộp thoại đã thay thế cả hai bằng một màn hình thực tế.
Hộp thoại là gì
Một tệp JSON trong datapack mô tả một cửa sổ:
data/<namespace>/dialog/welcome.json
{
"type": "minecraft:notice",
"title": { "text": "Welcome" },
"body": [{ "type": "minecraft:plain_message",
"contents": { "text": "Pick a class to begin." } }],
"action": { "label": { "text": "Continue" } }
}
Sau đó /dialog show @p my_pack:welcome.
Các loại
| Loại | Hình dạng |
|---|---|
notice | văn bản cộng với một nút đóng |
confirmation | có / không, mỗi nút có hành động riêng |
multi_action | một lưới các nút |
server_links | danh sách liên kết tích hợp |
dialog_list | một menu mở các hộp thoại khác |
multi_action là công cụ chính — nó là công cụ chọn lớp, cửa hàng, danh sách dịch chuyển.
Các nút chạy lệnh
{ "label": { "text": "Warp to spawn" },
"action": { "type": "minecraft:run_command", "command": "/spawn" } }
Giống như clickEvent trong trò chuyện, lệnh này chạy với tư cách là Người chơi nhấp chuột, ở cấp độ quyền của họ. Một nút gọi lệnh chỉ dành cho op sẽ không có tác dụng gì đối với Người chơi bình thường. Cách giải quyết tiêu chuẩn là mục tiêu trigger: nút chạy /trigger warp set 1 và một hàm ticking thực hiện phần đặc quyền.
Ô nhập liệu
"inputs": [
{ "type": "minecraft:text", "key": "name", "label": { "text": "Your name" }, "max_length": 16 },
{ "type": "minecraft:boolean", "key": "pvp", "label": { "text": "Enable PvP" } },
{ "type": "minecraft:single_option", "key": "class", "options": [
{ "id": "mage", "display": { "text": "Mage" } },
{ "id": "rogue", "display": { "text": "Rogue" } } ] }
]
Các giá trị đến dưới dạng đối số macro cho hàm mà nút gọi, vì vậy hàm nhận là một macro:
$say Welcome $(name), you chose $(class)
Tiền tố $ trên dòng và $(key) để thay thế. Đó là toàn bộ cơ chế liên kết, và đó là điều khiến các hộp thoại thực sự hữu ích chứ không chỉ để trang trí.
Tại sao điều này tốt hơn cách hack bằng Quyển sách
- Nó là một màn hình, vì vậy nó tạm dừng nhập liệu thay vì nằm trong lịch sử trò chuyện.
- Các ô nhập liệu thực sự tồn tại. Một Quyển sách chỉ có thể cung cấp các liên kết.
- Không yêu cầu vật phẩm. Không có gì để mất, bỏ hoặc sao chép.
- Nó đóng sạch sẽ và không thể cuộn lại.
Điều duy nhất mà Quyển sách vẫn làm tốt hơn là đọc văn bản dài — phần thân hộp thoại không phải là nơi tốt để chứa ba trang truyền thuyết.
Kiểu waypoint
Cùng một công cụ bao gồm các điểm tham chiếu trên thanh định vị (locator-bar waypoints), là một registry datapack riêng biệt kiểm soát màu sắc và hình ảnh đánh dấu được hiển thị cho Người chơi hoặc vị trí được theo dõi. Hữu ích cho các điểm đánh dấu đội mà thanh bossbar sẽ quá xâm phạm.
Xây dựng màn hình hộp thoại với các ô nhập liệu và nút bấm, và tùy chỉnh kiểu điểm tham chiếu, trong Trình tạo kiểu điểm tham chiếu & ô nhập liệu hộp thoại.