Skip to content

Commit

Permalink
feat: added price and date formatters (#401)
Browse files Browse the repository at this point in the history
Co-authored-by: RoinujNosde <[email protected]>
  • Loading branch information
SrBedrock and RoinujNosde committed Nov 13, 2023
1 parent b363efe commit b2c7d12
Show file tree
Hide file tree
Showing 21 changed files with 144 additions and 66 deletions.
24 changes: 18 additions & 6 deletions src/main/java/net/sacredlabyrinth/phaed/simpleclans/Clan.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
import net.sacredlabyrinth.phaed.simpleclans.loggers.BankOperator;
import net.sacredlabyrinth.phaed.simpleclans.managers.SettingsManager;
import net.sacredlabyrinth.phaed.simpleclans.utils.ChatUtils;
import net.sacredlabyrinth.phaed.simpleclans.utils.CurrencyFormat;
import net.sacredlabyrinth.phaed.simpleclans.utils.DateFormat;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.World;
Expand Down Expand Up @@ -114,12 +116,12 @@ public String toString() {
public void deposit(double amount, Player player) {
if (SimpleClans.getInstance().getPermissionsManager().playerHasMoney(player, amount)) {
if (SimpleClans.getInstance().getPermissionsManager().chargePlayer(player, amount)) {
player.sendMessage(AQUA + lang("player.clan.deposit", player, amount));
addBb(player.getName(), lang("bb.clan.deposit", amount));
player.sendMessage(AQUA + lang("player.clan.deposit", player, CurrencyFormat.format(amount)));
addBb(player.getName(), lang("bb.clan.deposit", CurrencyFormat.format(amount)));
setBalance(getBalance() + amount);
SimpleClans.getInstance().getStorageManager().updateClan(this);
} else {
player.sendMessage(AQUA + lang("not.sufficient.money", player, amount));
player.sendMessage(AQUA + lang("not.sufficient.money", player, CurrencyFormat.format(amount)));
}
} else {
player.sendMessage(AQUA + lang("not.sufficient.money", player, amount));
Expand Down Expand Up @@ -151,8 +153,8 @@ public EconomyResponse deposit(@NotNull BankOperator sender, @NotNull Cause caus
public void withdraw(double amount, Player player) {
if (getBalance() >= amount) {
if (SimpleClans.getInstance().getPermissionsManager().grantPlayer(player, amount)) {
player.sendMessage(AQUA + lang("player.clan.withdraw", player, amount));
addBb(player.getName(), lang("bb.clan.withdraw", amount));
player.sendMessage(AQUA + lang("player.clan.withdraw", player, CurrencyFormat.format(amount)));
addBb(player.getName(), lang("bb.clan.withdraw", CurrencyFormat.format(amount)));
setBalance(getBalance() - amount);
}
} else {
Expand Down Expand Up @@ -246,6 +248,16 @@ public double getBalance() {
return balance;
}

/**
* Returns the clan's balance formatted
*
* @return the balance formatted
*/
@Placeholder("balance_formatted")
public String getBalanceFormatted() {
return CurrencyFormat.format(balance);
}

/**
* (used internally)
*
Expand Down Expand Up @@ -453,7 +465,7 @@ public long getFounded() {
*/
@Placeholder("founded")
public String getFoundedString() {
return new java.text.SimpleDateFormat("MMM dd, ''yy h:mm a").format(new Date(this.founded));
return DateFormat.formatDateTime(founded);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import net.sacredlabyrinth.phaed.simpleclans.hooks.papi.Placeholder;
import net.sacredlabyrinth.phaed.simpleclans.managers.ProtectionManager.Action;
import net.sacredlabyrinth.phaed.simpleclans.managers.SettingsManager;
import net.sacredlabyrinth.phaed.simpleclans.utils.DateFormat;
import net.sacredlabyrinth.phaed.simpleclans.utils.VanishUtils;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
Expand Down Expand Up @@ -487,8 +488,7 @@ public String getJoinDateString() {
if (joinDate == 0) {
return "";
}

return new java.text.SimpleDateFormat("MMM dd, ''yy h:mm a").format(new Date(joinDate));
return DateFormat.formatDateTime(joinDate);
}

/**
Expand All @@ -512,7 +512,7 @@ public String getLastSeenString(@Nullable CommandSender sender) {
if (!VanishUtils.isVanished(sender, this)) {
return lang("online", sender);
}
return new java.text.SimpleDateFormat("MMM dd, ''yy h:mm a").format(new Date(lastSeen));
return DateFormat.formatDateTime(lastSeen);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import net.sacredlabyrinth.phaed.simpleclans.loggers.BankLogger;
import net.sacredlabyrinth.phaed.simpleclans.loggers.BankOperator;
import net.sacredlabyrinth.phaed.simpleclans.managers.PermissionsManager;
import net.sacredlabyrinth.phaed.simpleclans.utils.CurrencyFormat;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;

Expand All @@ -31,7 +32,7 @@ public class BankCommand extends BaseCommand {
@Conditions("rank:name=BANK_BALANCE")
@Description("{@@command.description.bank.status}")
public void bankStatus(Player player, Clan clan) {
player.sendMessage(AQUA + lang("clan.balance", player, clan.getBalance()));
player.sendMessage(AQUA + lang("clan.balance", player, clan.getBalanceFormatted()));
}

@Subcommand("%withdraw %all")
Expand Down Expand Up @@ -73,8 +74,8 @@ private void processWithdraw(Player player, Clan clan, double amount) {
switch (clan.withdraw(operator, COMMAND, amount)) {
case SUCCESS -> {
if (permissions.grantPlayer(player, amount)) {
player.sendMessage(AQUA + lang("player.clan.withdraw", player, amount));
clan.addBb(player.getName(), lang("bb.clan.withdraw", amount, player.getName()));
player.sendMessage(AQUA + lang("player.clan.withdraw", player, CurrencyFormat.format(amount)));
clan.addBb(player.getName(), lang("bb.clan.withdraw", CurrencyFormat.format(amount), player.getName()));
} else {
clan.setBalance(operator, REVERT, BankLogger.Operation.WITHDRAW, clan.getBalance() + amount);
}
Expand Down Expand Up @@ -121,15 +122,15 @@ private void processDeposit(Player player, Clan clan, double amount) {
*/

if (!permissions.playerHasMoney(player, amount)) {
player.sendMessage(AQUA + lang("not.sufficient.money", player, amount));
player.sendMessage(AQUA + lang("not.sufficient.money", player, CurrencyFormat.format(amount)));
return;
}
BankOperator operator = new BankOperator(player, permissions.playerGetMoney(player));
EconomyResponse response = clan.deposit(operator, COMMAND, amount);
if (response == EconomyResponse.SUCCESS) {
if (permissions.chargePlayer(player, amount)) {
player.sendMessage(AQUA + lang("player.clan.deposit", player, amount));
clan.addBb(player.getName(), lang("bb.clan.deposit", amount, player.getName()));
player.sendMessage(AQUA + lang("player.clan.deposit", player, CurrencyFormat.format(amount)));
clan.addBb(player.getName(), lang("bb.clan.deposit", CurrencyFormat.format(amount), player.getName()));
} else {
//Reverts the deposit if something went wrong with Vault
clan.setBalance(operator, REVERT, BankLogger.Operation.DEPOSIT, clan.getBalance() - amount);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import net.sacredlabyrinth.phaed.simpleclans.events.TagChangeEvent;
import net.sacredlabyrinth.phaed.simpleclans.managers.*;
import net.sacredlabyrinth.phaed.simpleclans.utils.ChatUtils;
import net.sacredlabyrinth.phaed.simpleclans.utils.CurrencyFormat;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;

Expand Down Expand Up @@ -188,12 +189,12 @@ public void setFee(Player player, Clan clan, @Name("fee") double fee) {
double maxFee = settings.getDouble(ECONOMY_MAX_MEMBER_FEE);
if (fee > maxFee) {
ChatBlock.sendMessage(player, RED
+ lang("max.fee.allowed.is.0", player, maxFee));
+ lang("max.fee.allowed.is.0", player, CurrencyFormat.format(maxFee)));
return;
}
if (cm.purchaseMemberFeeSet(player)) {
clan.setMemberFee(fee);
clan.addBb(player.getName(), lang("bb.fee.set", fee));
clan.addBb(player.getName(), lang("bb.fee.set", CurrencyFormat.format(fee)));
ChatBlock.sendMessage(player, AQUA + lang("fee.set", player));
storage.updateClan(clan);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import net.sacredlabyrinth.phaed.simpleclans.hooks.discord.DiscordHook;
import net.sacredlabyrinth.phaed.simpleclans.hooks.discord.exceptions.DiscordHookException;
import net.sacredlabyrinth.phaed.simpleclans.managers.*;
import net.sacredlabyrinth.phaed.simpleclans.utils.CurrencyFormat;
import net.sacredlabyrinth.phaed.simpleclans.utils.ChatUtils;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
Expand Down Expand Up @@ -238,7 +239,7 @@ public void discord(Player player, Clan clan) {
double amount = settings.getDouble(ECONOMY_DISCORD_CREATION_PRICE);
if (settings.is(ECONOMY_PURCHASE_DISCORD_CREATE)) {
if (!permissions.playerHasMoney(player, amount)) {
player.sendMessage(AQUA + lang("not.sufficient.money", player, amount));
player.sendMessage(AQUA + lang("not.sufficient.money", player, CurrencyFormat.format(amount)));
return;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ public void listBalance(CommandSender sender) {
Clan clan = clans.get(i);
String name = " " + (clan.isVerified() ? settings.getColored(PAGE_CLAN_NAME_COLOR) : GRAY) + clan.getName();
String line = MessageFormat.format(lineFormat, i + 1, leftBracket, clan.getColorTag(),
rightBracket, name, clan.getBalance());
rightBracket, name, clan.getBalanceFormatted());
sender.sendMessage(line);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import net.sacredlabyrinth.phaed.simpleclans.loggers.BankLogger;
import net.sacredlabyrinth.phaed.simpleclans.loggers.BankOperator;
import net.sacredlabyrinth.phaed.simpleclans.managers.PermissionsManager;
import net.sacredlabyrinth.phaed.simpleclans.utils.CurrencyFormat;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

Expand All @@ -31,7 +32,7 @@ public class BankCommand extends BaseCommand {
@Description("{@@command.description.bank.admin.status}")
public void status(CommandSender sender, @Name("clan") ClanInput clanInput) {
Clan clan = clanInput.getClan();
ChatBlock.sendMessage(sender, AQUA + lang("clan.admin.balance", sender, clan.getName(), clan.getBalance()));
ChatBlock.sendMessage(sender, AQUA + lang("clan.admin.balance", sender, clan.getName(), clan.getBalanceFormatted()));
}

@Subcommand("%take")
Expand All @@ -46,8 +47,8 @@ public void take(CommandSender sender, @Name("clan") ClanInput clanInput, @Name(
EconomyResponse economyResponse = clan.withdraw(operator, ClanBalanceUpdateEvent.Cause.COMMAND, amount);
switch (economyResponse) {
case SUCCESS:
ChatBlock.sendMessage(sender, AQUA + lang("clan.admin.take", sender, amount, clan.getName()));
clan.addBb(sender.getName(), lang("bb.clan.take", sender, amount, sender.getName()));
ChatBlock.sendMessage(sender, AQUA + lang("clan.admin.take", sender, CurrencyFormat.format(amount), clan.getName()));
clan.addBb(sender.getName(), lang("bb.clan.take", sender, CurrencyFormat.format(amount), sender.getName()));
break;
case NOT_ENOUGH_BALANCE:
sender.sendMessage(RED + lang("clan.admin.bank.not.enough.money", sender, clan.getName()));
Expand All @@ -66,8 +67,8 @@ public void give(CommandSender sender, @Name("clan") ClanInput clanInput, @Name(

EconomyResponse economyResponse = clan.deposit(operator, ClanBalanceUpdateEvent.Cause.COMMAND, amount);
if (economyResponse == EconomyResponse.SUCCESS) {
ChatBlock.sendMessage(sender, AQUA + lang("clan.admin.give", sender, amount, clan.getName()));
clan.addBb(sender.getName(), lang("bb.clan.give", sender, amount, sender.getName()));
ChatBlock.sendMessage(sender, AQUA + lang("clan.admin.give", sender, CurrencyFormat.format(amount), clan.getName()));
clan.addBb(sender.getName(), lang("bb.clan.give", sender, CurrencyFormat.format(amount), sender.getName()));
}
}

Expand All @@ -82,8 +83,8 @@ public void set(CommandSender sender, @Name("clan") ClanInput clanInput, @Name("

EconomyResponse response = clan.setBalance(operator, ClanBalanceUpdateEvent.Cause.COMMAND, BankLogger.Operation.SET, amount);
if (response == EconomyResponse.SUCCESS) {
ChatBlock.sendMessage(sender, AQUA + lang("clan.admin.set", sender, clan.getName(), amount));
clan.addBb(sender.getName(), lang("bb.clan.set", sender, amount, sender.getName()));
ChatBlock.sendMessage(sender, AQUA + lang("clan.admin.set", sender, clan.getName(), CurrencyFormat.format(amount)));
clan.addBb(sender.getName(), lang("bb.clan.set", sender, CurrencyFormat.format(amount), sender.getName()));
}
}
}
Loading

0 comments on commit b2c7d12

Please sign in to comment.