Auto formatting spacing

This commit is contained in:
Teriuihi 2023-03-30 02:28:13 +02:00
parent ce798fcefa
commit 91a492b87f
8 changed files with 141 additions and 139 deletions

View File

@ -54,13 +54,13 @@ public class AFKCheckTimer extends BukkitRunnable {
}
}
private boolean playerMovedOutOfSphere(Player player, Location pastLocation) {
return player.getLocation().distanceSquared(pastLocation) > Config.RADIUS * Config.RADIUS;
}
private boolean playerMovedOutOfSphere(Player player, Location pastLocation) {
return player.getLocation().distanceSquared(pastLocation) > Config.RADIUS * Config.RADIUS;
}
private boolean playerHeadMoved(Location playerLocation, Location pastLocation) {
return playerLocation.getYaw() != pastLocation.getYaw() && playerLocation.getPitch() != pastLocation.getPitch();
}
private boolean playerHeadMoved(Location playerLocation, Location pastLocation) {
return playerLocation.getYaw() != pastLocation.getYaw() && playerLocation.getPitch() != pastLocation.getPitch();
}
private void resetAFKPlayer(Location pastLocation, Player player, AFKPlayer afkPlayer) {
afkPlayer.setPlayerToSphereCenter(pastLocation);

View File

@ -34,13 +34,13 @@ import java.util.HashMap;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
public class AFKDetector extends JavaPlugin implements Listener{
public class AFKDetector extends JavaPlugin implements Listener {
public static AFKDetector instance;
public static AFKDetector instance;
public HashMap<UUID, AFKPlayer> players = new HashMap<>();
public HashMap<UUID, MessageTimer> messageTimers = new HashMap<>();
public HashMap<UUID, Integer> PlayerAfkTime = new HashMap<>();
public HashMap<UUID, AFKPlayer> players = new HashMap<>();
public HashMap<UUID, MessageTimer> messageTimers = new HashMap<>();
public HashMap<UUID, Integer> PlayerAfkTime = new HashMap<>();
public boolean fullOverride;
@ -52,18 +52,18 @@ public class AFKDetector extends JavaPlugin implements Listener{
@Override
public void onEnable() {
try {
instance = this;
try {
instance = this;
miniMessage = MiniMessage.miniMessage();
loadConfig(null);
setupAFKStats();
getServer().getPluginManager().registerEvents(this, this);
//getCommand("afk").setExecutor(new AFKCommand(this));
getCommand("afklist").setExecutor(new AFKListCommand(this));
getCommand("afkcheck").setExecutor(new AFKCheckCommand(this));
getCommand("reloadafkdetector").setExecutor(new ReloadCommand(this));
new AFKCheckTimer(this).init();
} catch (Throwable t) {
loadConfig(null);
setupAFKStats();
getServer().getPluginManager().registerEvents(this, this);
//getCommand("afk").setExecutor(new AFKCommand(this));
getCommand("afklist").setExecutor(new AFKListCommand(this));
getCommand("afkcheck").setExecutor(new AFKCheckCommand(this));
getCommand("reloadafkdetector").setExecutor(new ReloadCommand(this));
new AFKCheckTimer(this).init();
} catch (Throwable t) {
getLogger().severe("An error has occured while loading AFKDetector");
if (!(t instanceof ExceptionInInitializerError)) {
t.printStackTrace();
@ -71,66 +71,66 @@ public class AFKDetector extends JavaPlugin implements Listener{
getServer().getPluginManager().disablePlugin(this);
}
}
@Override
public void onDisable() {
ScoreboardManager manager = Bukkit.getScoreboardManager();
Scoreboard board = manager.getMainScoreboard();
board.getTeam("AFKPlayers").unregister();
this.getServer().getScheduler().cancelTasks(this);
ScoreboardManager manager = Bukkit.getScoreboardManager();
Scoreboard board = manager.getMainScoreboard();
board.getTeam("AFKPlayers").unregister();
this.getServer().getScheduler().cancelTasks(this);
}
public AFKPlayer getPlayer(Player player) {
if (!players.containsKey(player.getUniqueId())) {
players.put(player.getUniqueId(), new AFKPlayer(player, this));
}
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 (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);
}
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
*/
public int getAllowedAFKTime(Player player) {
if(Config.SERVER_FULL) {
return Config.DEFAULT_AFK_TIME;
}
return PlayerAfkTime.get(player.getUniqueId());
if (Config.SERVER_FULL) {
return Config.DEFAULT_AFK_TIME;
}
return PlayerAfkTime.get(player.getUniqueId());
}
public int getPlayerAFKTime(Player player) {
String permissionPrefix = "afkdetector.afktime.";
for (PermissionAttachmentInfo attachmentInfo : player.getEffectivePermissions()) {
if (attachmentInfo.getPermission().startsWith(permissionPrefix)) {
String perm = attachmentInfo.getPermission();
int Time = Integer.parseInt(perm.substring(perm.lastIndexOf(".") + 1));
public int getPlayerAFKTime(Player player) {
String permissionPrefix = "afkdetector.afktime.";
for (PermissionAttachmentInfo attachmentInfo : player.getEffectivePermissions()) {
if (attachmentInfo.getPermission().startsWith(permissionPrefix)) {
String perm = attachmentInfo.getPermission();
int Time = Integer.parseInt(perm.substring(perm.lastIndexOf(".") + 1));
return Math.min(Time, Config.MAX_AFK_TIME);
}
}
return Config.DEFAULT_AFK_TIME;
}
}
}
return Config.DEFAULT_AFK_TIME;
}
@EventHandler
public void onJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
UUID uuid = player.getUniqueId();
PlayerAfkTime.put(uuid, getPlayerAFKTime(player));
players.put(uuid, new AFKPlayer(player, this));
if(Bukkit.getOnlinePlayers().size() >= Config.PLAYER_LIMIT && !Config.SERVER_FULL) {
fullOverride = true;
if (Bukkit.getOnlinePlayers().size() >= Config.PLAYER_LIMIT && !Config.SERVER_FULL) {
fullOverride = true;
}
long lastKick = AutoJoinTracker.getInstance().getLastKick(uuid);
@ -147,26 +147,26 @@ public class AFKDetector extends JavaPlugin implements Listener{
Bukkit.broadcast(component, "afkdetector.notify");
}
}
@EventHandler
public void onQuit(PlayerQuitEvent event) {
Player player = event.getPlayer();
// Remove the players from the timer if they logout
players.remove(player.getUniqueId());
if(Bukkit.getOnlinePlayers().size() < Config.PLAYER_LIMIT && fullOverride){
fullOverride = false;
if (Bukkit.getOnlinePlayers().size() < Config.PLAYER_LIMIT && fullOverride) {
fullOverride = false;
}
}
@EventHandler
public void onTalkCancel(AsyncChatEvent event) {
if (!Config.CHAT_WILL_CANCEL) {
return;
return;
}
Player player = event.getPlayer();
getPlayer(player).ResetAFK();
}
@EventHandler
public void onCommandCancel(PlayerCommandPreprocessEvent event) {
if (!Config.COMMAND_WILL_CANCEL) {
@ -192,14 +192,14 @@ public class AFKDetector extends JavaPlugin implements Listener{
}
}*/
public static AFKDetector getInstance() {
return instance;
}
public static AFKDetector getInstance() {
return instance;
}
public void loadConfig(CommandSender sender) {
public void loadConfig(CommandSender sender) {
Config.reload();
MessagesConfig.reload();
if(sender != null) {
if (sender != null) {
sender.sendMessage("Configuration reloaded");
}
}

View File

@ -1,9 +1,5 @@
package com.alttd.afkdectector;
import java.util.Date;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import com.alttd.afkdectector.afkplayer.AFKPlayer;
import com.alttd.afkdectector.config.Config;
import com.alttd.afkdectector.config.Messages;
@ -17,75 +13,79 @@ import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
import java.util.Date;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
public class MessageTimer extends BukkitRunnable {
private final AFKDetector plugin;
private final UUID uuid;
private final AFKPlayer afkPlayer;
private int repeats;
private final AFKDetector plugin;
private final UUID uuid;
private final AFKPlayer afkPlayer;
private int repeats;
public MessageTimer(AFKDetector plugin, AFKPlayer afkPlayer, int repeats) {
this.plugin = plugin;
this.afkPlayer = afkPlayer;
this.repeats = repeats;
this.uuid = afkPlayer.getPlayerUuid();
}
public void init() {
runTaskTimer(plugin, 0, Config.MESSAGE_DELAY * 20L);
runTaskTimer(plugin, 0, Config.MESSAGE_DELAY * 20L);
}
// TODO get a better string builder
/*
private String return_placeholders(Param String ... string)
*/
private String return_placeholders(String s, Player p) {
int afkTime = (int) TimeUnit.MILLISECONDS.toMinutes((long) Math.floor(System.currentTimeMillis() - plugin.getPlayer(p).getStandingTime()));
s = s.replaceAll("%player%", p.getName()).replaceAll("%afktime%", afkTime + "");
int afkTime = (int) TimeUnit.MILLISECONDS.toMinutes((long) Math.floor(System.currentTimeMillis() - plugin.getPlayer(p).getStandingTime()));
s = s.replaceAll("%player%", p.getName()).replaceAll("%afktime%", afkTime + "");
return s;
}
@Override
public void run() {
Player player = Bukkit.getPlayer(uuid);
if(plugin.messageTimers.containsKey(uuid)) {
if (player == null || player.hasPermission("afkdetector.kickexempt")) {
cancel();
return;
}
if(Config.COUNT_DOWN_ENABLED) {
MiniMessage miniMessage = AFKDetector.miniMessage;
Title title = Title.title(miniMessage.deserialize(Messages.COUNT_DOWN_TITLE_1.getMessage()),
miniMessage.deserialize(Messages.COUNT_DOWN_TITLE_2.getMessage()));
//Title.Times.of(Config.FADEIN, Config.STAY, Config.STAY);
player.showTitle(title);
player.sendMessage(miniMessage.deserialize(Messages.COUNT_DOWN_MESSAGE.getMessage()));
}
repeats = repeats - 1;
Player player = Bukkit.getPlayer(uuid);
if (plugin.messageTimers.containsKey(uuid)) {
if (player == null || player.hasPermission("afkdetector.kickexempt")) {
cancel();
return;
}
if (Config.COUNT_DOWN_ENABLED) {
MiniMessage miniMessage = AFKDetector.miniMessage;
Title title = Title.title(miniMessage.deserialize(Messages.COUNT_DOWN_TITLE_1.getMessage()),
miniMessage.deserialize(Messages.COUNT_DOWN_TITLE_2.getMessage()));
//Title.Times.of(Config.FADEIN, Config.STAY, Config.STAY);
player.showTitle(title);
player.sendMessage(miniMessage.deserialize(Messages.COUNT_DOWN_MESSAGE.getMessage()));
}
repeats = repeats - 1;
if (repeats <= 0) {
if(player.isInsideVehicle()) {
player.leaveVehicle();
}
//Bukkit.dispatchCommand(Bukkit.getConsoleSender(), plugin.kickCommand.replace("%player%", player.getName()));
plugin.messageTimers.remove(player.getUniqueId());
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), return_placeholders(Config.KICK_COMMAND, player));
AutoJoinTracker.getInstance().setLastKick(player.getUniqueId(), new Date().getTime());
TagResolver templates = TagResolver.resolver(
Placeholder.unparsed("player", player.getName()),
Placeholder.unparsed("afk_time", "" + (int) Math.floor((System.currentTimeMillis() - plugin.getPlayer(player).getStandingTime()) / 60f / 1000))
);
Component message = MiniMessage.miniMessage().deserialize(Messages.AFK_KICK_STAFF_MESSAGE.getMessage(), templates);
Bukkit.broadcast(message, "afkdetector.notify");
cancel();
}
} else {
if(player != null) {
if(!plugin.messageTimers.isEmpty()) {
plugin.messageTimers.remove(player.getUniqueId());
}
cancel();
}
}
if (repeats <= 0) {
if (player.isInsideVehicle()) {
player.leaveVehicle();
}
//Bukkit.dispatchCommand(Bukkit.getConsoleSender(), plugin.kickCommand.replace("%player%", player.getName()));
plugin.messageTimers.remove(player.getUniqueId());
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), return_placeholders(Config.KICK_COMMAND, player));
AutoJoinTracker.getInstance().setLastKick(player.getUniqueId(), new Date().getTime());
TagResolver templates = TagResolver.resolver(
Placeholder.unparsed("player", player.getName()),
Placeholder.unparsed("afk_time", "" + (int) Math.floor((System.currentTimeMillis() - plugin.getPlayer(player).getStandingTime()) / 60f / 1000))
);
Component message = MiniMessage.miniMessage().deserialize(Messages.AFK_KICK_STAFF_MESSAGE.getMessage(), templates);
Bukkit.broadcast(message, "afkdetector.notify");
cancel();
}
} else {
if (player != null) {
if (!plugin.messageTimers.isEmpty()) {
plugin.messageTimers.remove(player.getUniqueId());
}
cancel();
}
}
}
}

View File

@ -83,8 +83,8 @@ public class AFKPlayer {
Bukkit.broadcast(component, "afkdetector.notify");
}
standingTime = System.currentTimeMillis();
Player player = Bukkit.getPlayer(getPlayerUuid());
playerToSphereCenter = (player == null) ? null : player.getLocation();
Player player = Bukkit.getPlayer(getPlayerUuid());
playerToSphereCenter = (player == null) ? null : player.getLocation();
isAFK = false;
}

View File

@ -32,19 +32,19 @@ public class AFKListCommand implements CommandExecutor, TabCompleter {
MiniMessage miniMessage = AFKDetector.miniMessage;
for (AFKPlayer afkplayer : plugin.players.values()) {
long standingTime = afkplayer.getStandingTime();
if (System.currentTimeMillis() - standingTime <= TimeUnit.MINUTES.toMillis(Config.TOGGLE_TIME)) {
continue;
}
if (System.currentTimeMillis() - standingTime <= TimeUnit.MINUTES.toMillis(Config.TOGGLE_TIME)) {
continue;
}
afkPlayers += 1;
message = message.append(Component.newline());
TagResolver templates = TagResolver.resolver(
Placeholder.parsed("player", afkplayer.getPlayerName()),
Placeholder.parsed("afktime", (System.currentTimeMillis() - standingTime) / 1000 + "")
);
Component userinfo = miniMessage.deserialize(Messages.AFK_LIST_ENTRY.getMessage(), templates);
message = message.append(userinfo);
}
afkPlayers += 1;
message = message.append(Component.newline());
TagResolver templates = TagResolver.resolver(
Placeholder.parsed("player", afkplayer.getPlayerName()),
Placeholder.parsed("afktime", (System.currentTimeMillis() - standingTime) / 1000 + "")
);
Component userinfo = miniMessage.deserialize(Messages.AFK_LIST_ENTRY.getMessage(), templates);
message = message.append(userinfo);
}
TagResolver templates = TagResolver.resolver(
Placeholder.parsed("afkplayers", Integer.toString(afkPlayers))

View File

@ -4,7 +4,7 @@ public enum Messages {
TITLE("title-name", "<red>[<white>AFKDetector</white>]</red> "),
COOL_DOWN("cooldown-message", "You need to wait <timeleft> seconds before using this command."),
INVALID_PLAYER("invalid-args", "<red>Invalid args!usage: -p:playername"),
INVALID_REASON("invalid-reason" , "<red>Invalid args! usage: -r:reason"),
INVALID_REASON("invalid-reason", "<red>Invalid args! usage: -r:reason"),
NOT_ONLINE("player-notonline", "<red>Invalid args! player not online"),
PLAYER_ONLY("player-only", "Teri have you ever seen an afk console?"),
NO_PERMS("no-permissions", "<red>You don''t have permission for that!"),

View File

@ -24,6 +24,7 @@ public class MessagesConfig extends AbstractConfiguration {
}
public static boolean DEBUG_MODE = false;
private static void settings() {
DEBUG_MODE = config.getBoolean("debug-mode", DEBUG_MODE);
}

View File

@ -4,18 +4,19 @@ import net.md_5.bungee.api.ChatColor;
import org.bukkit.Bukkit;
import java.util.logging.Level;
public class Logger {
public static void info(String str) {
log(Level.INFO,"&e" + str);
log(Level.INFO, "&e" + str);
}
public static void warn(String str) {
log(Level.SEVERE,"&6" + str);
log(Level.SEVERE, "&6" + str);
}
public static void severe(String str) {
log(Level.SEVERE,"&c" + str);
log(Level.SEVERE, "&c" + str);
}
public static void log(Level level, String str) {