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"