You are not logged in.

  • Login
Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

MadeByProxxy

User / Kunde

  • "MadeByProxxy" is male
  • "MadeByProxxy" started this thread

Posts: 23

  • Send private message

1

Monday, February 18th 2019, 10:35am

ArmorStand Location bekommen und abfragen

Hallo.
Ich weiß, es ist eigentlich super einfach zu machen, aber irgendwie will es nicht gehen.
Ich will abfragen, ob man einen Rüstungsständer rechtsklickt. Wenn das der Fall ist, soll noch die Position abgefragt werden. Wenn auch die richtig ist, soll eine Nachricht gesendet werden.
Hier mein bisheriger Code:

Source code

1
@EventHandler	public void onRüstClick(PlayerInteractEntityEvent e) {		if(e.getRightClicked() instanceof ArmorStand) {			e.setCancelled(true);			Location Rust1 = new Location(e.getPlayer().getWorld(), 67.5, 122, 57.5);			if(e.getRightClicked().getLocation().equals(Rust1)) {				e.getPlayer().sendMessage("§7[§1LobbyRätsel§7] §7Du bist nicht im §cLobbyRätsel §7eingetragen...");			}		}	}



Ich habs auch schon mit dem PlayerInteractAtEntityEvent probiert. Es kommt bei beiden gar nichts und auch kein Error in der Konsole. Die Location ist 100%ig richtig.
Hoffe ihr könnt mir helfen.

sam_messen

User / Kunde

  • "sam_messen" is male

Posts: 199

Location: Schweiz

Occupation: Elektroniker

  • Send private message

2

Monday, February 18th 2019, 4:54pm

Hey,

Grundsätzlich sieht das schon nicht schlecht aus, du machst aber den Fehler mit der genauen Location zu vergleichen. Die Koordinaten werden als Doubles gespeichert und somit ist es extrem schwer genau an der Stelle zu stehen.
Vergleiche stattdessen die Location des Blockes der Location, in etwa so:
(ungetestet)

Java source code

1
2
3
	//Nebenbei: Ich würde nicht die Block-Instanz vergleichen, da ich mir nicht sicher bin ob die Location oder nur das Material geprüft wird.
	Location Rust1 = new Location(e.getPlayer().getWorld(), 67.5, 122, 57.5).getBlock().getLocation();
	if(e.getRightClicked().getLocation().getBlock().getLocation().equals(Rust1)) {


LG
Sam


do(); fail(); learn(); repeat();
Developer @ Iluminary Network



MadeByProxxy

User / Kunde

  • "MadeByProxxy" is male
  • "MadeByProxxy" started this thread

Posts: 23

  • Send private message

3

Tuesday, February 19th 2019, 2:27pm

Danke. habs auch schon heraus gefunden. Hab jetzt das .5 dahinter weg gemacht und schon gings c: Zusätzlich hab ich dann noch mit paar Regionen gearbeitet, falls das doch nicht ganz geht

Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net