• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Hilfe bei schildern :3

FelixKlauke

Erzengel
Ehem. Teammitglied
Registriert
5 Januar 2014
Beiträge
1.038
Diamanten
299
Minecraft
FelixKlauke
Code:
@EventHandler
	public void OnMove(PlayerInteractEvent e){
		Player p = e.getPlayer();
		if(e.getLine(0).equalsIgnoreCase("[test]")){		
			
			
		}


Egal was ich mache ich bekomme immer einen fehler, dass getline einfach nicht da ist. Wie verwende ich es richtig ? Ich möchte beim klicken auf ein schild überprüfen ob etwas auf dem Schild steht. Wie mach ich das richtig ?
 
Zuletzt bearbeitet:

MiCrJonas

Threadripper
Registriert
29 Oktober 2012
Beiträge
1.064
Diamanten
0
Das PlayerInteractEvent gilt für alle Blöcke. Du musst erst sichergehen, dass der block auch ein Schild ist.
Code:
import org.bukkit.block.Sign;
Code:
if (e.getAction() == Action.RIGHT_CLICK_BLOCK && e.getClickedBlock().getType() == Material.SIGN_POST) {
  Sign s = (Sign) e.getClickedBlock().getState();
  if (s.getLine(1).equalsIgnoreCase("[test]")) {
    e.getPlayer().sendMessage("Du hast ein besonderes Schild geklickt!");
    // weiterer Code
  }
}
 
Zuletzt bearbeitet:

FelixKlauke

Erzengel
Ehem. Teammitglied
Registriert
5 Januar 2014
Beiträge
1.038
Diamanten
299
Minecraft
FelixKlauke
getline finde ich trotzdem nicht:

Code:
@EventHandler
	public void OnMove(PlayerInteractEvent e){
		if (e.getAction() == Action.RIGHT_CLICK_BLOCK && e.getClickedBlock() instanceof Sign) {
			  Sign s = (Sign) e.getClickedBlock();
			  if (e.getLine(0).equalsIgnoreCase("[test]")) {
			    e.getPlayer().sendMessage("Du hast ein besonderes Schild geklickt!");
			    // weiterer Code
			  }
			}


Das getline kennt er einfach so nicht...
 

Benni1000

Ehemaliges Teammitglied
Ehem. Teammitglied
Registriert
4 Mai 2012
Beiträge
1.396
Diamanten
0
Du greifst auch noch immer auf das PlayerInteractEvent objekt, und nicht auf das Sign Objekt zu das du erstellt hast.
Und ausserdem musst du den BlockState casten und nicht den Block. Schau dir das Beispiel von Jonas an.
 
Oben