Chroma-Chat/.metadata/.plugins/org.eclipse.core.resources/.history/a1/b06db16849a600151c15ab42d7919fee
NorbiPeti afb35c06eb Added flair in tablist and done /unlol
- Added flair in tablist (idea taken from my command block version)
- Done /unlol
2015-12-19 13:42:04 +01:00

117 lines
3.4 KiB
Text
Raw Blame History

package tk.sznp.thebuttonautoflair;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
public class MaybeOfflinePlayer {
public String PlayerName;
public String UserName;
public List<String> UserNames;
private String FlairTime;
private short FlairColor;
public FlairStates FlairState;
public boolean RPMode = true;
public boolean PressedF;
public Location SavedLocation;
public boolean Working;
public int Tables = 10;
public UUID UUID;
public static HashMap<UUID, MaybeOfflinePlayer> AllPlayers = new HashMap<>();
public static MaybeOfflinePlayer AddPlayerIfNeeded(UUID uuid) {
if (!AllPlayers.containsKey(uuid)) {
MaybeOfflinePlayer player = new MaybeOfflinePlayer();
player.UUID = uuid;
player.FlairColor = 0;
player.FlairTime = "";
player.FlairState = FlairStates.NoComment;
player.UserNames = new ArrayList<>();
AllPlayers.put(uuid, player);
return player;
}
return AllPlayers.get(uuid);
}
public static void Load(YamlConfiguration yc) {
ConfigurationSection cs = yc.getConfigurationSection("players");
for (String key : cs.getKeys(false)) {
ConfigurationSection cs2 = cs.getConfigurationSection(key);
MaybeOfflinePlayer mp = AddPlayerIfNeeded(java.util.UUID
.fromString(cs2.getString("uuid")));
mp.UserName = cs2.getString("username");
mp.FlairColor = (short) cs2.getInt("flaircolor");
mp.FlairTime = cs2.getString("flairtime");
String flairstate = cs2.getString("flairstate");
if (flairstate != null)
mp.FlairState = FlairStates.valueOf(flairstate);
else
mp.FlairState = FlairStates.NoComment;
mp.PlayerName = cs2.getString("playername");
mp.UserNames = cs2.getStringList("usernames");
}
}
public static void Save(YamlConfiguration yc) {
ConfigurationSection cs = yc.createSection("players");
for (MaybeOfflinePlayer mp : MaybeOfflinePlayer.AllPlayers.values()) {
ConfigurationSection cs2 = cs.createSection(mp.UUID.toString());
cs2.set("playername", mp.PlayerName);
cs2.set("username", mp.UserName);
cs2.set("flaircolor", mp.FlairColor);
cs2.set("flairtime", mp.FlairTime);
cs2.set("flairstate", mp.FlairState.toString());
cs2.set("uuid", mp.UUID.toString());
cs2.set("usernames", mp.UserNames);
}
}
public static MaybeOfflinePlayer GetFromName(String name) {
for (MaybeOfflinePlayer mp : AllPlayers.values())
if (mp.PlayerName.equalsIgnoreCase(name))
return mp;
return null;
}
public String GetFormattedFlair() {
if (FlairColor == 0x00)
return "";
if (FlairTime == null || FlairTime.length() == 0)
return String.format("<22>%x(??s)<29>r", FlairColor);
return String.format("<22>%x(%ss)<29>r", FlairColor, FlairTime);
}
public void SetFlairColor(short color) {
FlairColor = color;
SetFlair2();
}
public void SetFlairTime(String time) {
FlairTime = time;
SetFlair2();
}
public void SetFlair(short color, String time) {
FlairColor = color;
FlairTime = time;
SetFlair2();
}
private void SetFlair2() {
// Flairs from Command Block The Button - Teams
// PluginMain.Instance.getServer().getScoreboardManager().getMainScoreboard().getTeams().add()
Player p = Bukkit.getPlayer(UUID);
p.setPlayerListName(String.format("%s%s", p.getPlayerListName(),
GetFormattedFlair()));
}
}