Các trường được nhận dạng
Tên, lore, enchantments, damage, repair cost, unbreakable, CustomModelData, dữ liệu potion, profiles, attributes và adventure-mode predicates được ánh xạ tới components.
Đầu ra nhận biết phiên bản
Minecraft 1.21.4 đã thay đổi CustomModelData, trong khi 1.21.5 đã đơn giản hóa một số component và giới thiệu tooltip_display. Chọn phiên bản máy chủ bạn đang chạy.
Dự phòng an toàn
Các thẻ không xác định được giữ lại trong minecraft:custom_data và được liệt kê để xem xét. Công cụ chuyển đổi không giả vờ rằng custom_data làm cho các cơ chế trò chơi lỗi thời hoạt động.
Tại sao Minecraft thay thế NBT vật phẩm bằng components
Minecraft Java 1.20.5 đã thay thế thẻ vật phẩm cũ hầu hết không có cấu trúc bằng các component dữ liệu có kiểu. Trong các lệnh, các component xuất hiện trong dấu ngoặc vuông sau ID vật phẩm, được phân tách bằng dấu phẩy. Damage trở thành minecraft:damage, display.Name trở thành minecraft:custom_name, Enchantments trở thành minecraft:enchantments và các trường tùy chỉnh tùy ý đã chuyển sang minecraft:custom_data.
Đây không phải là một thay đổi cú pháp một lần. Minecraft 1.21.4 đã mở rộng custom_model_data thành các danh sách được sử dụng bởi hệ thống mô hình vật phẩm mới. Minecraft 1.21.5 đã chuyển khả năng hiển thị tooltip vào minecraft:tooltip_display và đơn giản hóa enchantments, attributes, dyed colors và adventure-mode predicates. Các lệnh 26.x hiện tại tiếp tục từ định dạng component mới hơn đó.
Một công cụ chuyển đổi có thể ánh xạ các trường vật phẩm đã biết, nhưng nó không thể tự động sửa chữa mọi khối lệnh hoặc data pack. NBT thực thể, dữ liệu thực thể khối, loot functions, predicates và text components cũng đã thay đổi qua các phiên bản. Luôn kiểm tra lệnh được tạo trong một bản sao của thế giới đích hoặc trên máy chủ thử nghiệm.
Cách chuyển đổi lệnh /give cũ
- 1Dán một lệnh /give của Java Edition từ 1.20.4 trở về trước. Bạn cũng có thể chỉ dán compound giữa các dấu ngoặc nhọn.
- 2Chọn họ mục tiêu chính xác. Sử dụng 1.21.5 - 26.x cho các máy chủ hiện tại, không phải định dạng component 1.20.5 cũ hơn.
- 3Đọc mọi cảnh báo. custom_data được giữ lại là nơi lưu trữ an toàn, nhưng nó không kích hoạt các thẻ Damage, Potion hoặc AttributeModifiers đã lỗi thời.
- 4Sao chép lệnh đã tạo và kiểm tra nó trong một thế giới tạm thời trước khi thay thế các lệnh trong data pack hoặc hệ thống khối lệnh.
Những gì công cụ chuyển đổi này không thay đổi
Nó chuyển đổi một stack vật phẩm hoặc lệnh /give tại một thời điểm. Nó không quét toàn bộ data pack, viết lại các kiểm tra execute if data, hoặc cập nhật các item predicates được lưu trữ trong các tệp JSON.
Nó không chuyển đổi JSON vật phẩm Bedrock. Các component vật phẩm Java và component addon Bedrock là các hệ thống khác nhau ngay cả khi một số tên trông tương tự.
Các text components từ các phiên bản rất cũ có thể vẫn cần hiện đại hóa thủ công. Các player profiles phức tạp, custom potion effects và block entity payloads nên được kiểm tra so với bản phát hành mục tiêu.
FAQ về NBT sang Components
Tại sao lệnh /give cũ của tôi ngừng hoạt động trong 1.20.5?
Java 1.20.5 đã chuyển dữ liệu vật phẩm ra khỏi cấu trúc {tag} cũ và vào các component có kiểu được viết trong dấu ngoặc vuông sau ID vật phẩm.
Tôi có thể đặt mọi thẻ cũ vào trong minecraft:custom_data không?
Bạn có thể giữ lại các trường tùy ý ở đó, nhưng các cơ chế tích hợp không còn đọc các thẻ cấu trúc cũ như Damage hoặc Enchantments từ custom_data. Chúng cần các component thực của chúng.
Tôi nên sử dụng mục tiêu nào cho Minecraft 26.2 hoặc 26.3?
Sử dụng Minecraft 1.21.5 - 26.x. Đầu ra đó sử dụng các hình dạng enchantment và attribute đơn giản hóa cùng với tooltip_display từ hệ thống component mới hơn.
Công cụ chuyển đổi có hỗ trợ đầy đủ các lệnh không?
Có. Nó đọc một mục tiêu /give cũ, ID vật phẩm, NBT compound và số lượng, sau đó xây dựng lại một lệnh /give hiện tại. Nó cũng chấp nhận một NBT compound độc lập.
Tại sao có cảnh báo cho BlockEntityTag?
block_entity_data hiện tại phải xác định một thực thể khối hợp lệ. Một số lệnh cũ dựa vào loại vật phẩm và bỏ qua ID, vì vậy trường đó cần được xem xét thủ công.
Việc chuyển đổi có được thực hiện trên máy chủ không?
Không. Việc phân tích cú pháp và chuyển đổi chạy cục bộ trong trình duyệt của bạn. Lệnh không được công cụ này tải lên.