Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package github.notjacobdev.methods;
- import java.io.File;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.UUID;
- import org.bukkit.Bukkit;
- import org.bukkit.Location;
- import org.bukkit.OfflinePlayer;
- import org.bukkit.configuration.file.YamlConfiguration;
- import org.bukkit.entity.Player;
- import github.notjacobdev.handlers.PlayerHandler;
- import github.notjacobdev.util.ChatUtil;
- public class Faction implements IFaction {
- private final String NAME;
- private List<OfflinePlayer> players = new ArrayList<OfflinePlayer>();
- private List<OfflinePlayer> offline = new ArrayList<OfflinePlayer>();
- private List<FPlayer> online = new ArrayList<FPlayer>();
- private Player owner;
- private File ff;
- private YamlConfiguration yml;
- private float level;
- private Location home;
- private int playercount;
- public Faction(String name, Player creator) {
- ff = new File("plugins/SysFactions/factions/" + name + ".yml");
- if (!ff.exists()) {
- try {
- ff.createNewFile();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- yml = YamlConfiguration.loadConfiguration(ff);
- NAME = name;
- owner = creator.getPlayer();
- players.add(creator.getPlayer());
- online.add(PlayerHandler.getFromPlayer((Player) creator));
- yml.addDefault("name", name);
- yml.addDefault("creator", creator.getPlayer().getUniqueId().toString());
- yml.addDefault("level", 0.0);
- yml.addDefault("playercount", 1);
- yml.addDefault("players", players);
- yml.addDefault("home.W", "0");
- yml.addDefault("home.X", 0.0);
- yml.addDefault("home.Y", 0.0);
- yml.addDefault("home.Z", 0.0);
- yml.addDefault("home.set", false);
- yml.options().copyDefaults(true);
- try {
- yml.save(ff);
- } catch (IOException e) {
- e.printStackTrace();
- }
- owner = Bukkit.getPlayer(UUID.fromString(yml.getString("creator")));
- level = (float) yml.getDouble("level");
- playercount = yml.getInt("playercount");
- List<String> ymlplayersraw = yml.getStringList("players");
- ymlplayersraw.stream().forEach(p -> {
- players.add(Bukkit.getOfflinePlayer(UUID.fromString(p)));
- });
- if (level >= 5 && yml.getBoolean("home.set")) {
- home = new Location(Bukkit.getWorld(yml.getString("home.W")), yml.getDouble("home.X"), yml.getDouble("home.Y"), yml.getDouble("home.Z"));
- } else {
- home = null;
- }
- }
- public Faction(String name) {
- ff = new File("plugins/SysFactions/factions/" + name + ".yml");
- yml = YamlConfiguration.loadConfiguration(ff);
- NAME = name;
- System.out.println(yml.getString("creator"));
- owner = Bukkit.getPlayer(UUID.fromString(yml.getString("creator")));
- level = (float) yml.getDouble("level");
- playercount = yml.getInt("playercount");
- List<String> ymlplayersraw = yml.getStringList("players");
- ymlplayersraw.stream().forEach(p -> {
- players.add(Bukkit.getOfflinePlayer(UUID.fromString(p)));
- });
- if (level >= 5 && yml.getBoolean("home.set")) {
- home = new Location(Bukkit.getWorld(yml.getString("home.W")), yml.getDouble("home.X"), yml.getDouble("home.Y"), yml.getDouble("home.Z"));
- } else {
- home = null;
- }
- }
- @Override
- public OfflinePlayer getOwner() {
- return owner;
- }
- @Override
- public String getName() {
- return NAME;
- }
- @Override
- public List<OfflinePlayer> getPlayers() {
- return players;
- }
- @Override
- public List<FPlayer> getOnlinePlayers() {
- return online;
- }
- @Override
- public List<OfflinePlayer> getOfflinePlayers() {
- return offline;
- }
- @Override
- public float getLevel() {
- return level;
- }
- @Override
- public void addPlayer(FPlayer toAdd) {
- players.add(toAdd.getPlayer());
- online.add(toAdd);
- yml.set("players", players);
- try {
- yml.save(ff);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- @Override
- public void removePlayer(FPlayer toRemove) {
- players.remove(toRemove.getPlayer());
- yml.set("players", players);
- try {
- yml.save(ff);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- @Override
- public void transferOwnership(FPlayer newOwner) {
- owner = newOwner.getPlayer();
- yml.set("creator", newOwner.getPlayer().getUniqueId().toString());
- try {
- yml.save(ff);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- @Override
- public void delete() {
- ff.delete();
- for (OfflinePlayer p : players) {
- if (Bukkit.getPlayer(p.getUniqueId()) == null) {
- PlayerHandler.setFacOffline(p);
- } else {
- PlayerHandler.getFromPlayer(p).removeFaction();
- }
- }
- }
- @Override
- public void sendToChat(FPlayer sender, String message) {
- online.stream().forEach(pf -> {
- pf.getPlayer().sendMessage(ChatUtil.cl("&2[FACTION] ") + sender.getPlayer().getDisplayName() + ": " + ChatUtil.cl("&e" + message));
- });
- }
- @Override
- public Location getHome() {
- return home;
- }
- @Override
- public void setHome(Location loc) {
- yml.set("home.W", loc.getWorld());
- yml.set("home.X", loc.getX());
- yml.set("home.Y", loc.getY());
- yml.set("home.Z", loc.getZ());
- yml.set("home.set", true);
- try {
- yml.save(ff);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- @Override
- public int getPlayerCount() {
- return playercount;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement