ID khối, vật phẩm và thực thể: không gian tên, trạng thái khối và những cái khác biệt
ID không phải lúc nào cũng giống tên gọi của vật phẩm, và ID khối không giống ID vật phẩm. Các quy tắc đặt tên, những lần đổi tên khiến lệnh cũ hỏng, và trạng thái khối nằm ở đâu.
Mọi lệnh báo lỗi "Unknown item" hay "Unknown block" đều là vấn đề về ID, và các quy tắc tinh tế hơn nhiều so với "viết thường với dấu gạch dưới".
Không gian tên không phải tuỳ chọn trong dữ liệu
minecraft:diamond_sword
my_pack:custom_sword
Lệnh cho phép bạn bỏ qua minecraft: — /give @s diamond_sword vẫn chạy — và tệp JSON cũng vậy: một diamond_sword trần trong bảng loot hay công thức sẽ được hiểu là minecraft:diamond_sword. Dù sao thì hãy viết không gian tên ở mọi nơi; nó giúp ID của bạn rõ ràng và dễ phát hiện lỗi đánh máy trong không gian tên.
ID khối và ID vật phẩm là hai thứ khác nhau
Một số khối không có vật phẩm, một số vật phẩm đặt ra khối khác:
| Vật phẩm | Khối được đặt |
|---|---|
minecraft:wheat_seeds | minecraft:wheat |
minecraft:redstone | minecraft:redstone_wire |
minecraft:string | minecraft:tripwire |
minecraft:flower_pot | minecraft:flower_pot, nhưng các biến thể trồng chậu là khối riêng |
| — | minecraft:water, minecraft:fire không có vật phẩm (air chỉ tồn tại dưới dạng vật phẩm là chồng rỗng) |
/setblock nhận ID khối. /give nhận ID vật phẩm. Dùng sai loại là nguyên nhân phổ biến nhất của lỗi "ID đó không tồn tại" dù thứ đó rõ ràng có thật.
Trạng thái khối nằm trong dấu ngoặc vuông
/setblock ~ ~ ~ oak_stairs[facing=east,half=top,waterlogged=true]
Trạng thái là thuộc tính của khối, không phải của vật phẩm — hướng xoay của một vật phẩm cầu thang thường được quyết định khi đặt xuống. Ngoại lệ là vật phẩm mang thành phần block_state, với các thuộc tính được áp dụng sau khi đặt. Thuộc tính không chỉ định sẽ nhận giá trị mặc định.
waterlogged khiến nhiều người vấp: nó tồn tại trên cầu thang, phiến đá, hàng rào và hàng tá thứ khác, và đặt khối mà không có nó sẽ xoá nước vốn có ở đó.
Những lần đổi tên khiến lệnh cũ hỏng
Một số ID đã thay đổi và những ID cũ giờ đơn giản là không tồn tại:
| Cũ | Hiện tại |
|---|---|
grass | short_grass |
grass_path | dirt_path |
scute | turtle_scute |
sign | oak_sign và các ID tương tự |
grass là trường hợp đau đầu nhất, vì grass_block vẫn tồn tại và là một thứ khác. Lệnh cũ dùng grass cho cây đó giờ sẽ báo lỗi khối không tồn tại.
ID thực thể
Phần lớn đều dễ đoán, với vài ngoại lệ: minecraft:snow_golem chứ không phải snowman, minecraft:mooshroom chứ không phải mushroom_cow, và mọi vật phóng đều là thực thể riêng — minecraft:arrow, minecraft:spectral_arrow, minecraft:trident.
Những thực thể về mặt kỹ thuật là khối thực thể — rương, phễu, biển báo — không xuất hiện trong danh sách thực thể và không thể bị /summon. Chúng được đặt dưới dạng khối và chỉnh sửa bằng /data.
Thẻ tốt hơn danh sách
#minecraft:planks #minecraft:logs #minecraft:wool
#minecraft:doors #minecraft:beds #minecraft:swords
Ở bất cứ đâu lệnh hay JSON chấp nhận một thẻ, dùng thẻ sẽ giúp bạn sống sót khi Mojang thêm loại gỗ mới. Viết cứng cả mười ba ID ván gỗ thì không.
Tra cứu mọi ID khối, vật phẩm và thực thể, cùng trạng thái khối và các thẻ mà chúng thuộc về, trong Trình duyệt ID Khối, Vật phẩm & Thực thể.