Skocz do zawartości
  • 0

Problem z eventem RegionEnterEvent


Pytanie

Witam, mam mały problem, ktory polega na blokowaniu wejscia na spawna gdy gracz jest podczas walki. Nie potrafię sprawdzić czy gracz próbuje wejść na spawna tyłem lub przodem. 

	@EventHandler
	public void onEntry(RegionEnterEvent e) {
		Player p = e.getPlayer();
		if(Main.combat.containsKey(p.getUniqueId())) {
			if(e.getRegion().getId().equals("spawn")) {
				p.teleport(p.getLocation().add(p.getLocation().getDirection().multiply(-8)));
			}
		}
	}

Jeśli wejdzie przodem to logiczne jest, ze go przeteleportuje do tyłu, ale gdy wejdzie tyłem to wiadome, ze go przeteleportuje w strone spawna. Mógłby ktoś doradzić jak to można sprawdzić?

Odnośnik do komentarza
https://skript.pl/temat/32263-problem-z-eventem-regionenterevent/
Udostępnij na innych stronach

3 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Myślę że warto było tu by użyć else! najpierw niech sprawdza czy jest odwrocony przodem i gdy jest niech tepa do tylu. gdy jednak tak nie jest to tepa do tylu. ale teraz zostaje pytanie co jezeli ktos leci bokiem ?? ;)

EDIT:

public static String getCardinalDirection(Player player) {

double rotation = (player.getLocation().getYaw() - 90) % 360;

if (rotation < 0) {

rotation += 360.0;

}

if (0 <= rotation && rotation < 22.5) {

return "N";

} else if (22.5 <= rotation && rotation < 67.5) {

return "NE";

} else if (67.5 <= rotation && rotation < 112.5) {

return "E";

} else if (112.5 <= rotation && rotation < 157.5) {

return "SE";

} else if (157.5 <= rotation && rotation < 202.5) {

return "S";

} else if (202.5 <= rotation && rotation < 247.5) {

return "SW";

} else if (247.5 <= rotation && rotation < 292.5) {

return "W";

} else if (292.5 <= rotation && rotation < 337.5) {

return "NW";

} else if (337.5 <= rotation && rotation < 360.0) {

return "N";

} else {

return null;

}

}

tu masz sprawdzanie kierunków może to ci pomoże ;)

 

Edytowane przez fapeqTM
edit
Odnośnik do komentarza
https://skript.pl/temat/32263-problem-z-eventem-regionenterevent/#findComment-209836
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ę...