Auto formatting spacing
This commit is contained in:
parent
ce798fcefa
commit
91a492b87f
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
|
|
@ -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!"),
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user