gui itemlerin yerlerini değiştirip envanterlerine alabiliyorlar

liftedplane

Taş Madencisi
Mesajlar
95
En iyi cevaplar
0
Beğeniler
34
Puanları
140
Ruh hali
merhaba arkadaşlar yeniyim kusura bakmayın internette araştırdım denedim ve yine oluyor son çare forum kaldı.
ben bir envanter oluşturdum fakat adamlar bu envantere girince itemleri alabiliyorlar veya yerlerini değiştirebiliyorlar.
inventoryclickevent kullandım olmadı şimdiden teşekkür ederim
Kod:
@EventHandler
    public void envanterkoruma(InventoryClickEvent event) {
        if(event.getInventory().getName().equals("name")) {
            
                event.setCancelled(true);
                
            
        }
 


javabey

git add Brain.java in/earth/people/brainless
Mesajlar
176
En iyi cevaplar
0
Beğeniler
180
Puanları
330
Ruh hali
debug kullarak bulmaya çalış sorunu
System.out.println(event.getInventory().getName());

bunu dene ve çıkan sonuca göre debug larını geliştir ve event'in içinde kileri biraz kurcala.

eventi register edip etmediğini kontrol etmeyi unutma.
 
Son düzenleme:

LifeMCServer

Nether Yerlisi
Mesajlar
2,410
En iyi cevaplar
98
Beğeniler
2,461
Puanları
10,250
Ruh hali
Şu iki eventi aşağıdaki gibi cancellar isen bir problem kalmayacağı düşüncesindeyim:

Java:
@EventHandler(priority=EventPriority.MONITOR, ignoreCancelled=false)
public final void onInventoryClick(final InventoryClickEvent e) {
    if (...) {  // kendine göre düzenle
        e.setCancelled(true);
        e.setResult(InventoryClickEvent.Result.DENY);
    }
}

@EventHandler(priority=EventPriority.MONITOR, ignoreCancelled=false)
public final void onInventoryDrag(final InventoryDragEvent e) {
    if (...) { // kendine göre düzenle
        e.setCancelled(true);
        e.setResult(InventoryDragEvent.Result.DENY);
    }
}


Tabii ki yukarıda dendiği gibi listener'ı bukkit'e tanıttığına emin ol. Tüm kodu atar isen inceleyebiliriz.
 

Üst