ServerPlugin Event wenn ein Spieler "durch" einen bestimmten Block fällt

Dieses Thema im Forum "Programmierung" wurde erstellt von Masiwo, 8. Februar 2014.

  1. Masiwo
    Offline

    Masiwo

    Registriert seit:
    28. April 2013
    Beiträge:
    40
    Ort:
    C:/Eclipse/Workspace/ @Paulh
    Minecraft:
    blotiu
    Hallo liebe Community,

    ich bin gerade dabei ein faldown Plugin für meinen Server zu schreiben (NETZWERK !!!! ).
    Dazu habe ich momentan folgende Frage:
    Wie kann ich , wenn die Player durch die endercrystals fallen (Die ich manuell vorher in eine sich resettende map spawne ) eine funktion aufrufen und den betroffenen endercrystal löschen ?
    Es wäre wirklich toll, wenn ihr mir helfen könntet.

    Danke für Antworten

    LG Daniel
     
    #1
  2. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    Minecraft:
    Paulomart
    PlayerMoveEvent -> player.getNearbyEntities(x, y, z) -> nach EnderCristal suchen, diesen entfernen

    Code (Text):
    1. @EventHandler
    2.     public void onPlayerMove(PlayerMoveEvent event){
    3.         Player player = event.getPlayer();
    4.                 for (Entity entity : player.getNearbyEntities(x, y, z)){ //RADIUS
    5.             if (entity instanceof EnderCrystal){
    6.                 entity.remove();
    7.             }
    8.                  }
    9.           }
    10.         }
     
    #2
  3. Baba43
    Offline

    Baba43 Ehem. Teammitglied

    Registriert seit:
    5. November 2012
    Beiträge:
    590
    Der Spieler muss doch durch den Block fallen oder nicht?

    Dann würde ich direkt den Block des PlayerMoveEvents auswerten und nicht für jedes Event auch noch den Umkreis durchsuchen.

    Außerdem ist es in der Regel lohnenswert, vorher zu prüfen, ob sich die Werte überhaupt nennenswert geändert haben, also ob der Spieler sich überhaupt um einen Block bewegt hat.

    Vielleicht gibt es aber generell ein besseres Event dafür.. muss man halt mal in die Dokumentation schauen ;)
    PlayerMoveEvent ist immer schlecht.

    /edit
    Ich würds mal mit einem von denen versuchen
    http://jd.bukkit.org/dev/apidocs/org/bukkit/event/player/PlayerPortalEvent.html
    http://jd.bukkit.org/beta/apidocs/org/bukkit/event/player/PlayerTeleportEvent.html
     
    #3
  4. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    Minecraft:
    Paulomart
    ohhhh er hat grade den Titel geändert, also wenn n Spieler quasi ins End geht?

    Code (Text):
    1.     @EventHandler
    2.     public void onPortal(EntityPortalEvent evnet){
    3.     }
    What Baba43 sayed..
     
    #4
  5. Baba43
    Offline

    Baba43 Ehem. Teammitglied

    Registriert seit:
    5. November 2012
    Beiträge:
    590
    Nein ich hab den Titel geändert.. hab ichs falsch gemacht? :eek:

    /edit
    Oh ich hab mich wohl verlesen.. dann nehme ich die Sache mit dem Portal natürlich zurück.
     
    #5
  6. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    Minecraft:
    Paulomart
    Ich glaube @Masiwo sollte nochmal genau sagen, was er will :D
     
    #6
  7. Masiwo
    Offline

    Masiwo

    Registriert seit:
    28. April 2013
    Beiträge:
    40
    Ort:
    C:/Eclipse/Workspace/ @Paulh
    Minecraft:
    blotiu
    Ich denke eigentlich ,dass ich das in meinem ersten Post ganz gut zusammengefasst habe....
     
    #7
  8. Baba43
    Offline

    Baba43 Ehem. Teammitglied

    Registriert seit:
    5. November 2012
    Beiträge:
    590
    Dann wähle doch nächstes mal bitte auch einen entsprechenden Titel.

    Helfen dir die aktuellen Antworten nicht weiter?
     
    #8
  9. Masiwo
    Offline

    Masiwo

    Registriert seit:
    28. April 2013
    Beiträge:
    40
    Ort:
    C:/Eclipse/Workspace/ @Paulh
    Minecraft:
    blotiu
    Doch die Antwort von Paulh hat mir schon weitergeholfen, da ich aber leider noch keine Zeit gefunden habe die neue Funktion zu testen habe ich noch keine Antwort verfasst.
     
    #9