BlockFace spinnt rum [1.8.x]

  • Guten Abend,


    ich habe aktuell einen kleinen Spielerei Server wo ich kleine Spielerein mache.

    Halt was man seit 2013 so hin und wieder über die API ausgeschnappt hat.


    Nun habe ich aber mit den .getData(); ziemlich Interessante fehler.

    Aktuell geh ich mit folgender switch Methode hinter den Button:



    Problem ist: Wenn der Spieler den Knopf nochmal drückt, während dieser noch gedrückt ist gibt data 11 zurück.

    Da könnte ich natürlich einfach default: return; machen und fertig ist die Sache.


    Es währe aber trotzdem Interessant zu Wissen was da vor sich geht?

    Und dann habe ich noch eine Frage, weiß jemand wie man einen Button vom Block wegcastet.

    Habe bisher Button und BlockStoneButton probiert. Beide geben keinen Fehler aus, aber brechen den Code ab.


    Alles was darunter ist wird einfach nicht mehr ausgeführt.....weird.


    Danki :D

  • In dem data byte wird nicht nur die direction gespeichert sondern auch ob der Button gedrückt wird.
    Hier ist eine kleine Tabelle:

    data byte
    facinggedrückt?
    1EASTnein
    2WESTnein
    3SOUTHnein
    4NORTHnein
    9EASTja
    10WESTja
    11SOUTHja
    12NORTHja


    Wenn du die Direction abfragen willst machst du das am besten so:

    Code
    Block block;
    Button button = new Button(block.getType(), block.getData());
    switch (button.getAttachedFace()) {
        case EAST:
        case SOUTH:
        case WEST:
        case NORTH:
            break;
    }

    Was meinst du mit "wegcastet"? Zeig uns am besten Mal deinen Code :).