forked from Upstream/mmocore
Fixed SpecificExpSource
This commit is contained in:
parent
2c9a9bec4b
commit
60127bcad7
@ -2,40 +2,38 @@ package net.Indyuce.mmocore.experience.source;
|
|||||||
|
|
||||||
import io.lumine.mythic.lib.api.MMOLineConfig;
|
import io.lumine.mythic.lib.api.MMOLineConfig;
|
||||||
import net.Indyuce.mmocore.MMOCore;
|
import net.Indyuce.mmocore.MMOCore;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
|
||||||
import net.Indyuce.mmocore.experience.source.type.ExperienceSource;
|
|
||||||
import net.Indyuce.mmocore.experience.source.type.SpecificExperienceSource;
|
|
||||||
import net.Indyuce.mmocore.manager.profession.ExperienceSourceManager;
|
|
||||||
import net.Indyuce.mmocore.api.ConfigFile;
|
import net.Indyuce.mmocore.api.ConfigFile;
|
||||||
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
import net.Indyuce.mmocore.experience.dispenser.ExperienceDispenser;
|
import net.Indyuce.mmocore.experience.dispenser.ExperienceDispenser;
|
||||||
|
import net.Indyuce.mmocore.experience.source.type.ExperienceSource;
|
||||||
|
import net.Indyuce.mmocore.manager.profession.ExperienceSourceManager;
|
||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class FromExperienceSource extends SpecificExperienceSource {
|
public class FromExperienceSource extends ExperienceSource {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register all the children experience sources defined in experience-source.yml.
|
* Register all the children experience sources defined in experience-source.yml.
|
||||||
*/
|
*/
|
||||||
private final ArrayList<ExperienceSource> experienceSources = new ArrayList<>();
|
private final List<ExperienceSource> experienceSources = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
public FromExperienceSource(ExperienceDispenser dispenser, MMOLineConfig config) {
|
public FromExperienceSource(ExperienceDispenser dispenser, MMOLineConfig config) {
|
||||||
super(dispenser, config);
|
super(dispenser);
|
||||||
List<String> list = new ConfigFile("exp-sources")
|
|
||||||
.getConfig().getStringList(config.getString("source"));
|
List<String> list = new ConfigFile("exp-sources").getConfig().getStringList(config.getString("source"));
|
||||||
Validate.isTrue(list.size() != 0, "There is no source matching " + config.getString("key"));
|
Validate.isTrue(list.size() != 0, "There is no source matching " + config.getString("key"));
|
||||||
list.stream()
|
list.stream()
|
||||||
.map(MMOLineConfig::new)
|
.map(MMOLineConfig::new)
|
||||||
.forEach(mmoLineConfig ->
|
.forEach(mmoLineConfig ->
|
||||||
experienceSources.add(MMOCore.plugin.loadManager.loadExperienceSource(mmoLineConfig, dispenser)));
|
experienceSources.add(MMOCore.plugin.loadManager.loadExperienceSource(mmoLineConfig, dispenser)));
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ExperienceSourceManager<FromExperienceSource> newManager() {
|
public ExperienceSourceManager<FromExperienceSource> newManager() {
|
||||||
return new ExperienceSourceManager<FromExperienceSource>() {
|
return new ExperienceSourceManager<>() {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to register all the children experience sources.
|
* Used to register all the children experience sources.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user