gmoehra

(rmcStaff) - Bungeecord / API

Jan 14th, 2022
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.81 KB | None | 0 0
  1. package redeminecraft.staff.proxy.main;
  2.  
  3. import net.alpenblock.bungeeperms.BungeePermsAPI;
  4. import net.md_5.bungee.BungeeCord;
  5. import net.md_5.bungee.api.config.ServerInfo;
  6. import net.md_5.bungee.api.connection.ProxiedPlayer;
  7.  
  8. import java.io.ByteArrayOutputStream;
  9. import java.io.DataOutputStream;
  10. import java.io.IOException;
  11.  
  12. public class API {
  13.  
  14. public boolean isStaff(ProxiedPlayer p) {
  15. boolean permission = BungeePermsAPI.userHasPermission(p.getName(), "rmc-staff.yes", null, null);
  16. if (!permission) {
  17. return false;
  18. }
  19.  
  20. return true;
  21. }
  22.  
  23. public String getOffice(String p) {
  24. try {
  25. return BungeePermsAPI.userMainGroup(p);
  26. } catch (Exception e) {
  27. e.printStackTrace();
  28. }
  29. return "default";
  30. }
  31.  
  32. public boolean exists(String office) {
  33. boolean permission = BungeePermsAPI.groupHas(office, "rmc-staff.yes", null, null);
  34. if (!permission) {
  35. return false;
  36. }
  37.  
  38. try {
  39. if (permission) {
  40. return true;
  41. }
  42.  
  43. } catch (Exception e) {
  44. e.printStackTrace();
  45. }
  46.  
  47. return false;
  48. }
  49.  
  50. public boolean demote(String p, String office) {
  51. try {
  52. for (String all : BungeeCord.getInstance().getServers().keySet()) {
  53. sendToBukkit("demote", office + ";" + p, Main.plugin.getProxy().getServerInfo(all));
  54. }
  55. } catch (Exception e) {
  56. return false;
  57. }
  58.  
  59. return true;
  60. }
  61.  
  62. public boolean promote(ProxiedPlayer p, String office, String servers) {
  63. try {
  64. for (String bA : BungeeCord.getInstance().getServers().keySet()) {
  65. String bB = bA.toLowerCase();
  66. String c = servers.toLowerCase();
  67.  
  68. if ((servers.equalsIgnoreCase("all")) || (servers.equalsIgnoreCase("todos"))) {
  69. sendToBukkit("promote", office + ";" + p.getName(), Main.plugin.getProxy().getServerInfo(bA));
  70. } else if ((c.contains(bB)) || (bB.contains("lobby"))) {
  71. sendToBukkit("promote", office + ";" + p.getName(), Main.plugin.getProxy().getServerInfo(bA));
  72. }
  73. }
  74. } catch (Exception e) {
  75. return false;
  76. }
  77.  
  78. return true;
  79. }
  80.  
  81. private void sendToBukkit(String channel, String message, ServerInfo server) {
  82. ByteArrayOutputStream stream = new ByteArrayOutputStream();
  83. DataOutputStream out = new DataOutputStream(stream);
  84.  
  85. try {
  86. out.writeUTF(channel);
  87. out.writeUTF(message);
  88. } catch (IOException e) {
  89. e.printStackTrace();
  90. }
  91. server.sendData("Staff", stream.toByteArray());
  92. }
  93.  
  94. }
Advertisement
Add Comment
Please, Sign In to add comment