DeluxeGroups/src/main/java/xyz/etztech/deluxegroups/DeluxeGroup.java

148 lines
3.8 KiB
Java

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<OfflinePlayer> 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<OfflinePlayer> getGroupList() {
return groupList;
}
public void setGroupList(ArrayList<OfflinePlayer> 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<OfflinePlayer> getOnline() {
ArrayList<OfflinePlayer> 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<String> getUUIDList() {
ArrayList<String> 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);
}
}