Ir para conteúdo

CoinsAPI v2.0 - Eu voltei, e agora pra ficar...


Pica-Pau

Posts Recomendados

CoinsAPI v2.0

 

Comandos:

/coins - Ver os seus respectivos coins.

/coins <player>* (coinsapi.cmd.viewothers) - Ver os coins de outro jogador.

/addcoins <player>* <coins>* (coinsapi.cmd.addcoins) - Adicionar X coins a outro jogador.

/removecoins <player>* <coins>* (coinsapi.cmd.removecoins) - Remover coins de outro jogador.

/setcoins <player>* <coins>* (coinsapi.cmd.setcoins) - Setar os coins de um jogador para um certo valor.

/paycoins <player>* <coins>* (coinsapi.cmd.paycoins) - Pagar X de seus coins a outro jogador.

/topcoins - Ver o ranking de jogadores com mais coins.

 

API para Developers:

Eventos:

// Classe principal dos eventos.
public class CoinEvent extends Event implements Cancellable;

// Evento que verifica se o valor antigo, atual e novo de coins foi ou será alterado.
public class CoinModificationEvent extends CoinEvent;

// Interface que verifica se há participação externa no ato.
public interface CoinEventWithSender;

// Evento, é disparado ao serem adicionados coins.
public class CoinAddEvent extends CoinModificationEvent implements CoinEventWithSender;

// Evento, é disparado ao serem removidos coins.
public class CoinRemoveEvent extends CoinModificationEvent implements CoinEventWithSender;

// Evento, é disparado ao serem setados coins diretamente.
public class CoinSetEvent extends CoinModificationEvent implements CoinEventWithSender;

// Interface que verifica se há participação de duas entidades no ato de uma transação de valores.
public interface CoinTransaction;

// Evento, é disparado ao serem transferidos coins para outro jogador.
public class CoinTransactionEvent extends CoinModificationEvent implements CoinTransaction;

Classes/Manuseadores

/*
 Classe base para os manuseadores, contendo o método de get, add, update, remove, has, contains.
 Também inclue os métodos e fields:
   java.sql.Connection connection - A Conexão com o banco de dados.
   CoinRecorder#connect(..) - Para estabelecer uma conexão.
   CoinRecorder#disconnect() - Para finalizar uma conexão existente.
*/
public abstract class CoinRecorder;

// Classe, extende CoinRecorder e é responsável pela conexão SQLITE.
public CoinSQLiteRecorder extends CoinRecorder;

// Classe, extende CoinRecorder e é responsável pela conexão MYSQL.
public CoinMySQLRecorder extends CoinRecorder;

Dados dos Jogadores

// OBTER O DADOS DOS JOGADORES ATRAVÉS DO MANUSEADOR NA CLASSE DE API DOS COINS.
private final CoinRecorder api = CoinsAPI.getRecorder();

// A CLASSE MANUSEADOR

public abstract class CoinRecorder {

         /**
	 * Get all players from database.
	 * @return Map<UUID, Integer>
	 */
	public abstract Map<UUID, Integer> get();
	
	/**
	 * Get coins of a player by Player.
	 * @param paramPlayer = The Player
	 * @return int
	 */
	public abstract int get(Player paramPlayer);
	
	/**
	 * Get coins of a player by OfflinePlayer.
	 * @param paramOfflinePlayer = The Player/OfflinePlayer
	 * @return int
	 */
	public abstract int get(OfflinePlayer paramOfflinePlayer);

	/**
	 * Get coins of a player by your UUID.
	 * @param paramUuid = The player's UUID
	 * @return int
	 */
	public abstract int get(UUID paramUuid);
	
	/**
	 * Get coins of a player by your name.
	 * @param paramName = The player's username
	 * @return int
	 */
	public abstract int get(String paramName);
	
	/**
	 * Update the player's coins directly into the database.
	 * @param paramPlayer = The Player
	 * @param paramAmount = The amount
	 */
	public abstract void update(Player paramPlayer, int paramAmount);
	
	/**
	 * Update the player's coins directly into the database using OfflinePlayer.
	 * @param paramOfflinePlayer = The OfflinePlayer
	 * @param paramAmount = The amount
	 */
	public abstract void update(OfflinePlayer paramOfflinePlayer, int paramAmount);
	
	/**
	 * Update the player's coins directly into the database using your UUID.
	 * @param paramUuid = The player's UUID
	 * @param paramAmount = The amount
	 */
	public abstract void update(UUID paramUuid, int paramAmount);
	
	/**
	 * Update the player's coins directly into the database using your name.
	 * @param paramUuid = The player's username
	 * @param paramAmount = The amount
	 */
	public abstract void update(String paramName, int paramAmount);
	
	/**
	 * Add coins to the player directly in the database.
	 * @param paramPlayer = The Player
	 * @param paramAmount = The amount
	 */
	public abstract void add(Player paramPlayer, int paramAmount);
	
	/**
	 * Add coins to the player directly in the database using your OfflinePlayer.
	 * @param paramPlayer = The OfflinePlayer
	 * @param paramAmount = The amount
	 */
	public abstract void add(OfflinePlayer paramOfflinePlayer, int paramAmount);
	
	/**
	 * Add coins to the player directly in the database using your UUID.
	 * @param paramPlayer = The player's UUID
	 * @param paramAmount = The amount
	 */
	public abstract void add(UUID paramUuid, int paramAmount);
	
	/**
	 * Add coins to the player directly in the database using your name.
	 * @param paramPlayer = The player's username
	 * @param paramAmount = The amount
	 */
	public abstract void add(String paramName, int paramAmount);
	
	/**
	 * Remove coins from the player directly in the database.
	 * @param paramPlayer = The Player
	 * @param paramAmount = The amount
	 */
	public abstract void remove(Player paramPlayer, int paramAmount);
	
	/**
	 * Remove coins from the player directly in the database using your OfflinePlayer.
	 * @param paramPlayer = The OfflinePlayer
	 * @param paramAmount = The amount
	 */
	public abstract void remove(OfflinePlayer paramOfflinePlayer, int paramAmount);
	
	/**
	 * Remove coins from the player directly in the database using your UUID.
	 * @param paramPlayer = The player's UUID
	 * @param paramAmount = The amount
	 */
	public abstract void remove(UUID paramUuid, int paramAmount);
	
	/**
	 * Remove coins from the player directly in the database using your name.
	 * @param paramName = The player's username
	 * @param paramAmount = The amount
	 */
	public abstract void remove(String paramName, int paramAmount);
	
	/**
	 * Checks if the player is in the database.
	 * @param paramPlayer = The Player
	 * @return
	 * 	if is in database: true
	 * 	else: false
	 */
	public abstract boolean has(Player paramPlayer);

	/**
	 * Checks if the player is in the database using your OfflinePlayer.
	 * @param paramPlayer = The OfflinePlayer
	 * @return
	 * 	if is in database: true
	 * 	else: false
	 */
	public abstract boolean has(OfflinePlayer paramOfflinePlayer);

	/**
	 * Checks if the player is in the database using your UUID.
	 * @param paramPlayer = The player's UUID
	 * @return
	 * 	if is in database: true
	 * 	else: false
	 */
	public abstract boolean has(UUID paramUuid);

	/**
	 * Checks if the player is in the database using your name.
	 * @param paramPlayer = The player's username
	 * @return
	 * 	if is in database: true
	 * 	else: false
	 */
	public abstract boolean has(String paramName);
	
	/**
	 * Check if the player contains X amount of coins.
	 * @param paramPlayer = The Player
	 * @param paramAmount = The amount
	 * @return
	 * 	if coins <= amount: true
	 * 	else: false
	 */
	public abstract boolean contains(Player paramPlayer, int paramAmount);
	
	/**
	 * Check if the player contains X amount of coins using OfflinePlayer.
	 * @param paramPlayer = The OfflinePlayer
	 * @param paramAmount = The amount
	 * @return
	 * 	if coins <= amount: true
	 * 	else: false
	 */
	public abstract boolean contains(OfflinePlayer paramOfflinePlayer, int paramAmount);
	
	/**
	 * Check if the player contains X amount of coins using your UUID.
	 * @param paramPlayer = The player's UUID
	 * @param paramAmount = The amount
	 * @return
	 * 	if coins <= amount: true
	 * 	else: false
	 */
	public abstract boolean contains(UUID paramUuid, int paramAmount);
	
	/**
	 * Check if the player contains X amount of coins using your name.
	 * @param paramPlayer = The player's username
	 * @param paramAmount = The amount
	 * @return
	 * 	if coins <= amount: true
	 * 	else: false
	 */
	public abstract boolean contains(String paramName, int paramAmount);
}

 

 

 

TO-DO

Criar um repositório Maven para o projeto;

Adicionar suporte de save em YAML (anteriormente removido) e JSON (ambos não recomendaveis);

Criar uma loja modificável estilo TintaCoins (#KibeON);

Mensagens, permissões e comandos 100% configuráveis;

Estabelecer o código OPEN-SOURCE no GitHub;

 

DOWNLOAD e SCAN

 

VirtusRuimTotal

OneDrive

Editado por DevNatan
Link para o comentário
Compartilhar em outros sites

ANÁLISE DE INATIVIDADE
 

Este tópico foi automaticamente arquivado devido à inatividade. Para manter a organização e fluidez das discussões na comunidade, tópicos que permanecem sem novas interações por um período prolongado são fechados automaticamente.
 

Se houver interesse em retomar o conteúdo, sinta-se à vontade para criar um novo tópico ou entre em contato com a equipe da comunidade para reabrir este tópico.


Equipe de Moderação
Gamer's Board
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...