summaryrefslogtreecommitdiff
path: root/src/main/java/com/redstoner/modules/afk/AFKUtil.java
blob: 22f428476d741f6bf2059d416fc2b603d2f1829c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.redstoner.modules.afk;

import com.redstoner.misc.Utils;
import com.redstoner.modules.datamanager.DataManager;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class AFKUtil {
    protected static void unAfk(CommandSender sender, boolean silent) {
        DataManager.setState(sender, "afk", false);
        DataManager.setState(sender, "afk_ignoreMovement", false);
        
        if (!silent) Utils.broadcast("§7 * ", Utils.getName(sender) + "§7 is no longer AFK", null);
    }

    protected static void unAfk(CommandSender sender) {
        unAfk(sender, isSilent(sender));
    }
    
    protected static boolean isAfk(CommandSender sender) {
        return DataManager.getState(sender, "afk");
    }

    protected static boolean isVanished(Player player) {
        return DataManager.getState(player, "vanished");
    }

    protected static boolean isSilent(CommandSender sender) {
        return DataManager.getState(sender, "afk_silent");
    }
    
    protected static boolean isIgnoringMovement(CommandSender sender) {
        return DataManager.getState(sender, "afk_ignoreMovement");
    }
    
    protected static void checkedUnAfk(Player player) {
        if (isAfk(player) && !isVanished(player)) unAfk(player, isSilent(player));
    }
}