-
Notifications
You must be signed in to change notification settings - Fork 17
/
iConomyCurrency.java
executable file
·78 lines (55 loc) · 1.84 KB
/
iConomyCurrency.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package com.griefcraft.integration.currency;
import com.griefcraft.integration.ICurrency;
import com.iConomy.iConomy;
import com.iConomy.system.Account;
import com.iConomy.system.Holdings;
import com.iConomy.util.Constants;
import org.bukkit.entity.Player;
public class iConomyCurrency implements ICurrency {
public boolean isActive() {
return true;
}
public String format(double money) {
return iConomy.format(money);
}
public String getMoneyName() {
return Constants.Major.get(1);
}
public double getBalance(Player player) {
Account account = iConomy.getAccount(player.getName());
if (account == null) {
return 0;
}
return account.getHoldings().balance();
}
public boolean canAfford(Player player, double money) {
Account account = iConomy.getAccount(player.getName());
return account != null && account.getHoldings().hasEnough(money);
}
public double addMoney(Player player, double money) {
Account account = iConomy.getAccount(player.getName());
if (account == null) {
return 0;
}
Holdings holdings = account.getHoldings();
holdings.add(money);
return holdings.balance();
}
public double removeMoney(Player player, double money) {
// we're removing money, so it should be positive
if (money < 0) {
money = -money;
}
Account account = iConomy.getAccount(player.getName());
if (account == null) {
return 0;
}
Holdings holdings = account.getHoldings();
// this SHOULD be a transaction, ensure they have enough
if (!holdings.hasEnough(money)) {
return holdings.balance();
}
holdings.subtract(money);
return holdings.balance();
}
}