Skocz do zawartości
  • 0

Blad: e.isCancelled


xTea_199

Pytanie

mam taki kod

@EventHandler
	public void onPostaw(BlockPlaceEvent e){
		if(e.getBlock().getType() == Material.ENDER_STONE){
			if(e.isCancelled()){
				e.getPlayer().sendMessage("xd");
			}else{
				e.getPlayer().sendMessage("xds");
			}
		}
	}

ale gdy postawie ender_stone na spawnie to p[isze xds a jeżeli postawie poza spawnem to tak samo pomocy !!!

Odnośnik do komentarza
https://skript.pl/temat/19646-blad-eiscancelled/
Udostępnij na innych stronach

3 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

ale jaki dokladnie masz problem? dlaczego miałoby pisać coś innego? jeśli spodziewales się event będzie anulowany, to możesz spr pobawić się z priorytetami np

@EventHandler(priority = EventPriority.NORMAL)

i tak posprawdzać różne wartości EventPriority, raczej te powyżej NORMAL, jak HIGH itd, IDE ci podpowie jakie masz możliwości lub zerknij do dokumentacji, bo tak to nie wiem który masz ustawić... musisz wybadać, bo plugin który chroni spawn anuluje ten event w swoim listenerze, i jeśli twój listenerze wykonuje się przed nim... no to jeszcze nie widzisz tej zmiany.

ALE, jeśli chcesz TYLKO nasłuchiwać eventu (nie chcesz go potem anulować czy zmiemić jakieś jego dane) to możesz użyć

@EventHandler(priority = EventPriority.MONITOR)

zawsze wykonuje się jako ostatni, ale pamiętaj BY NIGDY NIE ANULOWAC LUB EDYTOWAC TAM EVENTU, bo inaczej to wszystko straci sens a ty wylądujesz z setkami bugów, bo już nie będziesz miał żadnej gwarancji że ten listener wykona się ostatni.

Odnośnik do komentarza
https://skript.pl/temat/19646-blad-eiscancelled/#findComment-133610
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...