Erkennen zu wem der Kopf gehört

Dieses Thema im Forum "Programmierung" wurde erstellt von Yellowphoenix18, 14. September 2014.

  1. Yellowphoenix18
    Offline

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    Hallo,heute suche ich nach einem kleinen fetzen ProgrammCode um zu gucken,ob der Kopf,auf den ein Spieler klickt (MHF_Chest) ist.
    Ich freue mich schon auf eure Antworten.
    mfg YellowPhoenix18
     
    #1
  2. _Baum_
    Offline

    _Baum_

    Registriert seit:
    4. August 2013
    Beiträge:
    66
    Minecraft:
    PlueschAffe
    Hi @Yellowphoenix18 ,

    Innerhalb von 2 Minuten geschrieben, daher keine Garantie, sollte also getestet werden:

    Code (Text):
    1. Block b= e.getClickedBlock();
    2.         if(e.getAction().equals(Action.LEFT_CLICK_BLOCK)&&b.getType().equals(Material.SKULL))
    3.         {
    4.             Skull s= (Skull) b.getState();
    5.             if(s.getOwner().equalsIgnoreCase("mhf_chest"))
    6.             {
    7.                 //Was du machen willst
    8.             }
    9.         }
    Der Code muss ins PlayerInteractEvent rein.
    Bei Skull musst du den Block importieren, nicht das Material.

    Ich hoffe ich konnte dir helfen :)
    Sag mir bescheid wenn es nicht geht :D

    *EDIT
    Syntaxfehler behoben

    Mit freundlichen Grüßen
    _Baum_
     
    #2
  3. Yellowphoenix18
    Offline

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    So,ich habe das ganze mal in mein Lobby-System eingebaut und getestet,aber leider funktioniert es nicht...,trotzdem thx

    mfg YellowPhoenix18
     
    #3
  4. _Baum_
    Offline

    _Baum_

    Registriert seit:
    4. August 2013
    Beiträge:
    66
    Minecraft:
    PlueschAffe
    Hi @Yellowphoenix18,
    hier muss ich mal kurz einhaken. Der Code ist (abgesehen von einer vergessenen Klammer) korrekt. Eventuell hast du die Events nicht registriert oder einen Syntaxfehler drin. Deshalb hier nochmal der Code im Event:
    Code (Text):
    1. @EventHandler
    2.     public void onPlayerInteract(PlayerInteractEvent e)
    3.     {
    4.         Block b = e.getBlock();
    5.         Player p= e.getPlayer();
    6.          if(e.getAction().equals(Action.RIGHT_CLICK_BLOCK)&&b.getType().equals(Material.SKULL))
    7.             {
    8.                 Skull s= (Skull) b.getState();
    9.                 if(s.getOwner().equalsIgnoreCase("mhf_chest"))
    10.                 {
    11.                     p.sendMessage("hi");
    12.                 }
    13.             }
    14. }
    Logischerweise sollte die Klasse den Listener implementieren und im PluginManager registriert sein.

    Dieser Code funktioniert, getestet:
    2014-09-24_22.03.48.png
    Sollte es weiterhin nicht gehen muss es am Server oder deinem Code liegen.

    MfG
    _Baum_
     
    #4
    Yellowphoenix18 und Mario52 gefällt das.
  5. Yellowphoenix18
    Offline

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    Ok,thx jetzt hätte ich nur eine Frage,wofür das b ? und wo wird dies registriert?
     
    #5
  6. [Dev] iTzSasukeHDxLP
    Offline

    [Dev] iTzSasukeHDxLP Ehem. Teammitglied

    Registriert seit:
    5. Januar 2014
    Beiträge:
    938
    Code (Text):
    1. Block b = e.getBlock();
    2.  
    3.  
    Oben einfügen.
     
    #6
    Yellowphoenix18 gefällt das.
  7. Yellowphoenix18
    Offline

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    Hab ich gemacht,klappt nun alles,danke für eure Hilfe ;)
     
    #7