Skip to content

Commit

Permalink
Allow colors in money item shop editor
Browse files Browse the repository at this point in the history
  • Loading branch information
fullwall committed Apr 15, 2024
1 parent edb4f78 commit 1b32596
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions main/src/main/java/net/citizensnpcs/trait/shop/MoneyAction.java
Expand Up @@ -11,13 +11,16 @@
import net.citizensnpcs.api.gui.InputMenus;
import net.citizensnpcs.api.gui.InventoryMenuPage;
import net.citizensnpcs.api.persistence.Persist;
import net.citizensnpcs.api.util.Messaging;
import net.citizensnpcs.util.InventoryMultiplexer;
import net.citizensnpcs.util.Util;
import net.milkbowl.vault.economy.Economy;

public class MoneyAction extends NPCShopAction {
@Persist
public double money;
@Persist
private String formattedMoney;

public MoneyAction() {
}
Expand All @@ -29,7 +32,11 @@ public MoneyAction(double cost) {
@Override
public String describe() {
Economy economy = Bukkit.getServicesManager().getRegistration(Economy.class).getProvider();
return money + " " + economy.currencyNamePlural();
return getFormattedMoney() + " " + economy.currencyNamePlural();
}

private String getFormattedMoney() {
return formattedMoney == null || formattedMoney.isEmpty() ? Double.toString(money) : formattedMoney;
}

@Override
Expand Down Expand Up @@ -81,11 +88,12 @@ public InventoryMenuPage createEditor(NPCShopAction previous, Consumer<NPCShopAc
MoneyAction action = previous == null ? new MoneyAction() : (MoneyAction) previous;
return InputMenus.filteredStringSetter(() -> Double.toString(action.money), s -> {
try {
double result = Double.parseDouble(s);
double result = Double.parseDouble(Messaging.stripColor(s));
if (result < 0)
return false;

action.money = result;
action.formattedMoney = !Messaging.stripColor(s).equals(s) ? s : null;
} catch (NumberFormatException nfe) {
return false;
}
Expand Down

0 comments on commit 1b32596

Please sign in to comment.