Rehber
Minecraft GUI menü plugin'i nasıl yapılır
18 Ekim 2026 güncellendi
Sunucu menüleri (warp'lar, mağazalar, kitler, ayarlar) plugin'in açıp kontrol ettiği sandık envanterleridir. Her yuva, düğme işlevi gören bir eşya tutar. Basit görünürler, ama her tür tıklamayı iptal etmeyen bir menü oyuncuların düğmeleri alıp götürmesine izin verir. Bu rehber menülerin nasıl çalıştığını ve bir menüyü nasıl yaptırıp test edeceğini anlatır.
Bu örnekten başla.
Bunu Codexe ile oluşturAdım adım
1.Menünün taslağını çiz
Bir sandık menüsünde 9 yuvalık 1 ile 6 arası satır bulunur (9 ile 54). Hangi eşyanın hangi yuvaya gideceğini, her tıklamanın ne yapacağını ve cam paneller gibi hangi yuvaların yalnızca süs olduğunu yaz.
2.Envanteri bir holder ile oluştur
Kendi
InventoryHoldersınıfını kullanarakBukkit.createInventory(holder, size, title)ile aç. Holder, plugin'in bir tıklamanın normal bir sandıkta değil kendi menüsünde gerçekleştiğini anlamasını sağlar.3.Tıklamaları işle
InventoryClickEventiçinde holder'ı kontrol et, olayı iptal et, sonra o yuvanın eylemini çalıştır. Eylemden sonra menüyü kapat veya yenile.4.Eşyaları taşımanın diğer tüm yollarını engelle
InventoryDragEventolayını da iptal et; menü açıkken shift ile tıklamaları, sayı tuşlarını ve oyuncunun kendi envanterindeki tıklamaları da işle.5.Liste uzunsa sayfalar ekle
Sığmayan warp'lar veya mağaza eşyaları için alt satırı önceki, sonraki ve kapat düğmelerine ayır.
6.Bir komuttan aç
Örneğin
/warpsile ya da bir eşyadan veya NPC'den. Menü herkes için değilse komuta bir izin ver.7.Derle ve tıklayarak dene
Codexe'in plugin'i derlemesine izin ver, test sunucusuna katıl ve her düğmeye tıkla. Test oyuncuları da senin yerine menüyü açıp yuvalara tıklayabilir.
Bir menüyü güvende tutan kurallar
- Menüyü başlığından değil, her zaman holder'ından tanı: başlıklar yeniden adlandırılmış herhangi bir sandıkla kopyalanabilir.
- Başka bir şey yapmadan önce tıklamayı iptal et; böylece eylemdeki bir hata eşyayı asla oyuncunun imlecinde bırakmaz.
- Oyuncunun envanterinden gelen sürüklemeleri ve shift ile tıklamaları iptal et, yoksa eşyalar menüye itilebilir.
- Yuvadaki eşyaya güvenme: eylemi yuva numarasından veya eşyanın üzerindeki bir etiketten bul.
- Yavaş işleri (veritabanı okumaları, web istekleri) ana iş parçacığının dışında çalıştır ve bitince menüyü güncelle.
Yapılandırmadan menüler
Sunucu sahipleri menüleri yeni bir derleme olmadan değiştirmeyi sever. Her menünün bir yapılandırma dosyasında tanımlanmasını iste: boyutu, başlığı ve her düğme için yuvası, malzemesi, adı, lore'u ve eylemi:
| Anahtar | Örnek | Ne yapar |
|---|---|---|
size | 27 | Yuva sayısı, 9'un katı |
slot | 13 | Düğmenin yeri, 0'dan sayılır |
material | ENDER_PEARL | Gösterilen eşya |
action | warp:spawn | Tıklamanın ne yaptığı: bir warp, bir komut, başka bir menü |
Örnek açıklama
"WarpMenu adlı bir Paper 1.21.4 plugin'i. /warps her warp için bir düğme bulunan, sayfa başına 45 düğmeli, alt satırda önceki, sonraki ve kapat düğmeleri olan 6 satırlık bir menü açar. Yöneticiler warp'ları /setwarp <name> <material> ile ekler ve /delwarp ile kaldırır. Bir warp'a tıklamak, hareket edince iptal olan 3 saniyelik bir hazırlıktan sonra ışınlar. Oyuncular menüdeki hiçbir eşyayı alamaz veya taşıyamaz. Warp'lar warps.yml dosyasına, menü başlığı, düğme adları ve mesajlar config.yml dosyasına kaydedilir."
Menüleri test oyuncularıyla test etme
Codexe'in test oyuncuları bir menüyü açıp bir yuvaya tıklayabilir, ardından bir menünün açıldığını, bir mesajın göründüğünü veya bir eşyanın verildiğini kontrol edebilir. "Normal bir oyuncu /warps çalıştırır, 0 numaralı yuvaya tıklar ve ışınlanma mesajını görür" gibi kendi sözlerinle bir test ekle; Codexe her değişiklik teslim ettiğinde test yeniden çalışır.
Sorular
Bu 1.8'de çalışır mı?
Sandık menüleri 1.8'den itibaren her sürümde vardır. API ayrıntılarda farklıdır (malzeme adları, başlıklar), bu yüzden istekte sürümü belirt.
Menüleri bunun yerine Skript ile yapabilir miyim?
Evet, Codexe Skript test sunucusunda kurulu olan skript-gui eklentisiyle. Büyük veya yoğun kullanılan menüler için plugin daha iyidir.
Bir menü özel bir doku gibi görünebilir mi?
Yalnızca eşyaları veya envanter arka planını değiştiren bir kaynak paketiyle. Plugin tarafı aynıdır: yuvalar, eşyalar ve tıklamalar.
Menünü yap
Bu prompt göndermeye hazır açılır:
“WarpMenu adlı bir Paper 1.21.4 plugin'i: /warps her warp için bir düğmeli, sayfa başına 45 düğmeli 6 satırlık bir menü açar, alt satırda önceki/sonraki/kapat düğmeleri, yöneticiler için ad ve malzemeyle /setwarp ve /delwarp, hareket edince iptal olan 3 saniyelik ışınlanma hazırlığı, hiçbir eşya alınamaz veya taşınamaz, warp'lar warps.yml dosyasına, başlıklar ve mesajlar config.yml dosyasına kaydedilir.”
Bunu Codexe ile oluştur