Archived
0

Added Silent AFK, and made the Seen Module show how long someone's been

afk for.
This commit is contained in:
Minenash
2018-09-23 23:03:35 -04:00
parent 648e05bcfa
commit a306f10d51
3 changed files with 31 additions and 14 deletions

View File

@@ -6,8 +6,12 @@ command afk {
run afk;
perm utils.afk;
}
[string:reason...] {
run afk2 reason;
[optional:-s] {
run afks -s;
perm utils.afk;
}
[optional:-s] [string:reason...] {
run afk2 -s reason;
perm utils.afk;
}
}

View File

@@ -30,7 +30,7 @@ import com.redstoner.modules.datamanager.DataManager;
@Commands(CommandHolderType.File)
@AutoRegisterListener
@Version(major = 4, minor = 0, revision = 5, compatible = 5)
@Version(major = 4, minor = 0, revision = 6, compatible = 5)
public class AFK implements Module, Listener
{
private CustomListener listener;
@@ -78,24 +78,27 @@ public class AFK implements Module, Listener
@Command(hook = "afk")
public boolean afk(CommandSender sender)
{
return afk(sender, "");
return afk(sender, false, "");
}
@Command(hook = "afk2")
public boolean afk(CommandSender sender, String reason)
@Command(hook = "afks")
public boolean afk(CommandSender sender, boolean silent)
{
return afk(sender, reason, false);
return afk(sender, silent, "");
}
public boolean afk(CommandSender sender, String reason, boolean silent)
@Command(hook = "afk2")
public boolean afk(CommandSender sender, boolean silent, String reason)
{
if (isafk(sender))
{
unafk(sender);
unafk(sender, silent);
}
else
{
DataManager.setData(sender, "afk_time", System.currentTimeMillis());
DataManager.setData(sender, "afk_reason", reason);
DataManager.setState(sender, "afk_silent", silent);
DataManager.setState(sender, "afk", true);
if (!silent)
Utils.broadcast("§7 * ", Utils.getName(sender) + "§7 is now AFK", null);
@@ -103,10 +106,11 @@ public class AFK implements Module, Listener
return true;
}
public void unafk(CommandSender sender)
public void unafk(CommandSender sender, boolean silent)
{
DataManager.setState(sender, "afk", false);
Utils.broadcast("§7 * ", Utils.getName(sender) + "§7 is no longer AFK", null);
if (!silent)
Utils.broadcast("§7 * ", Utils.getName(sender) + "§7 is no longer AFK", null);
}
public boolean isafk(CommandSender sender)
@@ -200,7 +204,8 @@ class CustomListener implements Listener, EventExecutor
public void unafk(CommandSender sender)
{
DataManager.setState(sender, "afk", false);
Utils.broadcast("§7 * ", Utils.getName(sender) + "§7 is no longer AFK", null);
if ( !isSilent(sender) )
Utils.broadcast("§7 * ", Utils.getName(sender) + "§7 is no longer AFK", null);
}
public boolean isafk(CommandSender sender)
@@ -208,6 +213,11 @@ class CustomListener implements Listener, EventExecutor
return DataManager.getState(sender, "afk");
}
public boolean isSilent(CommandSender sender)
{
return DataManager.getState(sender, "afk_silent");
}
public boolean isVanished(Player player)
{
return DataManager.getState(player, "vanished");

View File

@@ -36,7 +36,7 @@ import net.nemez.chatapi.click.Message;
@AutoRegisterListener
@Commands(CommandHolderType.File)
@Version(major = 4, minor = 0, revision = 9, compatible = 4)
@Version(major = 4, minor = 0, revision = 10, compatible = 4)
public class Seen implements Module, Listener
{
HashMap<UUID, JSONArray> names = new HashMap<>();
@@ -101,8 +101,11 @@ public class Seen implements Module, Listener
{
message.add("They're currently &eAFK&7:");
String reason = (String) DataManager.getOrDefault(p.getUniqueId().toString(), "AFK", "afk_reason", "");
Long timeAFK = (Long) DataManager.getOrDefault(p.getUniqueId().toString(), "AFK", "afk_time", 0L);
message.add(" &9For: " + DateUtil.formatDateDiff(timeAFK));
if (reason.length() >= 1)
message.add(" &3- " + reason);
message.add(" &9Reason: " + reason);
}
if (DataManager.getState((Player) p, "vanished"))
message.add("They're currently &evanished&7!");