Plex/src/main/java/dev/plex/player/PlexPlayer.java

100 lines
2.1 KiB
Java
Raw Normal View History

2021-01-03 07:21:15 +00:00
package dev.plex.player;
2020-10-28 03:49:56 +00:00
import dev.morphia.annotations.Entity;
import dev.morphia.annotations.Id;
import dev.morphia.annotations.IndexOptions;
import dev.morphia.annotations.Indexed;
2022-01-04 03:04:39 +00:00
import dev.plex.rank.enums.Rank;
2022-01-27 21:23:01 +00:00
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
import net.kyori.adventure.text.Component;
2022-01-27 06:36:00 +00:00
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
2022-01-27 06:36:00 +00:00
import org.bukkit.entity.Player;
2022-01-04 03:04:39 +00:00
@Getter
@Setter
2020-10-28 04:42:28 +00:00
@Entity(value = "players", useDiscriminator = false)
public class PlexPlayer
{
@Setter(AccessLevel.NONE)
@Id
private String id;
@Setter(AccessLevel.NONE)
@Indexed(options = @IndexOptions(unique = true))
private String uuid;
@Indexed
private String name;
2022-01-27 06:36:00 +00:00
private Player player;
private String loginMessage;
private Component prefix;
private boolean vanished;
2022-02-04 21:25:40 +00:00
private boolean commandSpy;
private long coins;
private String rank;
private List<String> ips;
2020-11-06 01:29:38 +00:00
public PlexPlayer()
{
}
public PlexPlayer(UUID playerUUID)
{
this.uuid = playerUUID.toString();
this.id = uuid.substring(0, 8);
this.name = "";
2022-01-27 06:36:00 +00:00
this.player = Bukkit.getPlayer(name);
this.loginMessage = "";
this.prefix = null;
this.vanished = false;
2022-02-04 21:25:40 +00:00
this.commandSpy = false;
this.coins = 0;
this.ips = new ArrayList<>();
this.rank = "";
}
2022-01-30 21:03:47 +00:00
public String displayName()
{
2022-01-27 06:36:00 +00:00
return PlainTextComponentSerializer.plainText().serialize(player.displayName());
}
public Rank getRankFromString()
{
OfflinePlayer player = Bukkit.getOfflinePlayer(UUID.fromString(uuid));
if (rank.isEmpty())
{
if (player.isOp())
{
return Rank.OP;
2020-11-06 01:29:38 +00:00
}
else
{
return Rank.NONOP;
}
2020-11-06 01:29:38 +00:00
}
else
{
return Rank.valueOf(rank.toUpperCase());
}
}
}