Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Fixer;
- import com.projectkorra.projectkorra.BendingPlayer;
- import com.projectkorra.projectkorra.Element;
- import com.projectkorra.projectkorra.Element.SubElement;
- import com.projectkorra.projectkorra.GeneralMethods;
- import com.sk89q.worldguard.bukkit.WGBukkit;
- import com.sk89q.worldguard.protection.ApplicableRegionSet;
- import com.sk89q.worldguard.protection.managers.RegionManager;
- import com.sk89q.worldguard.protection.regions.ProtectedRegion;
- import java.io.PrintStream;
- import java.util.HashMap;
- import java.util.HashSet;
- import java.util.LinkedList;
- import java.util.List;
- import java.util.Set;
- import net.milkbowl.vault.permission.Permission;
- import org.bukkit.Location;
- import org.bukkit.World;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.scheduler.BukkitRunnable;
- public class eListener
- implements Listener
- {
- Fixer plugin;
- public eListener(Fixer plugin)
- {
- this.plugin = plugin;
- }
- @EventHandler
- public void onPlayerQuit(PlayerQuitEvent e)
- {
- Player p = e.getPlayer();
- BendingPlayer bp = BendingPlayer.getBendingPlayer(p);
- GeneralMethods.saveElements(bp);
- GeneralMethods.saveSubElements(bp);
- for (Integer slot : bp.getAbilities().keySet()) {
- GeneralMethods.saveAbility(bp, slot.intValue(), (String)bp.getAbilities().get(slot));
- }
- }
- @EventHandler(priority=EventPriority.NORMAL)
- public void onPlayerJoin(final PlayerJoinEvent e)
- {
- new BukkitRunnable()
- {
- public void run()
- {
- Player player = e.getPlayer();
- if (Fixer.getPerms() == null) {
- System.out.println("Warning: perms wasn't found!");
- }
- System.out.println("[Fixer]: Checking Bending Settings for player: " + player.getName());
- BendingPlayer bp = BendingPlayer.getBendingPlayer(player.getName());
- Set<Element> allowed = new HashSet();
- String added = "";
- String removed = "";
- boolean changed = false;
- Object localObject;
- int j = (localObject = Element.getAllElements()).length;
- for (int i = 0; i < j; i++)
- {
- Element e = localObject[i];
- if (Fixer.getPerms().playerHas(player, e.getName()))
- {
- allowed.add(e);
- if (!bp.hasElement(e))
- {
- bp.addElement(e);
- added = added + " " + e.getName();
- changed = true;
- }
- }
- }
- j = (localObject = Element.getAllSubElements()).length;
- for (i = 0; i < j; i++)
- {
- Element.SubElement e = localObject[i];
- if (Fixer.getPerms().playerHas(player, e.getName()))
- {
- allowed.add(e);
- if (!bp.hasSubElement(e))
- {
- bp.addSubElement(e);
- added = added + " " + e.getName();
- changed = true;
- }
- }
- }
- j = (localObject = Element.getAllElements()).length;
- for (i = 0; i < j; i++)
- {
- Element e = localObject[i];
- if ((!allowed.contains(e)) && (bp.hasElement(e)))
- {
- bp.getElements().remove(e);
- changed = true;
- removed = removed + " " + e.getName();
- }
- }
- j = (localObject = Element.getAllSubElements()).length;
- for (i = 0; i < j; i++)
- {
- Element.SubElement e = localObject[i];
- if (!allowed.contains(e)) {
- bp.getElements().remove(e);
- }
- }
- if (changed)
- {
- if (!removed.equalsIgnoreCase("")) {
- System.out.println("[ElementFixer] - " + player.getName() + " had access to the wrong element(s): " + removed + " have been revoked.");
- }
- if (!added.equalsIgnoreCase("")) {
- System.out.println("[ElementFixer] - " + player.getName() + " was missing element(s): " + added + " have been added.");
- }
- GeneralMethods.saveElements(bp);
- GeneralMethods.saveSubElements(bp);
- }
- }
- }.runTaskLater(this.plugin, 12L);
- }
- public static boolean isAvatarRestrictedRegion(Player pl)
- {
- Location loc = pl.getLocation();
- World world = loc.getWorld();
- String regionName = "noavatar";
- RegionManager regionManager = WGBukkit.getRegionManager(world);
- ApplicableRegionSet set = regionManager.getApplicableRegions(loc);
- LinkedList<String> regions = new LinkedList();
- for (ProtectedRegion region : set)
- {
- String id = region.getId();
- regions.add(id);
- if (region.getId().toLowerCase().startsWith(regionName)) {
- return true;
- }
- }
- return false;
- }
- protected boolean hasGroup(String group, List<String> groups)
- {
- for (String s : groups) {
- if (s.equalsIgnoreCase(group)) {
- return true;
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement