Advertisement
notjacob

Faction.class

Jan 31st, 2020
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.15 KB | None | 0 0
  1. package github.notjacobdev.methods;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. import java.util.UUID;
  8.  
  9. import org.bukkit.Bukkit;
  10. import org.bukkit.Location;
  11. import org.bukkit.OfflinePlayer;
  12. import org.bukkit.configuration.file.YamlConfiguration;
  13. import org.bukkit.entity.Player;
  14.  
  15. import github.notjacobdev.handlers.PlayerHandler;
  16. import github.notjacobdev.util.ChatUtil;
  17.  
  18.  
  19. public class Faction implements IFaction {
  20.     private final String NAME;
  21.     private List<OfflinePlayer> players = new ArrayList<OfflinePlayer>();
  22.     private List<OfflinePlayer> offline = new ArrayList<OfflinePlayer>();
  23.     private List<FPlayer> online = new ArrayList<FPlayer>();
  24.     private Player owner;
  25.     private File ff;
  26.     private YamlConfiguration yml;
  27.     private float level;
  28.     private Location home;
  29.     private int playercount;
  30.     public Faction(String name, Player creator) {
  31.         ff = new File("plugins/SysFactions/factions/" + name + ".yml");
  32.         if (!ff.exists()) {
  33.             try {
  34.             ff.createNewFile();
  35.             } catch (IOException e) {
  36.             e.printStackTrace();
  37.             }
  38.         }
  39.         yml = YamlConfiguration.loadConfiguration(ff);
  40.         NAME = name;
  41.         owner = creator.getPlayer();
  42.         players.add(creator.getPlayer());
  43.         online.add(PlayerHandler.getFromPlayer((Player) creator));
  44.         yml.addDefault("name", name);
  45.         yml.addDefault("creator", creator.getPlayer().getUniqueId().toString());
  46.         yml.addDefault("level", 0.0);
  47.         yml.addDefault("playercount", 1);
  48.         yml.addDefault("players", players);
  49.         yml.addDefault("home.W", "0");
  50.         yml.addDefault("home.X", 0.0);
  51.         yml.addDefault("home.Y", 0.0);
  52.         yml.addDefault("home.Z", 0.0);
  53.         yml.addDefault("home.set", false);
  54.         yml.options().copyDefaults(true);
  55.         try {
  56.         yml.save(ff);
  57.         } catch (IOException e) {
  58.         e.printStackTrace();
  59.         }
  60.         owner = Bukkit.getPlayer(UUID.fromString(yml.getString("creator")));
  61.         level = (float) yml.getDouble("level");
  62.         playercount = yml.getInt("playercount");
  63.         List<String> ymlplayersraw = yml.getStringList("players");
  64.         ymlplayersraw.stream().forEach(p -> {
  65.             players.add(Bukkit.getOfflinePlayer(UUID.fromString(p)));
  66.         });
  67.         if (level >= 5 && yml.getBoolean("home.set")) {
  68.             home = new Location(Bukkit.getWorld(yml.getString("home.W")), yml.getDouble("home.X"), yml.getDouble("home.Y"), yml.getDouble("home.Z"));
  69.         } else {
  70.             home = null;
  71.         }
  72.     }
  73.     public Faction(String name) {
  74.         ff = new File("plugins/SysFactions/factions/" + name + ".yml");
  75.         yml = YamlConfiguration.loadConfiguration(ff);
  76.         NAME = name;
  77.         System.out.println(yml.getString("creator"));
  78.         owner = Bukkit.getPlayer(UUID.fromString(yml.getString("creator")));
  79.         level = (float) yml.getDouble("level");
  80.         playercount = yml.getInt("playercount");
  81.         List<String> ymlplayersraw = yml.getStringList("players");
  82.         ymlplayersraw.stream().forEach(p -> {
  83.             players.add(Bukkit.getOfflinePlayer(UUID.fromString(p)));
  84.         });
  85.         if (level >= 5 && yml.getBoolean("home.set")) {
  86.             home = new Location(Bukkit.getWorld(yml.getString("home.W")), yml.getDouble("home.X"), yml.getDouble("home.Y"), yml.getDouble("home.Z"));
  87.         } else {
  88.             home = null;
  89.         }
  90.     }
  91.     @Override
  92.     public OfflinePlayer getOwner() {
  93.         return owner;
  94.     }
  95.     @Override
  96.     public String getName() {
  97.         return NAME;
  98.     }
  99.     @Override
  100.     public List<OfflinePlayer> getPlayers() {
  101.         return players;
  102.     }
  103.     @Override
  104.     public List<FPlayer> getOnlinePlayers() {
  105.         return online;
  106.     }
  107.     @Override
  108.     public List<OfflinePlayer> getOfflinePlayers() {
  109.         return offline;
  110.     }
  111.     @Override
  112.     public float getLevel() {
  113.         return level;
  114.     }
  115.     @Override
  116.     public void addPlayer(FPlayer toAdd) {
  117.         players.add(toAdd.getPlayer());
  118.         online.add(toAdd);
  119.         yml.set("players", players);
  120.         try {
  121.             yml.save(ff);
  122.         } catch (IOException e) {
  123.             e.printStackTrace();
  124.         }
  125.     }
  126.     @Override
  127.     public void removePlayer(FPlayer toRemove) {
  128.         players.remove(toRemove.getPlayer());
  129.         yml.set("players", players);
  130.         try {
  131.             yml.save(ff);
  132.         } catch (IOException e) {
  133.             e.printStackTrace();
  134.         }
  135.     }
  136.     @Override
  137.     public void transferOwnership(FPlayer newOwner) {
  138.         owner = newOwner.getPlayer();
  139.         yml.set("creator", newOwner.getPlayer().getUniqueId().toString());
  140.         try {
  141.             yml.save(ff);
  142.         } catch (IOException e) {
  143.             e.printStackTrace();
  144.         }
  145.     }
  146.     @Override
  147.     public void delete() {
  148.         ff.delete();
  149.         for (OfflinePlayer p : players) {
  150.             if (Bukkit.getPlayer(p.getUniqueId()) == null) {
  151.                 PlayerHandler.setFacOffline(p);
  152.             } else {
  153.                 PlayerHandler.getFromPlayer(p).removeFaction();
  154.             }
  155.         }
  156.     }
  157.     @Override
  158.     public void sendToChat(FPlayer sender, String message) {
  159.         online.stream().forEach(pf -> {
  160.             pf.getPlayer().sendMessage(ChatUtil.cl("&2[FACTION] ") + sender.getPlayer().getDisplayName() + ": " + ChatUtil.cl("&e" + message));
  161.         });
  162.     }
  163.     @Override
  164.     public Location getHome() {
  165.         return home;
  166.     }
  167.     @Override
  168.     public void setHome(Location loc) {
  169.         yml.set("home.W", loc.getWorld());
  170.         yml.set("home.X", loc.getX());
  171.         yml.set("home.Y", loc.getY());
  172.         yml.set("home.Z", loc.getZ());
  173.         yml.set("home.set", true);
  174.         try {
  175.             yml.save(ff);
  176.         } catch (IOException e) {
  177.             e.printStackTrace();
  178.         }
  179.     }
  180.     @Override
  181.     public int getPlayerCount() {
  182.         return playercount;
  183.     }
  184.    
  185.  
  186.    
  187. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement