Hướng dẫn

Cách làm plugin minigame cho Minecraft

Cập nhật 18 tháng 10, 2026

Plugin minigame chạy theo từng vòng: người chơi chờ trong sảnh, đếm ngược bắt đầu, game diễn ra theo luật riêng, có người thắng và đấu trường được khôi phục cho vòng sau. Mọi minigame, từ spleef đến bed wars, đều có chung một bộ khung. Làm đúng phần đó thì luật chơi là phần dễ.

Bắt đầu từ ví dụ này và đổi luật chơi.

Tạo thứ này với Codexe

Từng bước

  1. 1.Viết luật của một vòng chơi

    Bao nhiêu người chơi, vòng chơi bắt đầu và kết thúc thế nào, làm sao để thắng, chuyện gì xảy ra khi chết (bị loại, hồi sinh, làm khán giả) và người chơi nhận gì lúc bắt đầu.

  2. 2.Lên kế hoạch thiết lập đấu trường

    Các lệnh admin để tạo đấu trường và đặt sảnh chờ, điểm hồi sinh và ranh giới, ví dụ /mg create <name> và /mg setspawn <name>. Đấu trường được lưu trong một tệp để còn nguyên sau khi khởi động lại.

  3. 3.Xác định các trạng thái game

    Đang chờ, đang bắt đầu (đếm ngược), đang chơi và kết thúc. Mỗi trạng thái cho phép những việc khác nhau: không ai phá khối trong sảnh chờ, không ai vào một game đang diễn ra.

  4. 4.Quyết định cách khôi phục đấu trường

    Ghi lại và hoàn tác các khối bị thay đổi trong vòng chơi, hoặc nạp lại bản sao của một thế giới mẫu. Không khôi phục thì vòng thứ hai sẽ bắt đầu trên một bản đồ đã bị phá.

  5. 5.Thêm những gì người chơi nhìn thấy

    Bảng điểm bên hông với số người chơi còn lại và thời gian, boss bar hoặc tiêu đề cho phần đếm ngược, và tin nhắn chat khi có người bị hạ và khi có người thắng.

  6. 6.Tạo, build và chơi thử một vòng

    Mô tả cho Codexe, để nó biên dịch, rồi vào máy chủ thử nghiệm bằng Dùng thử ngay. Đặt số người chơi tối thiểu thấp khi thử để vòng chơi có thể bắt đầu.

Các trạng thái game

Hầu hết lỗi minigame là do người chơi làm gì đó ở sai trạng thái. Ghi các trạng thái trong yêu cầu giúp AI xây dựng plugin xoay quanh chúng.

Trạng tháiĐiều gì xảy raQuy tắc thường gặp
Đang chờNgười chơi vào sảnh chờKhông có sát thương, không phá khối, rời đi bằng một vật phẩm hoặc lệnh
Đang bắt đầuĐếm ngược khi đủ số người tối thiểuĐếm ngược dừng lại nếu người chơi rời đi khiến số người dưới mức tối thiểu
Đang chơiLuật chơi được áp dụngKhông cho vào thêm, chết thì bị loại hoặc hồi sinh, thoát game tính là thua
Kết thúcCông bố người thắng, trao phần thưởngNgười chơi được đưa về sau vài giây, đấu trường được khôi phục

Khôi phục đấu trường

  • Ghi lại và hoàn tác thay đổi: lưu từng khối trước khi nó thay đổi trong vòng chơi và đặt lại khi kết thúc. Nhanh với đấu trường nhỏ, nơi người chơi chỉ phá hoặc đặt vài khối.
  • Thế giới mẫu: giữ một bản sao sạch của bản đồ, gỡ thế giới đã chơi sau vòng đấu và chép bản mẫu đè lên. Đơn giản và đáng tin cậy với những bản đồ bị phá hủy nhiều.
  • Không cho phép thay đổi: với các game như parkour hay đấu PvP tay đôi, chặn hoàn toàn việc thay đổi khối và không cần khôi phục gì cả.

Mô tả ví dụ

"Một plugin minigame spleef cho Paper 1.21.4. Admin tạo đấu trường bằng /spleef create <name>, /spleef setlobby và /spleef setfloor (hai góc của sàn tuyết). Người chơi tham gia bằng /spleef join <arena>. Vòng chơi bắt đầu 15 giây sau khi có 2 người, tối đa 8. Người chơi nhận một xẻng kim cương, phá tuyết ngay lập tức, và bị loại khi rơi xuống dưới sàn. Người trụ lại cuối cùng thắng 50 coin qua Vault. Người bị loại trở thành khán giả. Sàn tuyết được khôi phục sau mỗi vòng. Thanh bên hiển thị số người còn lại và thời gian. Đấu trường lưu trong arenas.yml, số người tối thiểu và phần thưởng trong config.yml."

Thử nghiệm một minigame

Rất khó đánh giá một minigame qua mã nguồn: bạn phải chơi một vòng. Dùng thử ngay khởi động một máy chủ Paper riêng đúng phiên bản của bạn với plugin đã cài, thường là trong một thế giới phẳng, và bạn bè có thể vào nếu bạn thêm họ vào Quyền truy cập máy chủ. Gói Free cho phép 2 người trên một máy chủ thử nghiệm, Pro 5, Business 10 và Enterprise 20.

Hãy yêu cầu đặt số người chơi tối thiểu trong config.yml để bạn có thể chỉnh thành 1 hoặc 2 khi thử. Người chơi thử nghiệm cũng có thể vào, chạy lệnh tham gia và lệnh admin rồi kiểm tra các tin nhắn, nhờ đó phát hiện lệnh hỏng trước khi bạn chơi.

Câu hỏi

Một đấu trường hay nhiều đấu trường?

Hãy yêu cầu nhiều đấu trường ngay từ đầu. Biến một plugin một đấu trường thành plugin nhiều đấu trường về sau đồng nghĩa với việc viết lại cách lưu người chơi và trạng thái game.

Tôi có thể làm minigame PvP 1.8 không?

Có. Hãy ghi Spigot hoặc Paper 1.8.8 trong yêu cầu: Codexe viết mã cho API cũ đó, và máy chủ thử nghiệm chạy các phiên bản từ 1.8 đến 26.3.

Mạng máy chủ minigame hoạt động thế nào?

Các mạng lớn chạy mỗi game trên một máy chủ riêng phía sau proxy BungeeCord hoặc Velocity, với một máy chủ sảnh chờ đưa người chơi đến game còn trống. Đó là một plugin proxy cộng với một plugin game, thành hai dự án.

Build minigame của bạn

Prompt này mở ra sẵn sàng để gửi:

“Một plugin minigame spleef cho Paper 1.21.4: đấu trường tạo bằng /spleef create, setlobby và setfloor, người chơi tham gia bằng /spleef join, vòng chơi bắt đầu 15 giây sau khi có 2 người (tối đa 8), xẻng kim cương, bị loại khi rơi xuống dưới sàn, người cuối cùng thắng 50 coin qua Vault, người bị loại làm khán giả, sàn tuyết được khôi phục sau mỗi vòng, thanh bên với số người còn lại và thời gian, đấu trường lưu trong arenas.yml.”

Tạo thứ này với Codexe
Cách làm plugin minigame cho Minecraft | Codexe