So sánh
Datapack hay plugin
Cập nhật 18 tháng 10, 2026
Datapack là một thư mục gồm các tệp JSON và .mcfunction mà Minecraft vanilla đọc được: công thức chế tạo, loot, advancement và lệnh. Plugin là mã Java do máy chủ Paper hoặc Spigot chạy. Nhiều ý tưởng làm được theo cả hai cách; lựa chọn đúng tùy vào nơi nó phải chạy và độ phức tạp của logic.
Một ví dụ rất hợp với datapack.
Tạo thứ này với CodexeSo sánh song song
| Datapack | Plugin | |
|---|---|---|
| Cần có | Không gì cả: vanilla là đủ | Paper, Spigot hoặc một bản fork |
| Chơi đơn | Có | Không |
| Viết bằng | JSON và lệnh Minecraft | Java hoặc Kotlin |
| Làm tốt | Công thức chế tạo, bảng loot, advancement, tag, sinh thế giới, cơ chế dựa trên lệnh | Lệnh có tham số, GUI, nền kinh tế, cơ sở dữ liệu, sự kiện, quyền |
| Phản ứng với sự kiện | Hạn chế: advancement, predicate và function chạy mỗi tick | Hàng trăm sự kiện: phá khối, chat, sát thương, nhấp trong túi đồ và nhiều hơn nữa |
| Lưu dữ liệu | Bảng điểm và storage NBT trong thế giới | Tệp, SQLite, MySQL, mọi thứ Java dùng được |
| Giữa các phiên bản | Định dạng thay đổi thường xuyên; pack cần được cập nhật | API ổn định; nhiều plugin vẫn tiếp tục hoạt động |
| Cài vào | world/datapacks/ | plugins/ |
Khi nào datapack là lựa chọn tốt hơn
- Nó phải chạy khi chơi đơn hoặc trên máy chủ vanilla, hoặc người chơi sẽ chia sẻ nó như một phần bổ sung cho thế giới.
- Ý tưởng chủ yếu là dữ liệu: công thức chế tạo mới, loot được thay đổi, một cây advancement, sinh thế giới tùy chỉnh.
- Bạn không muốn dùng phần mềm máy chủ nào và không muốn build Java.
Khi nào plugin là lựa chọn tốt hơn
- Bạn cần lệnh có tham số, quyền, GUI hoặc cửa hàng.
- Dữ liệu phải được lưu theo từng người chơi trong một tệp hoặc cơ sở dữ liệu, hoặc chia sẻ với website hay Discord.
- Logic phản ứng với nhiều sự kiện, hoặc sẽ cần nhiều function chạy mỗi tick, điều làm tốn hiệu năng trong datapack.
- Bạn dùng các plugin khác: Vault, LuckPerms, PlaceholderAPI, WorldGuard.
- Nếu bạn muốn có logic phía máy chủ mà không cần Java và không cần build, có một lối đi ở giữa: Skript.
Dùng cả hai trên một máy chủ
Paper và Spigot nạp datapack từ thư mục thế giới giống như vanilla, nên bạn không phải chọn một loại cho cả máy chủ. Một cách chia phổ biến: công thức chế tạo, bảng loot, advancement và sinh thế giới đặt trong datapack, nơi chúng chỉ là dữ liệu thuần và dễ sửa; lệnh, GUI, nền kinh tế và mọi thứ lưu theo từng người chơi đặt trong plugin. Hãy nhớ rằng datapack thuộc về một thế giới, còn plugin áp dụng cho mọi thế giới trên máy chủ.
Cả hai trên Codexe
Codexe làm được cả hai. Datapack được nạp trên một máy chủ Minecraft thật trước khi Sẵn sàng và log được đọc để tìm lỗi; plugin thì được biên dịch. Cả hai đều có thể chơi thử trên một máy chủ thử nghiệm riêng từ chính game của bạn, và datapack thay đổi việc sinh thế giới sẽ có một máy chủ với thế giới vừa được sinh mới, để bạn thấy địa hình của nó. Datapack được nạp thử trên các phiên bản từ 1.20.1 đến 26.3; plugin có thể nhắm tới 1.8.8 đến 26.3.
Câu hỏi
Datapack có thêm được vật phẩm mới không?
Không phải vật phẩm mới thật sự. Nó có thể cho vật phẩm có sẵn tên, component và model tùy chỉnh (kèm resource pack), nhưng không có hành vi mới vượt quá những gì lệnh cho phép.
Datapack có chạy trên máy chủ Paper không?
Có. Paper nạp datapack từ thư mục thế giới giống như vanilla, nên bạn có thể dùng datapack và plugin trên cùng một máy chủ.
Loại nào nhanh hơn?
Với những thứ nhỏ, cả hai đều ổn. Các tick function nặng kiểm tra mọi người chơi ở mỗi tick tốn nhiều hơn một plugin chỉ lắng nghe một sự kiện.
Tôi có thể chuyển datapack thành plugin sau này không?
Có, bằng cách viết lại logic của nó bằng Java. Công thức chế tạo, bảng loot và advancement thậm chí có thể ở lại trong datapack bên cạnh plugin, vì Paper nạp cả hai.
Làm nó dưới dạng datapack hoặc plugin
Prompt này mở ra sẵn sàng để gửi:
“Một datapack cho Minecraft 1.21.4, namespace "hunt": một cây advancement "Monster Hunter" với 6 advancement cho việc giết zombie, skeleton, creeper, enderman, phù thủy và Ender Dragon, mỗi cái cho XP, và một function load thêm bảng điểm số mạng hạ.”
Tạo thứ này với Codexe