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 Codexe

Từng bước

  1. 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. 2.Gắn tag bằng PersistentDataContainer

    Lưu một id như fire_wand vào PersistentDataContainer của vật phẩm bằng một NamespacedKey. 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. 3.Viết các kỹ năng

    Mỗi kỹ năng là một event listener: PlayerInteractEvent cho nhấp chuột phải, EntityDamageByEntityEvent cho đòn đánh, BlockBreakEvent cho 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. 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. 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. 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ăngSự kiệnGhi chú
Sức mạnh khi nhấp chuột phảiPlayerInteractEventKiể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úngEntityDamageByEntityEventKiể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ùngBlockBreakEventTôn trọng các plugin bảo vệ như WorldGuard
Hiệu ứng thụ động khi cầmMột tác vụ lặp lại hoặc PlayerItemHeldEventGỡ hiệu ứng khi cất vật phẩm đi
Cung hoặc vật thể bắn raEntityShootBowEvent, ProjectileHitEventGắ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
Cách tạo vật phẩm tùy chỉnh bằng plugin Minecraft | Codexe