Merge branch 'master' into afk_mobs

This commit is contained in:
destro174 2023-07-09 00:33:59 +02:00 committed by GitHub
commit 2aea075786
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 20 additions and 32 deletions

View File

@ -6,7 +6,7 @@ plugins {
} }
group = "com.alttd" group = "com.alttd"
version = "2.1.4" version = "2.1.5"
description = "Altitude AFK Detector plugin." description = "Altitude AFK Detector plugin."
apply<JavaLibraryPlugin>() apply<JavaLibraryPlugin>()
@ -43,5 +43,5 @@ tasks {
} }
dependencies { dependencies {
implementation("com.alttd:Galaxy-API:1.19.4-R0.1-SNAPSHOT") implementation("com.alttd:Galaxy-API:1.20.1-R0.1-SNAPSHOT")
} }

0
gradlew vendored Normal file → Executable file
View File

View File

@ -88,8 +88,7 @@ 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(player);
MessageTimer currentTimer = plugin.messageTimers.get(player.getUniqueId()); MessageTimer currentTimer = plugin.messageTimers.get(player.getUniqueId());
if (currentTimer != null) { if (currentTimer != null) {
@ -101,7 +100,6 @@ public class AFKCheckTimer extends BukkitRunnable {
afkPlayer.setAFK(player); afkPlayer.setAFK(player);
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

@ -20,8 +20,7 @@ import java.util.concurrent.TimeUnit;
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;
@ -32,8 +31,7 @@ public class AFKPlayer {
private final String afkKickSoon; private final String afkKickSoon;
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);
@ -45,11 +43,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() {
@ -80,10 +78,19 @@ public class AFKPlayer {
return x < Config.SPAWN_MAX_X && x > Config.SPAWN_MIN_X && z < Config.SPAWN_MAX_Z && z > Config.SPAWN_MIN_Z; return x < Config.SPAWN_MAX_X && x > Config.SPAWN_MIN_X && z < Config.SPAWN_MAX_Z && z > Config.SPAWN_MIN_Z;
} }
public void resetAFK(Player player) { public void setAFK(boolean bool) {
isAFK = bool;
player.setAfk(bool);
}
public boolean isAFK() {
return isAFK;
}
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");
@ -100,6 +107,8 @@ public class AFKPlayer {
bossBar.setColor(BarColor.RED); bossBar.setColor(BarColor.RED);
player.setAfk(true); player.setAfk(true);
isAFK = true; isAFK = true;
playerToSphereCenter = (player == null) ? null : player.getLocation();
setAFK(false);
} }
public boolean isAFK() { public boolean isAFK() {