From 137e9dc7d655ed5114e4f789c8de63aa1376deba Mon Sep 17 00:00:00 2001 From: Auxilor Date: Sat, 20 May 2023 18:01:45 +0100 Subject: [PATCH] Added global price display names --- .../eco/core/price/ConfiguredPrice.java | 20 +++++++++++++++++-- .../core-plugin/src/main/resources/lang.yml | 7 ++++++- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/eco-api/src/main/java/com/willfp/eco/core/price/ConfiguredPrice.java b/eco-api/src/main/java/com/willfp/eco/core/price/ConfiguredPrice.java index 02c55dbd..d2a2f563 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/price/ConfiguredPrice.java +++ b/eco-api/src/main/java/com/willfp/eco/core/price/ConfiguredPrice.java @@ -1,5 +1,6 @@ package com.willfp.eco.core.price; +import com.willfp.eco.core.Eco; import com.willfp.eco.core.config.interfaces.Config; import com.willfp.eco.core.placeholder.context.PlaceholderContext; import com.willfp.eco.core.price.impl.PriceFree; @@ -158,12 +159,27 @@ public final class ConfiguredPrice implements Price { if (!( config.has("value") && config.has("type") - && config.has("display") )) { return null; } - String formatString = config.getString("display"); + String formatString; + + String langConfig = Eco.get().getEcoPlugin().getLangYml() + .getSubsections("price-display") + .stream() + .filter(section -> section.getString("type").equalsIgnoreCase(config.getString("type"))) + .findFirst() + .map(section -> section.getString("display")) + .orElse(null); + + if (langConfig != null) { + formatString = langConfig; + } else if (config.has("display")) { + formatString = config.getString("display"); + } else { + return null; + } Price price = Prices.create( config.getString("value"), diff --git a/eco-core/core-plugin/src/main/resources/lang.yml b/eco-core/core-plugin/src/main/resources/lang.yml index 7d1dc50a..358a03e1 100644 --- a/eco-core/core-plugin/src/main/resources/lang.yml +++ b/eco-core/core-plugin/src/main/resources/lang.yml @@ -1 +1,6 @@ -multiple-in-craft: '&l&c! &fThis recipe requires &a%amount%&f of this item.' \ No newline at end of file +multiple-in-craft: '&l&c! &fThis recipe requires &a%amount%&f of this item.' + +# Specify default display names for prices made through ConfiguredPrice#create +price-display: + - type: example_type + display: "&e%value% Price"