Ich möchte ein Plugin für den Bug eines Plugins kodieren (ChestShop). Wenn der Spieler mit der rechten Maustaste klickt (die Zeile 2 von Zeichen ist "B Free" oder "Free" und Zeile 3 ist "Iron_Ingot"), brechen Sie das Ereignis ab und senden Sie eine Nachricht.Player sign interact
public void onPlayerInteract(PlayerInteractEvent e){
Player player = e.getPlayer();
if(e.getAction().equals(Action.RIGHT_CLICK_BLOCK) || e.getAction().equals(Action.LEFT_CLICK_BLOCK)){
if(e.getClickedBlock().getState() instanceof Sign){
Sign sign = (Sign) e.getClickedBlock().getState();
if(sign.getLine(2).equals("B Free") || sign.getLine(2).equals("Free")){
if(sign.getLine(3).equals("Iron_Ingot"))
e.setCancelled(true);
e.getPlayer().sendMessage("You can not click this sign");
}
}
}
}
Ich habe das versucht, aber es hat nicht funktioniert, welcher Teil des Codes ist falsch? Welche Methoden kann ich verwenden?
Was ist Block.getState()? – TsundereBug
Geben Sie an, welcher Block den Block verwendet. – drhopeness
Sie haben den '@ EventHandler' vergessen? Stellen Sie außerdem sicher, dass Sie Ereignisse registriert haben. –