package net.zomis.cardshifter.ecs.config;
import java.util.HashMap;
import java.util.Map;
import com.cardshifter.api.config.PlayerConfig;
import com.cardshifter.modapi.base.Component;
public class ConfigComponent extends Component {
private final Map<String, PlayerConfig> configs = new HashMap<>();
private boolean configured;
public ConfigComponent addConfig(String key, PlayerConfig config) {
configs.put(key, config);
return this;
}
public Map<String, PlayerConfig> getConfigs() {
return new HashMap<>(configs);
}
public boolean isConfigured() {
return configured;
}
public void setConfigured(boolean configured) {
this.configured = configured;
}
public <T extends PlayerConfig> T getConfig(Class<T> configClass) {
for (PlayerConfig confObject : configs.values()) {
if (confObject.getClass() == configClass) {
return configClass.cast(confObject);
}
}
return null;
}
}