Fixed MMOCore generating skill files for non-public ML scripts

This commit is contained in:
Jules 2025-10-13 15:58:50 +02:00
parent 28161be71d
commit 47fd207ba8
2 changed files with 11 additions and 1 deletions

View File

@ -40,6 +40,6 @@ public class OpenCommandNode extends CommandTreeNode {
}
InventoryManager.SPECIFIC_TREE_VIEW.get(UtilityMethods.kebabCase(skillTree.getId())).newInventory(playerData).open();
return explorer.success("Skill tree &6" + skillTree.getIcons() + "&e opened for player &6" + player.getName());
return explorer.success("Skill tree &6" + skillTree.getName() + "&e opened for player &6" + player.getName());
}
}

View File

@ -100,6 +100,16 @@ public class SkillManager implements MMOCoreManager {
// Load skills
FileUtils.loadObjectsFromFolder(MMOCore.plugin, "skills", true, (name, config) -> {
final SkillHandler<?> handler = MythicLib.plugin.getSkills().getHandler(UtilityMethods.enumName(name));
try {
Validate.isTrue(handler == null);
for (var script : MythicLib.plugin.getSkills().getScripts())
if (UtilityMethods.kebabCase(script.getId()).equals(name)) return;
} catch (Throwable ignored) {
// TODO j'ai chié dans la colle, plein de .yml en trop a cause des scripts non publics!
// A absolument enlever lors de la maj centralisation des skills ML/MMOItems/MMOCores
}
Validate.notNull(handler, "Could not find skill handler with ID '" + UtilityMethods.enumName(name) + "'");
final RegisteredSkill skill = new RegisteredSkill(handler, config);
this.skills.put(handler.getId(), skill);