package xyz.etztech.deluxegroups; import net.md_5.bungee.api.chat.BaseComponent; import org.apache.commons.lang.StringUtils; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; import java.io.FileWriter; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; public class DeluxeGroup { private int id; private String name; private String password; private boolean permanent; private ArrayList groupList; private FileWriter file; private PrintWriter log; public DeluxeGroup() { this.id = 0; this.name = ""; this.password = ""; this.permanent = false; this.groupList = new ArrayList<>(); } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; try { this.file = new FileWriter(DeluxeGroups.getInstance().getDataFolder().getAbsolutePath()+"/logs/"+name.toLowerCase()+".log", true); this.log = new PrintWriter(this.file); } catch (Exception e) { DeluxeGroups.getInstance().log("Could not connect to group log for " + name + "."); } } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public boolean getPermanent() { return permanent; } public void setPermanent(boolean permanent) { this.permanent = permanent; } public ArrayList getGroupList() { return groupList; } public void setGroupList(ArrayList groupList) { this.groupList = groupList; } public boolean hasPassword() { return StringUtils.isNotBlank(this.password); } public void add(Player player) { this.groupList.add(player); } public void remove(Player player) { for (int i = 0; i < this.groupList.size(); i++) { if (this.groupList.get(i).getUniqueId().toString().equals(player.getUniqueId().toString())) { this.groupList.remove(i); return; } } } public void remove(String uuid) { for (int i = 0; i < this.groupList.size(); i++) { if (this.groupList.get(i).getUniqueId().toString().equals(uuid)) { this.groupList.remove(i); return; } } } public boolean contains(Player player) { return this.groupList.contains(player); } public ArrayList getOnline() { ArrayList onlineList = new ArrayList(); for (OfflinePlayer player : this.groupList) { if (player.isOnline()) { onlineList.add(player); } } return onlineList; } public int getSize() { return this.groupList.size(); } public List getUUIDList() { ArrayList uuidList = new ArrayList<>(); for (OfflinePlayer player : this.groupList) { uuidList.add(player.getUniqueId().toString()); } return uuidList; } public void sendMessage(String message) { //DeluxeUtil.log(this.log, message); Player on; for (OfflinePlayer player : this.groupList) { if (player.isOnline()) { on = Bukkit.getPlayer(player.getName()); on.sendMessage(ChatColor.AQUA + message); } } } public void log(String player, String chat) { String message = player + ": " + chat; DeluxeUtil.log(this.log, message, false); } }