forked from Upstream/mmocore
Improved class skill loading
This commit is contained in:
parent
966ef01b36
commit
83a6af7ad1
@ -3,6 +3,7 @@ package net.Indyuce.mmocore.api.player.profess;
|
||||
import com.mojang.authlib.GameProfile;
|
||||
import com.mojang.authlib.properties.Property;
|
||||
import io.lumine.mythic.lib.MythicLib;
|
||||
import io.lumine.mythic.lib.UtilityMethods;
|
||||
import io.lumine.mythic.lib.api.MMOLineConfig;
|
||||
import io.lumine.mythic.lib.api.util.PostLoadObject;
|
||||
import io.lumine.mythic.lib.version.VersionMaterial;
|
||||
@ -133,8 +134,8 @@ public class PlayerClass extends PostLoadObject implements ExperienceObject {
|
||||
if (config.contains("skills"))
|
||||
for (String key : config.getConfigurationSection("skills").getKeys(false))
|
||||
try {
|
||||
Validate.isTrue(MMOCore.plugin.skillManager.hasSkill(key), "Could not find skill " + key);
|
||||
skills.put(key, new ClassSkill(MMOCore.plugin.skillManager.getSkill(key), config.getConfigurationSection("skills." + key)));
|
||||
RegisteredSkill registered = MMOCore.plugin.skillManager.getSkillOrThrow(UtilityMethods.enumName(key));
|
||||
skills.put(registered.getHandler().getId(), new ClassSkill(registered, config.getConfigurationSection("skills." + key)));
|
||||
} catch (IllegalArgumentException exception) {
|
||||
MMOCore.plugin.getLogger().log(Level.WARNING, "Could not load skill info '" + key + "' from class '"
|
||||
+ id + "': " + exception.getMessage());
|
||||
|
@ -15,6 +15,9 @@ public class Placeholders {
|
||||
|
||||
public String apply(Player player, String str) {
|
||||
|
||||
// Remove conditions first
|
||||
str = removeCondition(str);
|
||||
|
||||
// Internal placeholders
|
||||
while (str.contains("{") && str.substring(str.indexOf("{")).contains("}")) {
|
||||
String holder = str.substring(str.indexOf("{") + 1, str.indexOf("}"));
|
||||
@ -22,7 +25,7 @@ public class Placeholders {
|
||||
}
|
||||
|
||||
// External placeholders
|
||||
return MMOCore.plugin.placeholderParser.parse(player, removeCondition(str));
|
||||
return MMOCore.plugin.placeholderParser.parse(player, str);
|
||||
}
|
||||
|
||||
private String removeCondition(String str) {
|
||||
|
@ -33,11 +33,7 @@ public class SkillManager implements MMOCoreManager {
|
||||
|
||||
@NotNull
|
||||
public RegisteredSkill getSkillOrThrow(String id) {
|
||||
return Objects.requireNonNull(skills.get(id.toUpperCase()), "Could not find skill with ID '" + id + "'");
|
||||
}
|
||||
|
||||
public boolean hasSkill(String id) {
|
||||
return skills.containsKey(id.toUpperCase());
|
||||
return Objects.requireNonNull(skills.get(id), "Could not find skill with ID '" + id + "'");
|
||||
}
|
||||
|
||||
public Collection<RegisteredSkill> getAll() {
|
||||
|
Loading…
Reference in New Issue
Block a user