ServerPlugin [BukkitPlugin]: Befehle in "Arena" verbieten!

Dieses Thema im Forum "Programmierung" wurde erstellt von MineForce, 12. Dezember 2013.

  1. MineForce
    Offline

    MineForce Gesperrt

    Registriert seit:
    17. Oktober 2012
    Beiträge:
    122
    Hallo Leute,

    wie kann ich machen das die Befehle die ich in einer WhitelistCommands.yml einstelle nur funktionieren und die anderen nicht?

    Ich habe einen Code der einzelne Befehle die ich einstelle blockiert aber das ist halt blöd.

    Hoffe jemand hat davon Ahnung ich brauche das dringend.

    thx
     
    #1
  2. Exlll
    Offline

    Exlll

    Registriert seit:
    1. Dezember 2013
    Beiträge:
    57
    Ort:
    Berlin
    Minecraft:
    Exlll
    Du meinst, dass nur an einer bestimmten Stelle in der Welt bestimme Befehle funktionieren und sonst überall in der Welt keine?

    Dafür gibts die allowed-cmds und blocked-cmds Flags von Worldguard.

    >WG-Flags<

    Wenn du eine gesamte Welt meinst kannst du das auch über Permissions machen.
     
    #2
  3. MineForce
    Offline

    MineForce Gesperrt

    Registriert seit:
    17. Oktober 2012
    Beiträge:
    122
    nein ich programmiere siehe Programmierung Forum ich will keine anderen plugins nutzen auserdem wäre das mega viel arbeit 1000 commands zu blockieren ...
     
    #3
  4. Susuki1337
    Offline

    Susuki1337

    Registriert seit:
    9. Dezember 2013
    Beiträge:
    16
    ----------------------------------
     
    #4
  5. MineForce
    Offline

    MineForce Gesperrt

    Registriert seit:
    17. Oktober 2012
    Beiträge:
    122
    ich erwarte nur eine zeile wie ich alle befehle blockiere also alle auswähle -.-
     
    #5
  6. Exlll
    Offline

    Exlll

    Registriert seit:
    1. Dezember 2013
    Beiträge:
    57
    Ort:
    Berlin
    Minecraft:
    Exlll
    Wenn du nur die allowed-cmds Flag setzt sind auch nur die dort eingetragenen erlaubt und alle anderen blockiert.
     
    #6
  7. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    Du musst das PlayerCommandPreprocessEvent canceln, wenn der Spieler in der Arena ist und einen Befehl eingibt, der zum Beispiel nicht in einer StringList steht. Oder:

    Code (Text):
    1. if(!event.getMessage().toLowerCase().startsWith("/<command>") {
    2. event.setCancelled(true);
    3. }
     
    #7
  8. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    Liste aus deiner yml-Datei auslesen, alle Elemente in der Liste als Kleinbuchstaben speichern, Liste auf Vorkommen des Befehls überprüfen:

    Code (Text):
    1.  
    2. if(Spieler_ist_in_Arena)
    3.     if(list.contains(command.toLower())
    4.         event.setCancelled(true);
    5.  
     
    #8