Added Silent AFK, and made the Seen Module show how long someone's been
afk for.
This commit is contained in:
@@ -6,8 +6,12 @@ command afk {
|
|||||||
run afk;
|
run afk;
|
||||||
perm utils.afk;
|
perm utils.afk;
|
||||||
}
|
}
|
||||||
[string:reason...] {
|
[optional:-s] {
|
||||||
run afk2 reason;
|
run afks -s;
|
||||||
|
perm utils.afk;
|
||||||
|
}
|
||||||
|
[optional:-s] [string:reason...] {
|
||||||
|
run afk2 -s reason;
|
||||||
perm utils.afk;
|
perm utils.afk;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ import com.redstoner.modules.datamanager.DataManager;
|
|||||||
|
|
||||||
@Commands(CommandHolderType.File)
|
@Commands(CommandHolderType.File)
|
||||||
@AutoRegisterListener
|
@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
|
public class AFK implements Module, Listener
|
||||||
{
|
{
|
||||||
private CustomListener listener;
|
private CustomListener listener;
|
||||||
@@ -78,24 +78,27 @@ public class AFK implements Module, Listener
|
|||||||
@Command(hook = "afk")
|
@Command(hook = "afk")
|
||||||
public boolean afk(CommandSender sender)
|
public boolean afk(CommandSender sender)
|
||||||
{
|
{
|
||||||
return afk(sender, "");
|
return afk(sender, false, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Command(hook = "afks")
|
||||||
|
public boolean afk(CommandSender sender, boolean silent)
|
||||||
|
{
|
||||||
|
return afk(sender, silent, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Command(hook = "afk2")
|
@Command(hook = "afk2")
|
||||||
public boolean afk(CommandSender sender, String reason)
|
public boolean afk(CommandSender sender, boolean silent, String reason)
|
||||||
{
|
|
||||||
return afk(sender, reason, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean afk(CommandSender sender, String reason, boolean silent)
|
|
||||||
{
|
{
|
||||||
if (isafk(sender))
|
if (isafk(sender))
|
||||||
{
|
{
|
||||||
unafk(sender);
|
unafk(sender, silent);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
DataManager.setData(sender, "afk_time", System.currentTimeMillis());
|
||||||
DataManager.setData(sender, "afk_reason", reason);
|
DataManager.setData(sender, "afk_reason", reason);
|
||||||
|
DataManager.setState(sender, "afk_silent", silent);
|
||||||
DataManager.setState(sender, "afk", true);
|
DataManager.setState(sender, "afk", true);
|
||||||
if (!silent)
|
if (!silent)
|
||||||
Utils.broadcast("§7 * ", Utils.getName(sender) + "§7 is now AFK", null);
|
Utils.broadcast("§7 * ", Utils.getName(sender) + "§7 is now AFK", null);
|
||||||
@@ -103,9 +106,10 @@ public class AFK implements Module, Listener
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void unafk(CommandSender sender)
|
public void unafk(CommandSender sender, boolean silent)
|
||||||
{
|
{
|
||||||
DataManager.setState(sender, "afk", false);
|
DataManager.setState(sender, "afk", false);
|
||||||
|
if (!silent)
|
||||||
Utils.broadcast("§7 * ", Utils.getName(sender) + "§7 is no longer AFK", null);
|
Utils.broadcast("§7 * ", Utils.getName(sender) + "§7 is no longer AFK", null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -200,6 +204,7 @@ class CustomListener implements Listener, EventExecutor
|
|||||||
public void unafk(CommandSender sender)
|
public void unafk(CommandSender sender)
|
||||||
{
|
{
|
||||||
DataManager.setState(sender, "afk", false);
|
DataManager.setState(sender, "afk", false);
|
||||||
|
if ( !isSilent(sender) )
|
||||||
Utils.broadcast("§7 * ", Utils.getName(sender) + "§7 is no longer AFK", null);
|
Utils.broadcast("§7 * ", Utils.getName(sender) + "§7 is no longer AFK", null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -208,6 +213,11 @@ class CustomListener implements Listener, EventExecutor
|
|||||||
return DataManager.getState(sender, "afk");
|
return DataManager.getState(sender, "afk");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isSilent(CommandSender sender)
|
||||||
|
{
|
||||||
|
return DataManager.getState(sender, "afk_silent");
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isVanished(Player player)
|
public boolean isVanished(Player player)
|
||||||
{
|
{
|
||||||
return DataManager.getState(player, "vanished");
|
return DataManager.getState(player, "vanished");
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ import net.nemez.chatapi.click.Message;
|
|||||||
|
|
||||||
@AutoRegisterListener
|
@AutoRegisterListener
|
||||||
@Commands(CommandHolderType.File)
|
@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
|
public class Seen implements Module, Listener
|
||||||
{
|
{
|
||||||
HashMap<UUID, JSONArray> names = new HashMap<>();
|
HashMap<UUID, JSONArray> names = new HashMap<>();
|
||||||
@@ -101,8 +101,11 @@ public class Seen implements Module, Listener
|
|||||||
{
|
{
|
||||||
message.add("They're currently &eAFK&7:");
|
message.add("They're currently &eAFK&7:");
|
||||||
String reason = (String) DataManager.getOrDefault(p.getUniqueId().toString(), "AFK", "afk_reason", "");
|
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)
|
if (reason.length() >= 1)
|
||||||
message.add(" &3- " + reason);
|
message.add(" &9Reason: " + reason);
|
||||||
}
|
}
|
||||||
if (DataManager.getState((Player) p, "vanished"))
|
if (DataManager.getState((Player) p, "vanished"))
|
||||||
message.add("They're currently &evanished&7!");
|
message.add("They're currently &evanished&7!");
|
||||||
|
|||||||
Reference in New Issue
Block a user