Skip to content

Instantly share code, notes, and snippets.

@GrimEpp
Created October 7, 2020 20:34
Show Gist options
  • Select an option

  • Save GrimEpp/decb3a9541c92b4fab14134f2ae908b8 to your computer and use it in GitHub Desktop.

Select an option

Save GrimEpp/decb3a9541c92b4fab14134f2ae908b8 to your computer and use it in GitHub Desktop.
package net.palasset.joinutils.events;
import net.milkbowl.vault.economy.AbstractEconomy;
import net.milkbowl.vault.economy.EconomyResponse;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class PengeSystemetVaultHook extends AbstractEconomy {
@Override
public boolean isEnabled() {
return true;
}
@Override
public String getName() {
return "PalassetPenger";
}
@Override
public boolean hasBankSupport() {
return true;
}
@Override
public int fractionalDigits() {
return -1;
}
@Override
public String format(double v) {
String s = String.valueOf((int)v);
if (v % 1000 == 0) {
return s.substring(0, s.length() - 3);
}
return s;
}
@Override
public String currencyNamePlural() {
return "";
}
@Override
public String currencyNameSingular() {
return "";
}
@Override
public boolean hasAccount(String s) {
return true;
}
@Override
public boolean hasAccount(OfflinePlayer offlinePlayer) {
return true;
}
@Override
public boolean hasAccount(String s, String s1) {
return true;
}
@Override
public boolean hasAccount(OfflinePlayer offlinePlayer, String s) {
return true;
}
@Override
public double getBalance(String s) {
OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(s);
if (!offlinePlayer.hasPlayedBefore()) {
return 0;
}
return getBalance(offlinePlayer);
}
@Override
public double getBalance(OfflinePlayer offlinePlayer) {
return PengeSystemet.getInstance().penger(offlinePlayer.getUniqueId());
}
@Override
public double getBalance(String s, String s1) {
return getBalance(s);
}
@Override
public double getBalance(OfflinePlayer offlinePlayer, String s) {
return getBalance(offlinePlayer);
}
@Override
public boolean has(String s, double v) {
return getBalance(s) < v;
}
@Override
public boolean has(OfflinePlayer offlinePlayer, double v) {
return getBalance(offlinePlayer) > v;
}
@Override
public boolean has(String s, String s1, double v) {
return getBalance(s) > v;
}
@Override
public boolean has(OfflinePlayer offlinePlayer, String s, double v) {
return getBalance(offlinePlayer) > v;
}
@Override
public EconomyResponse withdrawPlayer(String s, double v) {
OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(s);
if (!offlinePlayer.hasPlayedBefore()) {
return new EconomyResponse(0, 0, EconomyResponse.ResponseType.FAILURE, "Spiller ikke funnet");
}
return withdrawPlayer(offlinePlayer, v);
}
@Override
public EconomyResponse withdrawPlayer(OfflinePlayer offlinePlayer, double v) {
if (PengeSystemet.getInstance().withdraw(offlinePlayer.getUniqueId(),(int) v)) {
return new EconomyResponse((int) v, getBalance(offlinePlayer), EconomyResponse.ResponseType.SUCCESS,"");
}
return new EconomyResponse((int) v, getBalance(offlinePlayer), EconomyResponse.ResponseType.FAILURE,"Ikke nokk penger");
}
@Override
public EconomyResponse withdrawPlayer(String s, String s1, double v) {
return withdrawPlayer(s, v);
}
@Override
public EconomyResponse withdrawPlayer(OfflinePlayer offlinePlayer, String s, double v) {
return withdrawPlayer(offlinePlayer, v);
}
@Override
public EconomyResponse depositPlayer(String s, double v) {
OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(s);
if (!offlinePlayer.hasPlayedBefore()) {
return new EconomyResponse(0, 0, EconomyResponse.ResponseType.FAILURE, "Spiller ikke funnet");
}
return depositPlayer(offlinePlayer, v);
}
@Override
public EconomyResponse depositPlayer(OfflinePlayer offlinePlayer, double v) {
PengeSystemet.getInstance().deposit(offlinePlayer.getUniqueId(), (int)v);
return new EconomyResponse((int) v, getBalance(offlinePlayer), EconomyResponse.ResponseType.SUCCESS, "");
}
@Override
public EconomyResponse depositPlayer(String s, String s1, double v) {
return depositPlayer(s, v);
}
@Override
public EconomyResponse depositPlayer(OfflinePlayer offlinePlayer, String s, double v) {
return depositPlayer(offlinePlayer, v);
}
@Override
public EconomyResponse createBank(String s, String s1) {
return createBank(s, Bukkit.getOfflinePlayer(s1));
}
@Override
public EconomyResponse createBank(String s, OfflinePlayer offlinePlayer) {
PengeSystemet.getInstance().registerAccount(s, offlinePlayer.getUniqueId());
return new EconomyResponse(0, 0, EconomyResponse.ResponseType.SUCCESS, "");
}
@Override
public EconomyResponse deleteBank(String s) {
PengeSystemet.getInstance().deRegisterAccount(s);
return new EconomyResponse(0, 0, EconomyResponse.ResponseType.SUCCESS, "");
}
@Override
public EconomyResponse bankBalance(String s) {
return new EconomyResponse(0, PengeSystemet.getInstance().pengerAccount(s), EconomyResponse.ResponseType.SUCCESS, "");
}
@Override
public EconomyResponse bankHas(String s, double v) {
if (PengeSystemet.getInstance().pengerAccount(s) < v) {
return new EconomyResponse(v, PengeSystemet.getInstance().pengerAccount(s), EconomyResponse.ResponseType.FAILURE, "Ikke nokk penger");
}
return new EconomyResponse(v, PengeSystemet.getInstance().pengerAccount(s), EconomyResponse.ResponseType.SUCCESS, "");
}
@Override
public EconomyResponse bankWithdraw(String s, double v) {
PengeSystemet.getInstance().withdrawAccount(s, (int)v);
return new EconomyResponse(v, PengeSystemet.getInstance().pengerAccount(s), EconomyResponse.ResponseType.SUCCESS, "");
}
@Override
public EconomyResponse bankDeposit(String s, double v) {
PengeSystemet.getInstance().depositAccount(s, (int)v);
return new EconomyResponse(v, PengeSystemet.getInstance().pengerAccount(s), EconomyResponse.ResponseType.SUCCESS, "");
}
@Override
public EconomyResponse isBankOwner(String s, String s1) {
return isBankOwner(s, Bukkit.getOfflinePlayer(s1));
}
@Override
public EconomyResponse isBankOwner(String s, OfflinePlayer offlinePlayer) {
boolean equals = PengeSystemet.getInstance().getAccounts().get(s).getOwner().equals(offlinePlayer.getUniqueId());
if (equals)
return new EconomyResponse(0, PengeSystemet.getInstance().pengerAccount(s), EconomyResponse.ResponseType.SUCCESS, "");
else
return new EconomyResponse(0, PengeSystemet.getInstance().pengerAccount(s), EconomyResponse.ResponseType.FAILURE, "");
}
@Override
public EconomyResponse isBankMember(String s, String s1) {
return isBankMember(s, Bukkit.getOfflinePlayer(s1));
}
@Override
public EconomyResponse isBankMember(String s, OfflinePlayer offlinePlayer) {
boolean equals = PengeSystemet.getInstance().getAccounts().get(s).getMembers().contains(offlinePlayer.getUniqueId());
if (equals)
return new EconomyResponse(0, PengeSystemet.getInstance().pengerAccount(s), EconomyResponse.ResponseType.SUCCESS, "");
else
return new EconomyResponse(0, PengeSystemet.getInstance().pengerAccount(s), EconomyResponse.ResponseType.FAILURE, "");
}
@Override
public List<String> getBanks() {
return new ArrayList<>(PengeSystemet.getInstance().getAccounts().keySet());
}
@Override
public boolean createPlayerAccount(String s) {
return true;
}
@Override
public boolean createPlayerAccount(OfflinePlayer offlinePlayer) {
return true;
}
@Override
public boolean createPlayerAccount(String s, String s1) {
return true;
}
@Override
public boolean createPlayerAccount(OfflinePlayer offlinePlayer, String s) {
return true;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment