Skip to content

Commit b370c8f

Browse files
committed
feat: Add logic check for Vault
1 parent 6bc428e commit b370c8f

File tree

1 file changed

+26
-2
lines changed

1 file changed

+26
-2
lines changed

src/main/java/com/blank038/servermarket/economy/impl/VaultEconomyImpl.java

+26-2
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,55 @@
55
import net.milkbowl.vault.economy.Economy;
66
import org.bukkit.Bukkit;
77
import org.bukkit.OfflinePlayer;
8+
import org.bukkit.plugin.RegisteredServiceProvider;
89

910
/**
1011
* @author Blank038
1112
*/
1213
@SuppressWarnings(value = {"unused"})
1314
public class VaultEconomyImpl extends BaseEconomy {
14-
private final Economy economyProvider;
15+
private Economy economyProvider;
1516

1617
public VaultEconomyImpl() {
1718
super(PayType.VAULT);
18-
economyProvider = Bukkit.getServicesManager().getRegistration(Economy.class).getProvider();
19+
this.checkEconomy();
20+
}
21+
22+
private void checkEconomy() {
23+
if (this.economyProvider != null) {
24+
return;
25+
}
26+
RegisteredServiceProvider<Economy> service = Bukkit.getServicesManager().getRegistration(Economy.class);
27+
if (service == null) {
28+
return;
29+
}
30+
this.economyProvider = service.getProvider();
1931
}
2032

2133
@Override
2234
public double balance(OfflinePlayer player, String key) {
35+
this.checkEconomy();
36+
if (this.economyProvider == null) {
37+
return 0.0D;
38+
}
2339
return economyProvider.getBalance(player);
2440
}
2541

2642
@Override
2743
public void give(OfflinePlayer player, String key, double amount) {
44+
this.checkEconomy();
45+
if (this.economyProvider == null) {
46+
return;
47+
}
2848
economyProvider.depositPlayer(player, Math.max(1, amount));
2949
}
3050

3151
@Override
3252
public boolean take(OfflinePlayer player, String key, double amount) {
53+
this.checkEconomy();
54+
if (this.economyProvider == null) {
55+
return false;
56+
}
3357
return economyProvider.withdrawPlayer(player, Math.max(1, amount)).transactionSuccess();
3458
}
3559
}

0 commit comments

Comments
 (0)