setLine Frage

Dieses Thema im Forum "Programmierung" wurde erstellt von Mrcookie008, 4. August 2013.

  1. Mrcookie008
    Offline

    Mrcookie008

    Registriert seit:
    15. Dezember 2011
    Beiträge:
    380
    Ort:
    /home
    Minecraft:
    xCookieZz oder Mrcookie008 (Beides Premium)
    Hallo,
    ich möchte, wenn ich ein Schild gesetzt habe mit der aufschrift:

    [GunGame]
    Betreten

    dass sich beides auf dem Schild Automatisch "ändert" via. Setline, leider hat das nicht ganz funktioniert.. ich habe folgendes probiert:

    Code (Text):
    1. @EventHandler
    2.             public void onPLayInteract(PlayerInteractEvent e){
    3.                 Player p = e.getPlayer();
    4.  
    5.  
    6.                 if(e.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
    7.                     Block i = e.getClickedBlock();
    8.                     if(i.getState() instanceof Sign){
    9.                        
    10.                         BlockState stateBlock = i.getState();
    11.                         Sign sign = (Sign) stateBlock;
    12.                        
    13.                         if(sign.getLine(0).equalsIgnoreCase("[GunGame]") && sign.getLine(1).equalsIgnoreCase("Betreten")){
    14.                            
    15.                             if(!(join.contains(p.getName()))) {
    16.                                
    17.                                 [COLOR=#FF0000]sign.setLine(0, "§6[GunGame]");[/COLOR]
    18. [COLOR=#FF0000]                             sign.setLine(1, "§aBetreten");[/COLOR]
    19.  
    20.  
    21.                                            // Anderer Code
    Das Rot makierte wird einfach nicht erkannt.. kein error nichts..

    Irgentwelche Ideen..?

    PS: Mit Schildern habe ich mich zuvor noch kaum beschäftigt^^

    LG.
     
    #1
  2. Nexus15
    Offline

    Nexus15

    Registriert seit:
    30. September 2012
    Beiträge:
    91
    setze unter setLine(); mal ein update(true); Dann sollte es klappen.
     
    #2
  3. Mrcookie008
    Offline

    Mrcookie008

    Registriert seit:
    15. Dezember 2011
    Beiträge:
    380
    Ort:
    /home
    Minecraft:
    xCookieZz oder Mrcookie008 (Beides Premium)
    Funktioniert :)

    Jetzt verfärbt es sich, funktioniert danach aber nichtmehr :/

    Kann ich das irgentwie umgehen?

    LG.
     
    #3
  4. Galliar12
    Offline

    Galliar12

    Registriert seit:
    16. Juli 2011
    Beiträge:
    85
    Minecraft:
    Galliar12
    Du gehst aber schon auf die Farben ein? Heißt wenn du z.b. kontrollierst ob die 2te Line "GunGame" beträgt dass du davor den Farbcode noch abfragt?! :)
     
    #4
  5. Chrisliebaer
    Online

    Chrisliebaer

    Was genau meinst du damit?
     
    #5
  6. Plugin00
    Offline

    Plugin00

    Registriert seit:
    3. Februar 2013
    Beiträge:
    71
    Hm, Vllt. so machen:

    Code (Text):
    1.  
    2. if(sign.getLine(0).equalsIgnoreCase("§6[GunGame]") && sign.getLine(1).equalsIgnoreCase("§aBetreten")){
     
    #6
  7. Mrcookie008
    Offline

    Mrcookie008

    Registriert seit:
    15. Dezember 2011
    Beiträge:
    380
    Ort:
    /home
    Minecraft:
    xCookieZz oder Mrcookie008 (Beides Premium)

    Haha.. ich hatte das mit & statt § gemacht, weil ich dachte er erkennt es ingame anderst^^

    Danke dir :p

    Kann man schilder auch alle x sekunden updaten lassen?
     
    #7
  8. Galliar12
    Offline

    Galliar12

    Registriert seit:
    16. Juli 2011
    Beiträge:
    85
    Minecraft:
    Galliar12
    Ich denke mithilfe eines Schedulers kannst du das machen :)
     
    #8
  9. Nexus15
    Offline

    Nexus15

    Registriert seit:
    30. September 2012
    Beiträge:
    91
    Ein Tipp: Wenn du die Farbe ändern willst, kannst du das auch einfach beim SignChangeEvent machen. Da wird dieses nur einmal beim Erstellen ausgeführt und nicht bei jedem Klick, sorry wenn das aus irgendeinem Grund bei dir keine Option ist.
     
    #9