Cleanup & comments

This commit is contained in:
Indyuce 2022-11-10 17:13:13 +01:00
parent 45540f3782
commit 7317954d70
3 changed files with 32 additions and 21 deletions

View File

@ -6,8 +6,6 @@ import io.lumine.mythic.lib.api.stat.StatInstance;
import io.lumine.mythic.lib.api.stat.modifier.StatModifier;
import io.lumine.mythic.lib.player.cooldown.CooldownMap;
import io.lumine.mythic.lib.player.skill.PassiveSkill;
import net.Indyuce.mmocore.party.provided.MMOCorePartyModule;
import net.Indyuce.mmocore.party.provided.Party;
import net.Indyuce.mmocore.MMOCore;
import net.Indyuce.mmocore.api.ConfigMessage;
import net.Indyuce.mmocore.api.SoundEvent;
@ -34,8 +32,9 @@ import net.Indyuce.mmocore.experience.droptable.ExperienceTable;
import net.Indyuce.mmocore.guild.provided.Guild;
import net.Indyuce.mmocore.loot.chest.particle.SmallParticleEffect;
import net.Indyuce.mmocore.party.AbstractParty;
import net.Indyuce.mmocore.party.provided.MMOCorePartyModule;
import net.Indyuce.mmocore.party.provided.Party;
import net.Indyuce.mmocore.player.Unlockable;
import net.Indyuce.mmocore.player.stats.StatInfo;
import net.Indyuce.mmocore.skill.ClassSkill;
import net.Indyuce.mmocore.skill.RegisteredSkill;
import net.Indyuce.mmocore.skill.cast.SkillCastingHandler;
@ -120,7 +119,7 @@ public class PlayerData extends OfflinePlayerData implements Closable, Experienc
// NON-FINAL player data stuff made public to facilitate field change
public boolean noCooldown;
private boolean statLoaded;
private final boolean statLoaded;
public CombatRunnable combat;
/**
@ -143,7 +142,6 @@ public class PlayerData extends OfflinePlayerData implements Closable, Experienc
if (modifier.getKey().startsWith("trigger"))
statLoaded = true;
this.statLoaded = statLoaded;
}
/**
@ -179,9 +177,8 @@ public class PlayerData extends OfflinePlayerData implements Closable, Experienc
for (SkillTree skillTree : MMOCore.plugin.skillTreeManager.getAll())
skillTree.setupNodeState(this);
if (!statLoaded)
// Stat triggers setup
if (!statLoaded)
for (SkillTree skillTree : MMOCore.plugin.skillTreeManager.getAll()) {
for (SkillTreeNode node : skillTree.getNodes()) {
node.getExperienceTable().claimStatTriggers(this, node);

View File

@ -1,6 +1,24 @@
package net.Indyuce.mmocore.tree;
public enum NodeState {
LOCKED,UNLOCKED,UNLOCKABLE,FULLY_LOCKED;
/**
* The player does not have access to this skill tree node just yet.
*/
LOCKED,
/**
* The player has bought and unlocked the skill tree node.
*/
UNLOCKED,
/**
* The player has access to but has not unlocked the node yet.
*/
UNLOCKABLE,
/**
* The player had access to this node, but unlocked another
* node which now prevents him from unlocking this one.
*/
FULLY_LOCKED;
}

View File

@ -5,12 +5,12 @@ import io.lumine.mythic.lib.UtilityMethods;
import io.lumine.mythic.lib.api.util.PostLoadObject;
import net.Indyuce.mmocore.MMOCore;
import net.Indyuce.mmocore.api.player.PlayerData;
import net.Indyuce.mmocore.tree.NodeState;
import net.Indyuce.mmocore.tree.skilltree.display.DisplayInfo;
import net.Indyuce.mmocore.manager.registry.RegisteredObject;
import net.Indyuce.mmocore.tree.skilltree.display.Icon;
import net.Indyuce.mmocore.tree.IntegerCoordinates;
import net.Indyuce.mmocore.tree.NodeState;
import net.Indyuce.mmocore.tree.SkillTreeNode;
import net.Indyuce.mmocore.tree.skilltree.display.DisplayInfo;
import net.Indyuce.mmocore.tree.skilltree.display.Icon;
import org.apache.commons.lang.Validate;
import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection;
@ -32,7 +32,6 @@ import java.util.logging.Level;
* - extra attribute pts
* - particle or potion effects
*
* @author jules
* @author Ka0rX
* @see {@link SkillTreeNode}
*/
@ -86,7 +85,6 @@ public abstract class SkillTree extends PostLoadObject implements RegisteredObje
MMOCore.log(Level.WARNING, "Couldn't load paths for skill tree: " + id);
}
try {
//Load the icons of the skill tree.
for (String key : config.getConfigurationSection("icons").getKeys(false)) {
@ -118,7 +116,6 @@ public abstract class SkillTree extends PostLoadObject implements RegisteredObje
}
}
@Override
protected abstract void whenPostLoaded(@NotNull ConfigurationSection configurationSection);
@ -178,7 +175,6 @@ public abstract class SkillTree extends PostLoadObject implements RegisteredObje
roots.add(node);
}
/**
* Recursively go through the skill trees to update the the node states
*/
@ -187,7 +183,6 @@ public abstract class SkillTree extends PostLoadObject implements RegisteredObje
setupNodeStateFrom(root, playerData);
}
public List<SkillTreeNode> getRoots() {
return roots;
}
@ -292,6 +287,7 @@ public abstract class SkillTree extends PostLoadObject implements RegisteredObje
public SkillTreeNode getNode(String name) {
return Objects.requireNonNull(nodes.get(name), "Could not find node in tree '" + id + "' with name '" + name + "'");
}
public boolean isNode(String name) {
return nodes.containsKey(name);
}