Kewilleen

Untitled

Aug 18th, 2016
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.08 KB | None | 0 0
  1. package kwspawn.metodos;
  2.  
  3. import java.io.File;
  4. import java.util.ArrayList;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.Location;
  8. import org.bukkit.World;
  9. import org.bukkit.configuration.file.FileConfiguration;
  10. import org.bukkit.configuration.file.YamlConfiguration;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.plugin.Plugin;
  13. import org.bukkit.scheduler.BukkitScheduler;
  14.  
  15. import me.kewi.KwSpawn;
  16. import ru.tehkode.permissions.PermissionManager;
  17. import ru.tehkode.permissions.bukkit.PermissionsEx;
  18.  
  19. public class KwUtils {
  20.  
  21.     private static FileConfiguration spawns;
  22.     private static File spawn;
  23.     private static Plugin pl = KwMetodos.getPlugin();
  24.     private static PermissionManager pm = PermissionsEx.getPermissionManager();
  25.     private static BukkitScheduler bs = KwMetodos.getScheduler();
  26.     private static FileConfiguration cnf = KwSpawn.getCnf();
  27.     private static ArrayList<String> dly = new ArrayList<>();
  28.  
  29.     public static void setSpawn(Player p) {
  30.         spawn = new File(pl.getDataFolder(), "spawn.yml");
  31.         spawns = YamlConfiguration.loadConfiguration(spawn);
  32.         Location loc = p.getLocation();
  33.         spawns.set("Spawn.default.Mundo", loc.getWorld().getName());
  34.         double x, y, z;
  35.         float pitch, yaw;
  36.         pitch = Float.valueOf(loc.getPitch());
  37.         yaw = Float.valueOf(loc.getYaw());
  38.         x = Double.valueOf(loc.getX());
  39.         y = Double.valueOf(loc.getY());
  40.         z = Double.valueOf(loc.getZ());
  41.         spawns.set("Spawn.default.X", x);
  42.         spawns.set("Spawn.default.Y", y);
  43.         spawns.set("Spawn.default.Z", z);
  44.         spawns.set("Spawn.default.Pitch", pitch);
  45.         spawns.set("Spawn.default.Yaw", yaw);
  46.         loc.getWorld().setSpawnLocation(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ());
  47.         p.sendMessage(KwMetodos.getReplaced("Spawn.Setado"));
  48.         KwMetodos.saveFile(spawn, spawns);
  49.     }
  50.  
  51.     public static void setSpawn(Player p, String group) {
  52.         spawn = new File(pl.getDataFolder(), "spawn.yml");
  53.         spawns = YamlConfiguration.loadConfiguration(spawn);
  54.         Location loc = p.getLocation();
  55.         double x, y, z;
  56.         float yaw, pitch;
  57.         x = Double.valueOf(loc.getX());
  58.         y = Double.valueOf(loc.getY());
  59.         z = Double.valueOf(loc.getZ());
  60.  
  61.         yaw = Float.valueOf(loc.getYaw());
  62.         pitch = Float.valueOf(loc.getPitch());
  63.         if (pm.getGroup(group) == null) {
  64.             p.sendMessage(KwMetodos.getReplaced("Spawn.Grupo.Inexistente"));
  65.         } else {
  66.             spawns.set("Spawn." + group + ".Mundo", loc.getWorld().getName());
  67.             spawns.set("Spawn." + group + ".X", x);
  68.             spawns.set("Spawn." + group + ".Y", y);
  69.             spawns.set("Spawn." + group + ".Z", z);
  70.             spawns.set("Spawn." + group + ".Pitch", pitch);
  71.             spawns.set("Spawn." + group + ".Yaw", yaw);
  72.             p.sendMessage(
  73.                     KwMetodos.getReplaced("Spawn.Grupo.Setado").replace("{grupo}", pm.getGroup(group).toString()));
  74.             KwMetodos.saveFile(spawn, spawns);
  75.         }
  76.     }
  77.  
  78.     public static void getSpawn(final Player p, String group) {
  79.         spawn = new File(pl.getDataFolder(), "spawn.yml");
  80.         spawns = YamlConfiguration.loadConfiguration(spawn);
  81.         String dly;
  82.         final String pp = p.getName();
  83.         int tempo;
  84.         double x, y, z;
  85.         float pitch, yaw;
  86.         tempo = cnf.getInt("Spawn.Delay");
  87.         dly = Integer.toString(tempo);
  88.         System.out.println("A");
  89.         if (group == null) {
  90.             group = "default";
  91.             if ((pm.getUser(p).inGroup(group))) {
  92.                 System.out.println("B");
  93.                 World m = Bukkit.getWorld(spawns.getString("Spawn." + group + ".Mundo"));
  94.                 x = spawns.getDouble("Spawn." + group + ".X");
  95.                 y = spawns.getDouble("Spawn." + group + ".Y");
  96.                 z = spawns.getDouble("Spawn." + group + ".Z");
  97.                 pitch = (float) spawns.getDouble("Spawn." + group + ".Pitch");
  98.                 yaw = (float) spawns.getDouble("Spawn." + group + ".Yaw");
  99.                 final Location loc = new Location(m, x, y, z);
  100.                 loc.setPitch(pitch);
  101.                 loc.setYaw(yaw);
  102.                 System.out.println("C");
  103.                 if (!(p.hasPermission("kwspawn.admin") || (p.hasPermission(KwMetodos.getCnf("Spawn.Permissao_VIP"))))) {
  104.                     if (!KwUtils.dly.contains(pp)) {
  105.                         System.out.println("D");
  106.                         KwUtils.dly.add(pp);
  107.                         p.sendMessage(KwMetodos.getReplaced("Spawn.Aguarde").replace("{tempo}", dly));
  108.                         System.out.println("E");
  109.                         bs.scheduleSyncDelayedTask(pl, new Runnable() {
  110.                             @Override
  111.                             public void run() {
  112.                                 System.out.println("F");
  113.                                 KwUtils.dly.remove(pp);
  114.                                 p.teleport(loc);
  115.                                 p.sendMessage(KwMetodos.getReplaced("Spawn.Teleportado"));
  116.                             }
  117.                         }, tempo * 20L);
  118.                         return;
  119.                     } else {
  120.                         System.out.println("G");
  121.                         p.sendMessage(KwMetodos.getReplaced("Spawn.Aguarde").replace("{tempo}", dly));
  122.                     }
  123.                 } else {
  124.                     System.out.println("H");
  125.                     p.teleport(loc);
  126.                     p.sendMessage(KwMetodos.getReplaced("Spawn.Teleportado"));
  127.                 }
  128.                 System.out.println("I");
  129.             } else if (!pm.getUser(p).inGroup(group)) {
  130.                 System.out.println("J");
  131.                 group = pm.getUser(p).getGroups().toString();
  132.                 System.out.println("JK");
  133.                 World m = Bukkit.getWorld(spawns.getString("Spawn." + group + ".Mundo"));
  134.                 System.out.println("K");
  135.                 x = spawns.getDouble("Spawn." + group + ".X");
  136.                 y = spawns.getDouble("Spawn." + group + ".Y");
  137.                 z = spawns.getDouble("Spawn." + group + ".Z");
  138.                 pitch = (float) spawns.getDouble("Spawn." + group + ".Pitch");
  139.                 yaw = (float) spawns.getDouble("Spawn." + group + ".Yaw");
  140.                 final Location loc = new Location(m, x, y, z);
  141.                 loc.setPitch(pitch);
  142.                 loc.setYaw(yaw);
  143.                 System.out.println("L");
  144.                 if (!(p.hasPermission("kwspawn.admin") || (p.hasPermission(KwMetodos.getCnf("Spawn.Permissao_VIP"))))) {
  145.                     if (!KwUtils.dly.contains(pp)) {
  146.                         KwUtils.dly.add(pp);
  147.                         p.sendMessage(KwMetodos.getReplaced("Spawn.Aguarde").replace("{tempo}", dly));
  148.                         bs.scheduleSyncDelayedTask(pl, new Runnable() {
  149.  
  150.                             @Override
  151.                             public void run() {
  152.                                 KwUtils.dly.remove(pp);
  153.                                 p.teleport(loc);
  154.                                 p.sendMessage(KwMetodos.getReplaced("Spawn.Teleportado"));
  155.                             }
  156.                         }, tempo * 20L);
  157.                         return;
  158.                     } else {
  159.                         p.sendMessage(KwMetodos.getReplaced("Spawn.Aguarde").replace("{tempo}", dly));
  160.                     }
  161.                 } else {
  162.                     p.teleport(loc);
  163.                     p.sendMessage(KwMetodos.getReplaced("Spawn.Teleportado"));
  164.                 }
  165.             }
  166.         }
  167.     }
  168. }
Advertisement
Add Comment
Please, Sign In to add comment