Mineplex2018-withcommit/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/economy/TransferTracker.java

38 lines
1.1 KiB
Java

package mineplex.game.clans.economy;
import org.bukkit.entity.Player;
import mineplex.serverdata.Region;
import mineplex.serverdata.data.DataRepository;
import mineplex.serverdata.redis.RedisDataRepository;
import mineplex.serverdata.servers.ServerManager;
/**
* Tracks when a player last converted gems into coins.
* @author MrTwiggy
*
*/
public class TransferTracker
{
public static final int TRANSFER_TIMEOUT = 24 * 60 * 60; // Time before transfer entry expires from DB (in seconds)
private DataRepository<GemTransfer> _repository;
public TransferTracker()
{
_repository = new RedisDataRepository<GemTransfer>(ServerManager.getMasterConnection(), ServerManager.getSlaveConnection(),
Region.currentRegion(), GemTransfer.class, "GemTransfers");
}
public void insertTransfer(Player player)
{
GemTransfer transfer = new GemTransfer(player.getName());
_repository.addElement(transfer, TRANSFER_TIMEOUT);
}
public boolean hasTransferredToday(Player player)
{
GemTransfer transfer = _repository.getElement(player.getName());
return transfer != null && transfer.transferWasToday();
}
}