2018-09-12 15:49:58 +00:00
|
|
|
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 {
|
|
|
|
|
2018-10-20 06:36:57 +00:00
|
|
|
private int id;
|
2018-09-12 15:49:58 +00:00
|
|
|
private String name;
|
|
|
|
private String password;
|
|
|
|
private boolean permanent;
|
|
|
|
private ArrayList<OfflinePlayer> groupList;
|
|
|
|
private FileWriter file;
|
|
|
|
private PrintWriter log;
|
|
|
|
|
|
|
|
public DeluxeGroup() {
|
2018-10-20 06:36:57 +00:00
|
|
|
this.id = 0;
|
2018-09-12 15:49:58 +00:00
|
|
|
this.name = "";
|
|
|
|
this.password = "";
|
|
|
|
this.permanent = false;
|
|
|
|
this.groupList = new ArrayList<>();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2018-10-20 06:36:57 +00:00
|
|
|
public int getId() {
|
|
|
|
return id;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setId(int id) {
|
|
|
|
this.id = id;
|
|
|
|
}
|
|
|
|
|
2018-09-12 15:49:58 +00:00
|
|
|
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);
|
|
|
|
}
|
|
|
|
}
|