Advertisement
Guest User

Untitled

a guest
Dec 18th, 2017
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.12 KB | None | 0 0
  1. package Fixer;
  2.  
  3. import com.projectkorra.projectkorra.BendingPlayer;
  4. import com.projectkorra.projectkorra.Element;
  5. import com.projectkorra.projectkorra.Element.SubElement;
  6. import com.projectkorra.projectkorra.GeneralMethods;
  7. import com.sk89q.worldguard.bukkit.WGBukkit;
  8. import com.sk89q.worldguard.protection.ApplicableRegionSet;
  9. import com.sk89q.worldguard.protection.managers.RegionManager;
  10. import com.sk89q.worldguard.protection.regions.ProtectedRegion;
  11. import java.io.PrintStream;
  12. import java.util.HashMap;
  13. import java.util.HashSet;
  14. import java.util.LinkedList;
  15. import java.util.List;
  16. import java.util.Set;
  17. import net.milkbowl.vault.permission.Permission;
  18. import org.bukkit.Location;
  19. import org.bukkit.World;
  20. import org.bukkit.entity.Player;
  21. import org.bukkit.event.EventHandler;
  22. import org.bukkit.event.EventPriority;
  23. import org.bukkit.event.Listener;
  24. import org.bukkit.event.player.PlayerJoinEvent;
  25. import org.bukkit.event.player.PlayerQuitEvent;
  26. import org.bukkit.scheduler.BukkitRunnable;
  27.  
  28. public class eListener
  29. implements Listener
  30. {
  31. Fixer plugin;
  32.  
  33. public eListener(Fixer plugin)
  34. {
  35. this.plugin = plugin;
  36. }
  37.  
  38. @EventHandler
  39. public void onPlayerQuit(PlayerQuitEvent e)
  40. {
  41. Player p = e.getPlayer();
  42. BendingPlayer bp = BendingPlayer.getBendingPlayer(p);
  43. GeneralMethods.saveElements(bp);
  44. GeneralMethods.saveSubElements(bp);
  45. for (Integer slot : bp.getAbilities().keySet()) {
  46. GeneralMethods.saveAbility(bp, slot.intValue(), (String)bp.getAbilities().get(slot));
  47. }
  48. }
  49.  
  50. @EventHandler(priority=EventPriority.NORMAL)
  51. public void onPlayerJoin(final PlayerJoinEvent e)
  52. {
  53. new BukkitRunnable()
  54. {
  55. public void run()
  56. {
  57. Player player = e.getPlayer();
  58. if (Fixer.getPerms() == null) {
  59. System.out.println("Warning: perms wasn't found!");
  60. }
  61. System.out.println("[Fixer]: Checking Bending Settings for player: " + player.getName());
  62. BendingPlayer bp = BendingPlayer.getBendingPlayer(player.getName());
  63. Set<Element> allowed = new HashSet();
  64. String added = "";
  65. String removed = "";
  66.  
  67. boolean changed = false;
  68. Object localObject;
  69. int j = (localObject = Element.getAllElements()).length;
  70. for (int i = 0; i < j; i++)
  71. {
  72. Element e = localObject[i];
  73. if (Fixer.getPerms().playerHas(player, e.getName()))
  74. {
  75. allowed.add(e);
  76. if (!bp.hasElement(e))
  77. {
  78. bp.addElement(e);
  79. added = added + " " + e.getName();
  80. changed = true;
  81. }
  82. }
  83. }
  84. j = (localObject = Element.getAllSubElements()).length;
  85. for (i = 0; i < j; i++)
  86. {
  87. Element.SubElement e = localObject[i];
  88. if (Fixer.getPerms().playerHas(player, e.getName()))
  89. {
  90. allowed.add(e);
  91. if (!bp.hasSubElement(e))
  92. {
  93. bp.addSubElement(e);
  94. added = added + " " + e.getName();
  95. changed = true;
  96. }
  97. }
  98. }
  99. j = (localObject = Element.getAllElements()).length;
  100. for (i = 0; i < j; i++)
  101. {
  102. Element e = localObject[i];
  103. if ((!allowed.contains(e)) && (bp.hasElement(e)))
  104. {
  105. bp.getElements().remove(e);
  106. changed = true;
  107. removed = removed + " " + e.getName();
  108. }
  109. }
  110. j = (localObject = Element.getAllSubElements()).length;
  111. for (i = 0; i < j; i++)
  112. {
  113. Element.SubElement e = localObject[i];
  114. if (!allowed.contains(e)) {
  115. bp.getElements().remove(e);
  116. }
  117. }
  118. if (changed)
  119. {
  120. if (!removed.equalsIgnoreCase("")) {
  121. System.out.println("[ElementFixer] - " + player.getName() + " had access to the wrong element(s): " + removed + " have been revoked.");
  122. }
  123. if (!added.equalsIgnoreCase("")) {
  124. System.out.println("[ElementFixer] - " + player.getName() + " was missing element(s): " + added + " have been added.");
  125. }
  126. GeneralMethods.saveElements(bp);
  127. GeneralMethods.saveSubElements(bp);
  128. }
  129. }
  130. }.runTaskLater(this.plugin, 12L);
  131. }
  132.  
  133. public static boolean isAvatarRestrictedRegion(Player pl)
  134. {
  135. Location loc = pl.getLocation();
  136.  
  137. World world = loc.getWorld();
  138.  
  139. String regionName = "noavatar";
  140. RegionManager regionManager = WGBukkit.getRegionManager(world);
  141. ApplicableRegionSet set = regionManager.getApplicableRegions(loc);
  142.  
  143. LinkedList<String> regions = new LinkedList();
  144. for (ProtectedRegion region : set)
  145. {
  146. String id = region.getId();
  147. regions.add(id);
  148. if (region.getId().toLowerCase().startsWith(regionName)) {
  149. return true;
  150. }
  151. }
  152. return false;
  153. }
  154.  
  155. protected boolean hasGroup(String group, List<String> groups)
  156. {
  157. for (String s : groups) {
  158. if (s.equalsIgnoreCase(group)) {
  159. return true;
  160. }
  161. }
  162. return false;
  163. }
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement