Links
Comment on page

Custom economy

Add your economies
With the zAuctionHouse API you can create an AuctionEconomy infitiy! To do this you just need to create a class that will implement the AuctionEconomy interface. Then you just have to implement each method.
Here is an example of an economy with the level of the players:
package fr.maxlego08.zauctionhouse.economy;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import fr.maxlego08.zauctionhouse.api.economy.AuctionEconomy;
public class LevelEconomy implements AuctionEconomy {
@Override
public long getMoney(OfflinePlayer offlinePlayer) {
return offlinePlayer.isOnline() ? ((Player) offlinePlayer).getLevel() : 0;
}
@Override
public boolean hasMoney(OfflinePlayer offlinePlayer, long price) {
return getMoney(offlinePlayer) >= price;
}
@Override
public void depositMoney(OfflinePlayer offlinePlayer, long value) {
if (offlinePlayer.isOnline()) {
int level = offlinePlayer.getPlayer().getLevel();
offlinePlayer.getPlayer().setLevel((int) (level + value));
}
}
@Override
public void withdrawMoney(OfflinePlayer offlinePlayer, long value) {
if (offlinePlayer.isOnline()) {
int level = offlinePlayer.getPlayer().getLevel();
offlinePlayer.getPlayer().setLevel((int) (level - value));
}
}
@Override
public String getCurrency() {
return "L";
}
@Override
public String getFormat() {
return "l";
}
@Override
public boolean isEnable() {
return true;
}
@Override
public String getName() {
return "LEVEL";
}
}
Then simply add your savings from the AuctionManager with the methodregisterEconomy.
Example:
AuctionManager auctionManager = getProvider(AuctionManager.class);
auctionManager.registerEconomy(new LevelEconomy());