ServerPlugin BungeeCord Programmieren

Dieses Thema im Forum "Programmierung" wurde erstellt von Lapura, 6. Oktober 2015.

  1. Lapura
    Offline

    Lapura

    Registriert seit:
    28. Dezember 2014
    Beiträge:
    59
    Hey, ich habe ein Problem. Ich versuche seit heute BungeeCord zu Programmieren.
    Ich möchte gerne eine Permissions abfrage, aber ich habe keine Permissions auf denn Command, obwohl
    ich OP Habe, und alle auf Permissions ex habe.
    Muss ich PermissionsEx auch in denn Bungee ziehen?
    Code:

    if(sender instanceof ProxiedPlayer) {

    ProxiedPlayer pp = (ProxiedPlayer) sender;
    if(pp.hasPermission("Rayse.broadcast")) {
     
    #1
  2. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Proxiedplayer zu einer userconnection casten und dann permission abfragen.
     
    #2
  3. Lapura
    Offline

    Lapura

    Registriert seit:
    28. Dezember 2014
    Beiträge:
    59
    Könntest du mir einen CodeSnipsel zeigen? :)
     
    #3
  4. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Ja kann ich. Mach ich aber nicht da das zu den Grundlagen in Java gehört. Ich mach was viel besseres und nachhaltigeres. Ich schick dir ein link wo drinne steht was casten bedeutet und wie es gemacht wird :)
    http://www.java-tutorial.org/typecasting.html
     
    #4
  5. DarkPrincess
    Offline

    DarkPrincess

    Registriert seit:
    31. August 2013
    Beiträge:
    52
    Code (Text):
    1. if(sender instanceof ProxiedPlayer) {
    2.     ProxiedPlayer pp = (ProxiedPlayer) sender;
    3.     if(pp.hasPermission("Rayse.broadcast")) {
    4.         //Do what you want
    5.     }
    6. }
    Reicht auch vollkommen aus. Musst halt die Permissions in der config.yml von BungeeCord händeln. ( Aber bitte nicht im Offline Modus benutzen einfach so )
     
    #5
  6. Lapura
    Offline

    Lapura

    Registriert seit:
    28. Dezember 2014
    Beiträge:
    59
    Ich möchte eben nichts mit Config.yml machen. Deswegen suche ich eine anderen lösung
     
    #6
  7. DarkPrincess
    Offline

    DarkPrincess

    Registriert seit:
    31. August 2013
    Beiträge:
    52
    Du musst die Permissions in der config.yml von BungeeCord eintragen oO du sollst keine eigene anlegen dafür.
    Ansonsten musst du es über den PluginMessageChannel machen , aber das wäre eindeutig zuviel an Datenaustausch auf einmal wenn du es bei jedem User der Joint machst.
     
    #7
  8. Lapura
    Offline

    Lapura

    Registriert seit:
    28. Dezember 2014
    Beiträge:
    59
    ahhhh.. Jetzt weiß ich was du meinst!
    dachte man muss externe Config.yml erstellen lassen oder so
     
    #8
  9. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Und meine Lösung funktioniert nicht oder weißt du nicht wie du das machen sollst?
     
    #9
    JTK222 gefällt das.
  10. DarkPrincess
    Offline

    DarkPrincess

    Registriert seit:
    31. August 2013
    Beiträge:
    52
    Warum sollte man den CommandSender zur Connection casten? Man kann auch einfach den CommandSender abfragen ob dieser die Permissions hat , dann brauch man nicht einmal zum Spieler Casten wenn man diesen nicht unbedingt braucht.
    Wobei ich zur Connection am wenigsten sinnvoll finde. Was soll man da brauchen können was ich beim ProxiedPlayer nicht habe?

    Code (Text):
    1.  
    2. if(sender.hasPermission("Rayse.broadcast")) {
    3.     //Do what you want
    4. }
    5.  
    Fertig.
     
    #10
  11. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Ich habe UserConnection geschrieben nicht Connection und UserConnection enthält:

    Code (Text):
    1. @Override
    2.     public boolean hasPermission(String permission)
    3.     {
    4.         return bungee.getPluginManager().callEvent( new PermissionCheckEvent( this, permission, permissions.contains( permission ) ) ).hasPermission();
    5.     }
     
    #11