Các thành phần vật phẩm Java 1.20.4 NBT và 1.20.5+
8 phút đọc
Minecraft Java 1.20.5 đã chuyển nhiều tính năng của vật phẩm từ NBT cũ sang các thành phần vật phẩm. Thay đổi đó ảnh hưởng đến việc lệnh /give, thay thế vật phẩm, phần thưởng loot, tên tùy chỉnh, lore, enchantments, dữ liệu tùy chỉnh và nhiều quy trình của gói tài nguyên. NBTForge luôn hiển thị bộ chọn phiên bản vì đây không chỉ là định dạng.
Kết quả guide
Quy tắc quyết định rõ ràng về thời điểm sử dụng vật phẩm cũ NBT và khi nào nên sử dụng các thành phần vật phẩm hiện đại.
Lộ trình khuyến nghị
- Chọn phiên bản Java chính xác trước khi chỉnh sửa ngăn xếp vật phẩm.
- Xây dựng vật phẩm một lần, sau đó chuyển đổi giữa 1.20.4 và 1.20.5+ chỉ để so sánh kết quả output một cách có chủ ý.
- Coi tên tùy chỉnh, lore, enchantments, không thể phá vỡ, độ hiếm, ánh sáng lấp lánh và dữ liệu tùy chỉnh dưới dạng các trường nhạy cảm với phiên bản.
- Sử dụng vật phẩm Project để giữ phiên bản cũ và phiên bản hiện đại cạnh nhau khi hỗ trợ nhiều thế giới.
- Ghi lại phiên bản đích bên cạnh các lệnh bạn chia sẻ với những người sáng tạo khác.
Khi vật phẩm kế thừa NBT vẫn là mục tiêu phù hợp
Sử dụng mục kế thừa NBT khi lệnh phải chạy trong Java 1.20.4 trở xuống. Trong họ thế giới đó, nhiều chi tiết mục nằm bên trong cấu trúc NBT cũ và output thành phần không phải là cú pháp đích.
Output kế thừa cũng hữu ích khi di chuyển thư viện lệnh cũ hơn. Import lệnh cũ, so sánh các trường được phân tích cú pháp và sau đó chỉ tạo lại sau khi chọn phiên bản đích mới.
Khi các thành phần vật phẩm là mục tiêu phù hợp
Sử dụng output thành phần cho Java 1.20.5 trở lên. Cú pháp thành phần là định dạng hiện đại cho nhiều tính năng của mục, bao gồm tên, lore, enchantments, dữ liệu tùy chỉnh và hành vi hiển thị.
Nếu bạn đang xây dựng nội dung bản đồ mới cho các phiên bản Java hiện tại, hãy bắt đầu với output thành phần và chỉ tạo cú pháp cũ khi bạn biết máy chủ cũ hơn cần nó.
- Các lệnh mục Java hiện đại phải được tạo bằng phiên bản hiện tại được chọn.
- Quy trình về loot và phần thưởng phải sử dụng cùng phiên bản với datapack thế giới.
- Không kết hợp lệnh /give kế thừa với công cụ sửa đổi mục thời đại thành phần trừ khi bạn cố tình di chuyển.
Cách so sánh an toàn
Phiên bản chuyển đổi có thể thay đổi tên trường, lồng nhau và đôi khi trường nào có thể biểu thị được. Sử dụng bảng điều khiển khác biệt output sau khi chuyển đổi phiên bản thay vì quét một lệnh dài bằng mắt.
Đối với các mẫu được chia sẻ, hãy giữ phiên bản trong tiêu đề bài viết, tên preset hoặc tên vật phẩm nhập Project. Lệnh có tên "thanh kiếm thưởng" không rõ ràng; lệnh có tên "thanh kiếm thưởng Java 1.21" dễ hỗ trợ hơn nhiều.
Gửi hiện vật đã copy
Sử dụng hướng dẫn này để tạo tạo phẩm mà người chơi hoặc người tạo bản đồ sẽ thực sự chạy: lệnh được copy, gói Project được đặt hàng hoặc tài nguyên datapack. Quá trình xem xét cuối cùng sẽ diễn ra trên kết quả được copy đó, không chỉ ở trạng thái trình tạo có thể chỉnh sửa.
Khi quy trình có phân biệt phiên bản, hãy gắn nhãn phiên bản đích bên cạnh lệnh. Khi nó sử dụng bộ chọn, scoreboard, boss bar, thẻ, loot table hoặc thứ tự Project, hãy kiểm tra những phần phụ thuộc đó trong một thế giới sạch sẽ trước khi xuất bản thiết lập.
- Copy từ Output cho một lệnh và từ Project cho các gói được đặt hàng.
- Giữ riêng các biến thể Java, Bedrock và snapshot.
- Trước tiên, hãy kiểm tra các bộ chọn phá hủy với output vô hại.
- Cập nhật các preset có liên quan khi hướng dẫn trở thành quy trình chuẩn.
Guide và preset liên quan
FAQ
Output Java 1.20.5 có luôn tốt hơn không?
Nó chỉ tốt hơn cho các thế giới chạy 1.20.5 trở lên. Các thế giới Java cũ hơn cần cú pháp kế thừa, vì vậy kết quả output chính xác phụ thuộc vào thế giới mục tiêu.
Tôi có thể giữ cả hai định dạng không?
Vâng. Lưu vật phẩm Project riêng biệt cho phiên bản cũ và phiên bản hiện đại, gắn nhãn chúng rõ ràng và cập nhật cả hai khi thiết kế mục cơ bản thay đổi.
Khi nào hướng dẫn này sẽ trở thành gói Project?
Sử dụng Project khi quy trình cần nhiều lệnh, có thứ tự thiết lập và dọn dẹp hoặc phải chỉnh sửa lại sau khi kiểm tra. Các lệnh một lần có thể ở dạng Output.