package fr.Exhotik.Economie;
import org.bukkit.ChatColor;
import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
public class Economie extends JavaPlugin
{
String _prefix = ChatColor.GRAY + "[" + ChatColor.DARK_GREEN + "Economie" + ChatColor.GRAY + "] ";
Server _server;
@Override
public void onDisable()
{
getLogger().info(_prefix + "- inactif !");
EconomieManager.save();
}
@Override
public void onEnable()
{
_server = getServer();
getLogger().info(_prefix + "- actif !");
EconomieManager.initialize();
}
@Override
public boolean onCommand(CommandSender sender, Command command, String cmd, String[] args)
{
if (!(sender instanceof Player))
{
getLogger().info("Cette commande doit etre lancee par un joueur");
return false;
}
Player p = (Player) sender;
if (cmd.equalsIgnoreCase("compte"))
{
if (args.length == 0)
{
if (!p.hasPermission("economie.compte.see")){
p.sendMessage(_prefix + ChatColor.RED + "Vous n'avez pas les permissions requises pour cette commande !");
return false;
}
if (EconomieManager.containsPlayer(p.getName()))
{
int _value = EconomieManager.getPlayerValue(p.getName());
p.sendMessage(ChatColor.GREEN + _prefix + ChatColor.DARK_GREEN + "Vous avez " + ChatColor.GRAY + _value + ChatColor.DARK_GREEN + " MC sur votre compte.");
}
else p.sendMessage(_prefix + ChatColor.RED + "Vous n'avez pas encore de compte !");
}
else if (args.length == 1)
{
if (args[0].equalsIgnoreCase("top"))
{
p.sendMessage(_prefix + ChatColor.RED + "Cette commande n'est pas encore fonctionnelle.");
}
else if (args[0].equalsIgnoreCase("flop"))
{
p.sendMessage(_prefix + ChatColor.RED + "Cette commande n'est pas encore fonctionnelle.");
return true;
}
}
else if (args.length == 2)
{
if (args[0].equalsIgnoreCase("create"))
{
if (!p.hasPermission("economie.compte.flop")){
p.sendMessage(_prefix + ChatColor.RED + "Vous n'avez pas les permissions requises pour cette commande !");
return false;
}
if (EconomieManager.addPlayer(args[1])) p.sendMessage(_prefix + ChatColor.DARK_GREEN + "Le compte de " + ChatColor.GRAY + args[1] + ChatColor.DARK_GREEN + " a été créé avec succés.");
else p.sendMessage(ChatColor.RED + _prefix + "Le compte de " + args[1] + " existe déjà.");
return true;
}
else if (args[0].equalsIgnoreCase("remove"))
{
if (EconomieManager.removePlayer(p.getName())) p.sendMessage(_prefix + ChatColor.DARK_GREEN + "Le compte de " + ChatColor.GRAY + args[1] + ChatColor.DARK_GREEN + " a été supprimé avec succés.");
else p.sendMessage(_prefix + ChatColor.RED + "Le compte de " + args[1] + " n'existe pas.");
return true;
}
}
else if (args.length == 3)
{
if (args[0].equalsIgnoreCase("set"))
{
int _value = 0;
try
{
_value = Integer.parseInt(args[2]);
}
catch (Exception e)
{
/** e.printStackTrace(); */
p.sendMessage(_prefix + ChatColor.RED +"La somme doit être un nombre.");
return false;
}
Boolean connected = true;
try
{
Player receiver = _server.getPlayer(args[1]);
if (receiver.isOnline()) connected = true;
}
catch (Exception e)
{
/** e.printStackTrace(); */
}
if (!connected)
{
p.sendMessage(_prefix + ChatColor.RED + "Le joueur " + args[1] + " doit être connecté.");
return false;
}
p.sendMessage(_prefix + ChatColor.DARK_GREEN + "Vous avez définit le compte de " + ChatColor.GRAY + args[1] + ChatColor.DARK_GREEN + " à " + ChatColor.GRAY + _value + ChatColor.DARK_GREEN + " MC !");
Player _receiver = _server.getPlayer(args[1]);
_receiver.sendMessage(_prefix + ChatColor.DARK_GREEN + "Votre compte à été définit à" + ChatColor.GRAY + _value + ChatColor.DARK_GREEN + " MC !");
EconomieManager.setValueOfPlayer(_value, _receiver.getName());
return true;
}
if (args[0].equalsIgnoreCase("add"))
{
int _value = 0;
try
{
_value = Integer.parseInt(args[2]);
}
catch (Exception e)
{
/** e.printStackTrace(); */
p.sendMessage(_prefix + ChatColor.RED +"La somme doit être un nombre.");
return false;
}
Boolean connected = true;
try
{
Player receiver = _server.getPlayer(args[1]);
if (receiver.isOnline()) connected = true;
}
catch (Exception e)
{
/** e.printStackTrace(); */
}
if (!connected)
{
p.sendMessage(_prefix + ChatColor.RED + "Le joueur " + args[1] + " doit être connecté.");
return false;
}
p.sendMessage(_prefix + ChatColor.DARK_GREEN + "Vous avez ajouté " + ChatColor.GRAY + _value + ChatColor.DARK_GREEN + " MC au compte de " + ChatColor.GRAY + args[1] + ChatColor.DARK_GREEN + " !");
Player _receiver = _server.getPlayer(args[1]);
_receiver.sendMessage(_prefix + ChatColor.DARK_GREEN + "Votre compte à été crédité de" + ChatColor.GRAY + _value + ChatColor.DARK_GREEN + " MC !");
EconomieManager.addValueToPlayer(_value, _receiver.getName());
return true;
}
if (args[0].equalsIgnoreCase("pay"))
{
int _value = 0;
try
{
_value = Integer.parseInt(args[2]);
}
catch (Exception e)
{
/** e.printStackTrace(); */
p.sendMessage(_prefix + ChatColor.RED +"La somme doit être un nombre.");
return false;
}
if (EconomieManager.hasPlayerValue(_value, p.getName()))
{
Boolean connected = true;
try
{
Player receiver = _server.getPlayer(args[1]);
if (receiver.isOnline()) connected = true;
}
catch (Exception e)
{
/** e.printStackTrace(); */
}
if (!connected)
{
p.sendMessage(_prefix + ChatColor.RED + "Le joueur " + args[1] + " doit être connecté.");
return false;
}
p.sendMessage(_prefix + ChatColor.DARK_GREEN + "Vous avez donné " + ChatColor.GRAY + _value + " MC à " + args[1]);
EconomieManager.removeValueFromPlayer(_value, p.getName());
Player _receiver = _server.getPlayer(args[1]);
_receiver.sendMessage(_prefix + ChatColor.GRAY + p.getName() + ChatColor.DARK_GREEN + " vous a donné " + ChatColor.GRAY + _value + ChatColor.DARK_GREEN + " MC.");
EconomieManager.addValueToPlayer(_value, _receiver.getName());
return true;
}
else
{
p.sendMessage(_prefix + ChatColor.RED + "Vous n'avez pas assez de MC.");
}
}
else if (!EconomieManager.containsPlayer(args[1])) p.sendMessage(_prefix + ChatColor.RED + "Le joueur " + args[1] + " n'a pas de compte.");
}
}
return false;
}
}