use of org.bukkit.entity.Player in project Core by iConomy.
the class Status method perform.
@Override
public boolean perform(CommandSender sender, LinkedHashMap<String, Argument> arguments) throws InvalidUsage {
if (!hasPermissions(sender, "status"))
throw new InvalidUsage("You do not have permission to do that.");
String name = arguments.get("name").getStringValue();
String tag = template.color(Template.Node.TAG_MONEY);
boolean self = false;
if (!isConsole(sender))
if (((Player) sender).getName().equalsIgnoreCase(name))
self = true;
if (name.equals("0"))
throw new InvalidUsage("Missing <white>name<rose>: /money status <name> (new status)");
if (!Accounts.exists(name)) {
template.set(Template.Node.ERROR_ACCOUNT);
template.add("name", name);
Messaging.send(sender, tag + template.parse());
return false;
}
Account account = new Account(name);
if (arguments.get("status").getStringValue().equalsIgnoreCase("empty")) {
int current = account.getStatus();
if (self)
template.set(Template.Node.PERSONAL_STATUS);
else {
template.set(Template.Node.PLAYER_STATUS);
template.add("name", name);
}
template.add("status", current);
Messaging.send(sender, tag + template.parse());
} else {
if (!hasPermissions(sender, "status+"))
throw new InvalidUsage("You do not have permission to do that.");
int status = arguments.get("status").getIntegerValue();
account.setStatus(status);
template.set(Template.Node.ACCOUNTS_STATUS);
template.add("status", status);
Messaging.send(sender, tag + template.parse());
}
return false;
}
use of org.bukkit.entity.Player in project Core by iConomy.
the class players method onPlayerJoin.
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
Accounts accounts = new Accounts();
Player player = event.getPlayer();
if (player != null)
if (!accounts.exists(player.getName()))
accounts.create(player.getName());
}
use of org.bukkit.entity.Player in project Core by iConomy.
the class Holdings method showBalance.
public void showBalance(CommandSender to) {
if (to != null) {
String tag = iConomy.Template.raw(Template.Node.TAG_MONEY);
Template template = iConomy.Template;
template.set(Template.Node.PLAYER_BALANCE);
template.add("name", name);
template.add("balance", toString());
Messaging.send(to, tag + template.parse());
return;
}
Player player = iConomy.Server.getPlayer(name);
String tag = iConomy.Template.color(Template.Node.TAG_MONEY);
if (iConomy.Server.getPlayer(name) == null)
return;
Template template = iConomy.Template;
template.set(Template.Node.PERSONAL_BALANCE);
template.add("balance", toString());
Messaging.send(player, tag + template.parse());
}
use of org.bukkit.entity.Player in project Core by iConomy.
the class Money method perform.
@Override
public boolean perform(CommandSender sender, LinkedHashMap<String, Argument> arguments) throws InvalidUsage {
if (Constants.Nodes.useHoldingsPermission.getBoolean())
if (!hasPermissions(sender, "money"))
throw new InvalidUsage("You do not have permission to do that.");
String name = arguments.get("name").getStringValue();
String tag = template.color(Template.Node.TAG_MONEY);
if (name.equals("0")) {
if (isConsole(sender)) {
Messaging.send(sender, "`rCannot check money on non-living organism.");
return false;
}
Player player = (Player) sender;
if (player == null)
return false;
Account account = new Account(player.getName());
account.getHoldings().showBalance(null);
return false;
}
if (!hasPermissions(sender, "money+"))
throw new InvalidUsage("You do not have permission to do that.");
if (!Accounts.exists(name)) {
template.set(Template.Node.ERROR_ACCOUNT);
template.add("name", name);
Messaging.send(sender, tag + template.parse());
return false;
}
Account account = new Account(name);
account.getHoldings().showBalance(sender);
return false;
}
use of org.bukkit.entity.Player in project Core by iConomy.
the class MoneyComparator method setBalance.
static void setBalance(String name, double balance) {
double original = 0.0, gain = 0.0, loss = 0.0;
if (Constants.Nodes.Logging.getBoolean()) {
original = getBalance(name);
gain = balance - original;
loss = original - balance;
}
if (!hasAccount(name)) {
createAccount(name, balance, 0);
if (Constants.Nodes.Logging.getBoolean()) {
if (gain < 0.0)
gain = 0.0;
if (loss < 0.0)
loss = 0.0;
Transactions.insert(new Transaction("setBalance", "System", name).setFromBalance(original).setToBalance(balance).setGain(gain).setLoss(loss).setSet(balance));
}
return;
}
if (useMiniDB() || useInventoryDB() || useOrbDB()) {
if (useInventoryDB())
if (inventory.dataExists(name)) {
inventory.setBalance(name, balance);
return;
}
if (useOrbDB()) {
Player gainer = iConomy.Server.getPlayer(name);
if (gainer != null)
if (balance < gainer.getTotalExperience()) {
int amount = (int) (gainer.getTotalExperience() - balance);
for (int i = 0; i < amount; i++) {
if (gainer.getExp() > 0)
gainer.setExp(gainer.getExp() - 1);
else if (gainer.getTotalExperience() > 0)
gainer.setTotalExperience(gainer.getTotalExperience() - 1);
else
break;
}
} else {
int amount = (int) (balance - gainer.getTotalExperience());
for (int i = 0; i < amount; i++) gainer.setExp(gainer.getExp() + 1);
}
return;
}
if (database.hasIndex(name)) {
database.setArgument(name, "balance", balance);
database.update();
}
return;
}
try {
QueryRunner run = new QueryRunner();
Connection c = iConomy.Database.getConnection();
try {
String t = Constants.Nodes.DatabaseTable.toString();
int update = run.update(c, "UPDATE " + t + " SET balance=? WHERE username=?", balance, name.toLowerCase());
} catch (SQLException ex) {
System.out.println("[iConomy] Error issueing SQL query: " + ex);
} finally {
DbUtils.close(c);
}
} catch (SQLException ex) {
System.out.println("[iConomy] Database Error: " + ex);
}
}
Aggregations