ServerPlugin Prüfen ob ein Bogen gespannt ist?

Dieses Thema im Forum "Programmierung" wurde erstellt von McWizzardDev, 28. Mai 2016.

  1. McWizzardDev
    Offline

    McWizzardDev

    Registriert seit:
    7. Oktober 2015
    Beiträge:
    58
    Ich sitze gerade an einem AntiCheat Plugin, ich möchte nun NoSlowdown blockieren. Dazu möchte ich prüfen ob der Bogen gespannt ist und dann die geschwindigkeit abchecken.

    Gibt es dafür ein Event oder etwas ähnliches?

    Mit freundlichen Grüßen

    Fabi | GermanDev
     
    #1
  2. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Eine Lösung die mir jetzt spontan einfallen würde ist folgende:

    - PlayerInteractEvent
    - rightclick + bogen in der Hand?
    - Spieler mit der Zeit abspeichern (Hashmap)
    -----------------------------------------------------------------------
    - https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/entity/EntityShootBowEvent.html
    - überprüfen ob es ein Spieler ist
    - steht der Spieler in der Hashmap?
    - vergangene Zeit berechnen
    - Die Kraft des Pfeils mit der vergangenen Zeit vergleichen und entscheiden ob es möglich ist nach der Zeit mit solcher Kraft zu schießen.

    Direkt überprüfen ob der Bogen gespannt ist kannst du meines Wissen nach nicht.
     
    #2
    jensIO gefällt das.
  3. Inkemann
    Offline

    Inkemann

    Registriert seit:
    3. Mai 2015
    Beiträge:
    341
    Ort:
    Aachen
    Minecraft:
    Inkemann
    Es gibt nur die Möglichkeit zum Zeitpunkt des Schießens zu überprüfen wie weit der Bogen gespannt war. Dazu einfach EntityShootBowEvent#getForce benutzen. Ansonsten passiert das Spannen des Bogens größtenteils clientseitig. Möglicherweise lässt sich mit Paketen noch ein bisschen mehr machen, für das updaten des Bogens serverseitig müsste das Player Block Placement-Paket zuständig sein.

    Ich hoffe ich verstehe richtig, dass es dir um die Laufgeschwindigkeit des Spielers mit dem Bogen geht.
     
    #3