Remove teams and start making use of the AFK API in Galaxy

This commit is contained in:
Len 2023-07-08 22:13:24 +02:00
parent 46e763500f
commit 9ac7d48760
4 changed files with 7 additions and 30 deletions

0
gradlew vendored Normal file → Executable file
View File

View File

@ -66,7 +66,6 @@ public class AFKCheckTimer extends BukkitRunnable {
afkPlayer.setPlayerToSphereCenter(pastLocation); afkPlayer.setPlayerToSphereCenter(pastLocation);
afkPlayer.setStandingTime(System.currentTimeMillis()); afkPlayer.setStandingTime(System.currentTimeMillis());
player.setSleepingIgnored(false); player.setSleepingIgnored(false);
plugin.AFKPlayers.removeEntry(player.getName());
afkPlayer.ResetAFK(); afkPlayer.ResetAFK();
MessageTimer currentTimer = plugin.messageTimers.get(player.getUniqueId()); MessageTimer currentTimer = plugin.messageTimers.get(player.getUniqueId());
@ -79,7 +78,6 @@ public class AFKCheckTimer extends BukkitRunnable {
afkPlayer.setAFK(true); afkPlayer.setAFK(true);
player.setSleepingIgnored(true); player.setSleepingIgnored(true);
//player.setCanPickupItems(false); //player.setCanPickupItems(false);
plugin.AFKPlayers.addEntry(player.getName());
if (Config.AFK_TOGGLE_MESSAGES) { if (Config.AFK_TOGGLE_MESSAGES) {
TagResolver placeholders = TagResolver.resolver( TagResolver placeholders = TagResolver.resolver(
Placeholder.parsed("player", player.getName()) Placeholder.parsed("player", player.getName())

View File

@ -46,10 +46,6 @@ public class AFKDetector extends JavaPlugin implements Listener {
public boolean fullOverride; public boolean fullOverride;
public static MiniMessage miniMessage; public static MiniMessage miniMessage;
/**
* AFK players need to be added to a team.
*/
Team AFKPlayers;
@Override @Override
public void onEnable() { public void onEnable() {
@ -57,7 +53,6 @@ public class AFKDetector extends JavaPlugin implements Listener {
instance = this; instance = this;
miniMessage = MiniMessage.miniMessage(); miniMessage = MiniMessage.miniMessage();
loadConfig(null); loadConfig(null);
setupAFKStats();
getServer().getPluginManager().registerEvents(this, this); getServer().getPluginManager().registerEvents(this, this);
//getCommand("afk").setExecutor(new AFKCommand(this)); //getCommand("afk").setExecutor(new AFKCommand(this));
getCommand("afklist").setExecutor(new AFKListCommand(this)); getCommand("afklist").setExecutor(new AFKListCommand(this));
@ -88,20 +83,6 @@ public class AFKDetector extends JavaPlugin implements Listener {
return players.get(player.getUniqueId()); return players.get(player.getUniqueId());
} }
private void setupAFKStats() {
if (Bukkit.getScoreboardManager().getMainScoreboard().getTeam("AFKPlayers") == null) {
AFKPlayers = Bukkit.getScoreboardManager().getMainScoreboard().registerNewTeam("AFKPlayers");
} else {
AFKPlayers = Bukkit.getScoreboardManager().getMainScoreboard().getTeam("AFKPlayers");
}
if (AFKPlayers == null) {
Logger.warn("Could not find scoreboard AFKPlayers");
return;
}
AFKPlayers.setOption(Team.Option.COLLISION_RULE, Team.OptionStatus.NEVER);
//AFKPlayers.setOption(Team.Option.NAME_TAG_VISIBILITY, Team.OptionStatus.NEVER);
}
/** /**
* Get the afk time for a player * Get the afk time for a player
*/ */

View File

@ -14,16 +14,14 @@ import java.util.UUID;
public class AFKPlayer { public class AFKPlayer {
private final String playerName; private final Player player;
private final UUID uuid;
private Location playerToSphereCenter; private Location playerToSphereCenter;
private long standingTime; private long standingTime;
private final int afkTime; private final int afkTime;
private boolean isAFK; private boolean isAFK;
public AFKPlayer(Player player, AFKDetector plugin) { public AFKPlayer(Player player, AFKDetector plugin) {
this.playerName = player.getName(); this.player = player;
this.uuid = player.getUniqueId();
this.playerToSphereCenter = player.getLocation(); this.playerToSphereCenter = player.getLocation();
this.standingTime = System.currentTimeMillis(); this.standingTime = System.currentTimeMillis();
this.afkTime = plugin.getAllowedAFKTime(player); this.afkTime = plugin.getAllowedAFKTime(player);
@ -31,11 +29,11 @@ public class AFKPlayer {
} }
public String getPlayerName() { public String getPlayerName() {
return this.playerName; return this.player.getName();
} }
public UUID getPlayerUuid() { public UUID getPlayerUuid() {
return this.uuid; return this.player.getUniqueId();
} }
public Location getPlayerToSphereCenter() { public Location getPlayerToSphereCenter() {
@ -68,6 +66,7 @@ public class AFKPlayer {
public void setAFK(boolean bool) { public void setAFK(boolean bool) {
isAFK = bool; isAFK = bool;
player.setAfk(bool);
} }
public boolean isAFK() { public boolean isAFK() {
@ -77,15 +76,14 @@ public class AFKPlayer {
public void ResetAFK() { public void ResetAFK() {
if (isAFK && Config.AFK_TOGGLE_MESSAGES) { if (isAFK && Config.AFK_TOGGLE_MESSAGES) {
TagResolver placeholders = TagResolver.resolver( TagResolver placeholders = TagResolver.resolver(
Placeholder.parsed("player", playerName) Placeholder.parsed("player", getPlayerName())
); );
Component component = AFKDetector.miniMessage.deserialize(Messages.AFK_TOGGLE_OFF.getMessage(), placeholders); Component component = AFKDetector.miniMessage.deserialize(Messages.AFK_TOGGLE_OFF.getMessage(), placeholders);
Bukkit.broadcast(component, "afkdetector.notify"); Bukkit.broadcast(component, "afkdetector.notify");
} }
standingTime = System.currentTimeMillis(); standingTime = System.currentTimeMillis();
Player player = Bukkit.getPlayer(getPlayerUuid());
playerToSphereCenter = (player == null) ? null : player.getLocation(); playerToSphereCenter = (player == null) ? null : player.getLocation();
isAFK = false; setAFK(false);
} }
} }