Files
mcMMO/src/main/java/com/gmail/nossr50/placeholders/SkillExpRemainingPlaceholder.java
nossr50 3bec5a42f6 Build placeholder token names with a fixed locale
Placeholder names were built with bare toLowerCase(), which follows
the JVM default locale; on Turkish-locale JVMs enum names containing
'I' produce a dotless ı, so tokens like mctop_mining would register
under a different spelling than documented. The case-insensitive token
map happens to absorb the mismatch, but the registered names should
not depend on that. All seven placeholder classes now lower-case with
Locale.ENGLISH.
2026-07-09 11:11:03 -07:00

27 lines
854 B
Java

package com.gmail.nossr50.placeholders;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import java.util.Locale;
import org.bukkit.entity.Player;
public class SkillExpRemainingPlaceholder implements Placeholder {
private final PapiExpansion papiExpansion;
private final PrimarySkillType skill;
public SkillExpRemainingPlaceholder(PapiExpansion papiExpansion, PrimarySkillType skill) {
this.papiExpansion = papiExpansion;
this.skill = skill;
}
@Override
public String process(Player player, String params) {
final Integer expRemaining = papiExpansion.getExpRemaining(skill, player);
return (expRemaining == null) ? "" : expRemaining.toString();
}
@Override
public String getName() {
return "xp_remaining_" + skill.toString().toLowerCase(Locale.ENGLISH);
}
}