Musisz zarejestrować Vault.
Dodaj tą metodę do głównej klasy:
private boolean setupEconomy() {
if (this.getServer().getPluginManager().getPlugin("Vault") == null) {
return false;
}
RegisteredServiceProvider<Economy> rsp = RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null) {
return false;
}
econ = (Economy)rsp.getProvider();
return econ != null;
}
public static Economy getEconomy() {
return econ;
}
Te pole również dodaj gdzieś na początku głównej klasy:
private static final Economy econ;
I przy włączaniu serwera(onEnable) zarejestruj Vault'a:
public void onEnable(){
if (!setupEconomy()) {
getLogger().warning("Nie znaleziono pluginu Vault");
getServer().getPluginManager().disablePlugin(this);
return;
}
}
I wtedy zmień sobie w komendzie:
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (cmd.getName().equalsIgnoreCase("test")) {
if(!(sender instanceof Player)) {
return false;
}
Player player = (Player)sender;
if(!NazwaKlasyGlownej.getEconomy().has(player, 1000)) {
player.sendMessage("Nie masz 1000$!");
return true;
}
if(player.getLocation().getBlock().getRelative(BlockFace.DOWN).getType() == Material.LAPIS_BLOCK) {
player.sendMessage("Zostales uleczony");
Player p = (Player) sender;
p.setHealth(20);
NazwaKlasyGlownej.getEconomy().withdrawPlayer(player, 1000);
}
}
return false;
}
}