package dev.drawethree.xprison.gems.service;

import org.bukkit.OfflinePlayer;

import java.util.Map;
import java.util.UUID;
import java.util.function.Consumer;

public interface GemsService {

	long getPlayerGems(OfflinePlayer player);

	void setGems(OfflinePlayer player, long newAmount);

	Map<UUID, Long> getTopGems(int amountOfRecords);

	void createGems(OfflinePlayer player, long startingGems);

	// Asynchronously update gems for a player
	void updateGemsAsync(OfflinePlayer player, long newAmount, Consumer<Boolean> callback);
}
