1. 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

Dieses Thema im Forum "Programmierung" wurde erstellt von SasukeKawaii, 8. März 2014.


  1. SasukeKawaii
    Offline

    SasukeKawaii Erzengel Ehem. Teammitglied

    Registriert seit:
    5. Januar 2014
    Beiträge:
    1.006
    Geschlecht:
    männlich
    Code (Text):
    1. @EventHandler
    2.     public void OnMove(PlayerInteractEvent e){
    3.         Player p = e.getPlayer();
    4.         if(e.getLine(0).equalsIgnoreCase("[test]")){       
    5.            
    6.            
    7.         }

    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: 8. März 2014
  2. MiCrJonas
    Offline

    MiCrJonas Enderdragonjäger

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.065
    Geschlecht:
    männlich
    Das PlayerInteractEvent gilt für alle Blöcke. Du musst erst sichergehen, dass der block auch ein Schild ist.
    Code (Text):
    1. import org.bukkit.block.Sign;
    Code (Text):
    1. if (e.getAction() == Action.RIGHT_CLICK_BLOCK && e.getClickedBlock().getType() == Material.SIGN_POST) {
    2.   Sign s = (Sign) e.getClickedBlock().getState();
    3.   if (s.getLine(1).equalsIgnoreCase("[test]")) {
    4.     e.getPlayer().sendMessage("Du hast ein besonderes Schild geklickt!");
    5.     // weiterer Code
    6.   }
    7. }
    8.  
     
    Zuletzt bearbeitet: 9. März 2014
  3. SasukeKawaii
    Offline

    SasukeKawaii Erzengel Ehem. Teammitglied

    Registriert seit:
    5. Januar 2014
    Beiträge:
    1.006
    Geschlecht:
    männlich
    getline finde ich trotzdem nicht:

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

    Das getline kennt er einfach so nicht...
     
  4. Benni1000
    Offline

    Benni1000 Ehemaliges Teammitglied Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.397
    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.
     
  5. SasukeKawaii
    Offline

    SasukeKawaii Erzengel Ehem. Teammitglied

    Registriert seit:
    5. Januar 2014
    Beiträge:
    1.006
    Geschlecht:
    männlich
    Ist schon gelöst :) Hatte das falsche Sign importiert und musste noch auf das sign objekt wechseln..