Panduan

Cara membuat plugin menu GUI Minecraft

Diperbarui 18 Oktober 2026

Menu server (warp, toko, kit, pengaturan) adalah inventory peti yang dibuka dan dikendalikan plugin. Setiap slot berisi item yang berfungsi sebagai tombol. Kelihatannya sederhana, tetapi menu yang tidak membatalkan setiap jenis klik membuat pemain bisa membawa pulang tombolnya. Panduan ini membahas cara kerja menu dan cara membuat serta mengujinya.

Mulai dari contoh ini.

Buat ini dengan Codexe

Langkah demi langkah

  1. 1.Buat sketsa menu

    Menu peti punya 1 sampai 6 baris berisi 9 slot (9 sampai 54). Tulis item mana di slot mana, apa fungsi setiap klik, dan slot mana yang hanya dekorasi seperti glass pane.

  2. 2.Buat inventory dengan holder

    Buka dengan Bukkit.createInventory(holder, size, title), memakai class InventoryHolder milikmu sendiri. Dari holder itulah plugin tahu bahwa klik terjadi di menunya dan bukan di peti biasa.

  3. 3.Tangani klik

    Di InventoryClickEvent, periksa holder, batalkan event, lalu jalankan aksi untuk slot itu. Tutup menu atau perbarui setelah aksi.

  4. 4.Blokir semua cara lain untuk memindahkan item

    Batalkan juga InventoryDragEvent, dan tangani shift-click, tombol angka, serta klik di inventory pemain sendiri selama menu terbuka.

  5. 5.Tambahkan halaman jika daftarnya panjang

    Untuk warp atau item toko yang tidak muat, sisihkan baris paling bawah untuk tombol sebelumnya, berikutnya, dan tutup.

  6. 6.Buka dari perintah

    Misalnya /warps, atau dari item atau NPC. Beri perintah itu permission jika menunya tidak untuk semua orang.

  7. 7.Build dan klik semuanya

    Biarkan Codexe mengompilasi plugin, bergabunglah ke server uji coba, dan klik setiap tombol. Pemain uji juga bisa membuka menu dan mengklik slot untukmu.

Aturan yang membuat menu aman

  • Kenali menu dari holder-nya, jangan pernah dari judulnya: judul bisa ditiru oleh peti mana pun yang diganti namanya.
  • Batalkan klik sebelum melakukan hal lain, agar error dalam aksi tidak pernah meninggalkan item di kursor pemain.
  • Batalkan drag dan shift-click dari inventory pemain, kalau tidak item bisa didorong masuk ke menu.
  • Jangan percaya item di slot: cari aksinya berdasarkan nomor slot atau tag pada item.
  • Jalankan pekerjaan lambat (membaca database, permintaan web) di luar main thread dan perbarui menu setelah selesai.

Menu dari config

Pemilik server suka mengubah menu tanpa build baru. Minta agar setiap menu didefinisikan di file config, dengan ukuran, judul, dan untuk setiap tombol: slot, material, nama, lore, dan aksi:

KunciContohFungsinya
size27Jumlah slot, kelipatan 9
slot13Posisi tombol, dihitung dari 0
materialENDER_PEARLItem yang ditampilkan
actionwarp:spawnApa yang dilakukan klik: warp, perintah, menu lain

Contoh deskripsi

"Plugin Paper 1.21.4 bernama WarpMenu. /warps membuka menu 6 baris dengan satu tombol per warp, 45 per halaman, dengan tombol sebelumnya, berikutnya, dan tutup di baris bawah. Admin menambah warp dengan /setwarp <name> <material> dan menghapusnya dengan /delwarp. Mengklik warp akan teleport setelah warmup 3 detik yang batal jika pemain bergerak. Pemain tidak bisa mengambil atau memindahkan item apa pun di menu. Warp disimpan di warps.yml, judul menu, nama tombol, dan pesan di config.yml."

Menguji menu dengan pemain uji

Pemain uji Codexe bisa membuka menu dan mengklik slot, lalu memeriksa bahwa menu terbuka, pesan muncul, atau item diberikan. Tambahkan pengujian dengan kata-katamu sendiri, seperti "pemain biasa menjalankan /warps dan mengklik slot 0, lalu melihat pesan teleport", dan pengujian itu dijalankan lagi setiap kali Codexe mengirimkan perubahan.

Pertanyaan

Apakah ini berfungsi di 1.8?

Menu peti ada di setiap versi sejak 1.8. API-nya berbeda dalam detail (nama material, judul), jadi sebutkan versinya di permintaan.

Bisakah aku membuat menu dengan Skript saja?

Bisa, dengan add-on skript-gui, yang sudah terpasang di server uji coba Skript Codexe. Plugin lebih baik untuk menu yang besar atau sering dipakai.

Bisakah menu terlihat seperti tekstur kustom?

Hanya dengan resource pack yang mengubah item atau latar belakang inventory. Sisi plugin-nya sama: slot, item, dan klik.

Buat menumu

Prompt ini terbuka dan siap dikirim:

“Plugin Paper 1.21.4 bernama WarpMenu: /warps membuka menu 6 baris dengan satu tombol per warp, 45 per halaman, tombol sebelumnya/berikutnya/tutup di baris bawah, /setwarp dengan nama dan material serta /delwarp untuk admin, warmup teleport 3 detik yang batal jika bergerak, tidak ada item yang bisa diambil atau dipindahkan, warp disimpan di warps.yml, judul dan pesan di config.yml.”

Buat ini dengan Codexe
Cara membuat plugin menu GUI untuk Minecraft | Codexe