Hướng dẫn
Cách tạo vật phẩm tùy chỉnh bằng plugin
Cập nhật 18 tháng 10, 2026
Kiếm, đũa phép, chìa khóa và công cụ tùy chỉnh là một trong những tính năng plugin được yêu cầu nhiều nhất. Plugin không thể thêm một vật phẩm thật sự mới vào game, nhưng có thể lấy một vật phẩm vanilla, đặt tên, lore và một tag ẩn, rồi phản ứng khi người chơi dùng nó. Người chơi vào bằng game bình thường, không cần mod.
Đổi các vật phẩm theo ý bạn.
Tạo thứ này với CodexeTừng bước
1.Liệt kê các vật phẩm
Với mỗi vật phẩm: vật liệu gốc, tên hiển thị, các dòng lore và công dụng. "Một blaze rod tên Fire Wand bắn ra quả cầu lửa khi nhấp chuột phải, thời gian hồi 5 giây" là một vật phẩm hoàn chỉnh.
2.Gắn tag bằng PersistentDataContainer
Lưu một id như
fire_wandvàoPersistentDataContainercủa vật phẩm bằng mộtNamespacedKey. Plugin nhận ra vật phẩm qua tag đó, không phải qua tên, nên đổi tên ở đe sẽ không tạo ra bản sao.3.Viết các kỹ năng
Mỗi kỹ năng là một event listener:
PlayerInteractEventcho nhấp chuột phải,EntityDamageByEntityEventcho đòn đánh,BlockBreakEventcho công cụ. Thêm thời gian hồi theo từng người chơi và từng vật phẩm.4.Quyết định cách người chơi nhận được chúng
Một lệnh admin
/give, công thức chế tạo, cửa hàng, vật phẩm rơi từ mob hoặc phần thưởng từ rương.5.Cho phép cấu hình mọi thứ
Tên, lore, sát thương, thời gian hồi và công thức chế tạo nằm trong
config.yml, để bạn cân bằng vật phẩm mà không cần build lại.6.Build và thử từng vật phẩm
Để Codexe biên dịch plugin, vào máy chủ thử nghiệm bằng Dùng thử ngay, tự đưa cho mình từng vật phẩm và dùng thử.
Vì sao dùng tag mà không dùng tên
Kiểm tra tên hiển thị hoặc lore là lỗi kinh điển: bất kỳ người chơi nào có đe cũng có thể đổi tên một que gỗ thành "Fire Wand". PersistentDataContainer (Minecraft 1.14 trở lên) lưu dữ liệu trên vật phẩm mà người chơi không sửa được, và dữ liệu vẫn còn qua các lần khởi động lại, trong rương và khi trao đổi vì nó là một phần của vật phẩm.
Từ 1.8 đến 1.13 chưa có PersistentDataContainer; plugin dùng NBT qua một thư viện hoặc một dấu lore ẩn. Hãy ghi phiên bản trong yêu cầu và Codexe sẽ viết theo cách mà phiên bản đó hỗ trợ.
Các kỹ năng và sự kiện đứng sau chúng
| Kỹ năng | Sự kiện | Ghi chú |
|---|---|---|
| Sức mạnh khi nhấp chuột phải | PlayerInteractEvent | Kiểm tra tay đang dùng, sự kiện kích hoạt một lần cho mỗi tay |
| Thêm sát thương hoặc hiệu ứng khi đánh trúng | EntityDamageByEntityEvent | Kiểm tra kẻ gây sát thương là người chơi đang cầm vật phẩm |
| Công cụ đào theo vùng | BlockBreakEvent | Tôn trọng các plugin bảo vệ như WorldGuard |
| Hiệu ứng thụ động khi cầm | Một tác vụ lặp lại hoặc PlayerItemHeldEvent | Gỡ hiệu ứng khi cất vật phẩm đi |
| Cung hoặc vật thể bắn ra | EntityShootBowEvent, ProjectileHitEvent | Gắn tag cho vật thể bắn ra để biết nó đến từ đâu |
Texture và model
Plugin thay đổi công dụng của vật phẩm, không thay đổi vẻ ngoài. Muốn có ngoại hình riêng thì cần một resource pack mà người chơi tải về: ở các phiên bản cũ, vật phẩm mang một số CustomModelData được pack ánh xạ sang một model, và từ 1.21.2 vật phẩm còn có thể trỏ tới model riêng qua component item_model. Không có pack thì vật phẩm trông như vật liệu gốc với tên tùy chỉnh, và với nhiều máy chủ như vậy là đủ.
Mô tả ví dụ
"Một plugin Paper 1.21.4 tên MagicItems. Ba vật phẩm, mỗi cái gắn một id PersistentDataContainer: Fire Wand (blaze rod, nhấp chuột phải bắn quả cầu lửa, hồi 5 giây), Frost Blade (kiếm sắt, đòn đánh gây Slowness II trong 3 giây), Miner's Pick (cúp kim cương, phá 3x3 nhưng không phá trong vùng WorldGuard mà người chơi không được xây). /mi give <player> <item> cho magicitems.admin. Công thức chế tạo có hình dạng cho từng vật phẩm. Tên, lore, thời gian hồi và công thức chế tạo trong config.yml."
Câu hỏi
Plugin hay mod cho vật phẩm tùy chỉnh?
Plugin nếu người chơi vào bằng game bình thường: vật phẩm là vật phẩm vanilla với hành vi mới. Mod nếu bạn cần vật phẩm hoặc khối thật sự mới với cách hiển thị riêng, và khi đó mọi người chơi đều phải cài. Xem plugin hay mod.
Tôi có thể dùng ItemsAdder hoặc Nexo cùng nó không?
Plugin của bạn có thể phụ thuộc vào chúng, nhưng đó là plugin trả phí: máy chủ thử nghiệm của Codexe không cài được chúng, nên plugin nào bắt buộc phải có chúng sẽ không bật được ở đó. Các dependency miễn phí ghi trong plugin.yml sẽ được cài sẵn trên máy chủ thử nghiệm cho bạn.
Vật phẩm có ngừng hoạt động sau khi cập nhật không?
Vật phẩm gắn tag PersistentDataContainer giữ nguyên tag qua các bản cập nhật Minecraft. Kỹ năng có thể cần build lại cho API mới; xem cập nhật plugin.
Tạo vật phẩm tùy chỉnh của bạn
Prompt này mở ra sẵn sàng để gửi:
“Một plugin Paper 1.21.4 tên MagicItems với ba vật phẩm gắn tag PersistentDataContainer: Fire Wand (blaze rod, nhấp chuột phải bắn quả cầu lửa, hồi 5 giây), Frost Blade (kiếm sắt, Slowness II trong 3 giây khi đánh trúng), Miner's Pick (cúp kim cương đào 3x3). /mi give cho magicitems.admin, một công thức chế tạo có hình dạng cho từng vật phẩm, tên, lore, thời gian hồi và công thức chế tạo trong config.yml.”
Tạo thứ này với Codexe