package ru.leymooo.online;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import net.milkbowl.vault.permission.Permission;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
import com.sk89q.worldguard.protection.managers.RegionManager;
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
public class online extends JavaPlugin implements Runnable
{
FileConfiguration c;
Permission perms = getServer().getServicesManager().getRegistration(Permission.class).getProvider();
HashMap<String, String> reg = new HashMap<String, String> ();
public void onEnable() {
this.saveDefaultConfig();
c = this.getConfig();
for (String a : c.getConfigurationSection("regions").getKeys(false)) {
String pex = c.getString("regions."+a+".perm");
reg.put(a, pex);
}
Bukkit.getScheduler().runTaskTimerAsynchronously(this, this, 20, 20);
}
private List<String> getRegionName(Location l) {
List<String> names = new ArrayList<String>();
RegionManager manager = WorldGuardPlugin.inst().getRegionManager(l.getWorld());
for (ProtectedRegion region : manager.getApplicableRegions(l)) {
names.add(region.getId());
}
return names;
}
@Override
public void run() {
for (String a : reg.keySet()) {
String pex = reg.get(a);
for (Player p : Bukkit.getOnlinePlayers()) {
if (p.hasPermission(pex)) {
if (getRegionName(p.getLocation()).contains(a)) {
return;
} else {
perms.playerRemove(p, pex);
}
} else {
if (getRegionName(p.getLocation()).contains(a)) {
perms.playerAdd(p, pex);
}
}
}
}
}
}