use of me.deecaad.core.file.JarInstancer in project MechanicsMain by WeaponMechanics.
the class WeaponMechanics method loadConfig.
void loadConfig() {
debug.debug("Loading and serializing config");
try {
List<?> serializers = new SerializerInstancer(new JarFile(getFile())).createAllInstances(getClassLoader());
// noinspection unchecked
MechanicsCore.addSerializers(getPlugin(), (List<Serializer<?>>) serializers);
} catch (IOException e) {
e.printStackTrace();
return;
}
if (configurations == null) {
configurations = new LinkedConfig();
} else {
configurations.clear();
}
List<IValidator> validators = null;
try {
// Find all validators in WeaponMechanics
validators = new JarInstancer(new JarFile(getFile())).createAllInstances(IValidator.class, getClassLoader(), true);
} catch (IOException e) {
e.printStackTrace();
}
// Fill configuration mappings (except config.yml)
Configuration temp = new FileReader(debug, MechanicsCore.getListOfSerializers(), validators).fillAllFiles(getDataFolder(), "config.yml");
try {
configurations.add(temp);
} catch (DuplicateKeyException e) {
debug.error("Error loading config: " + e.getMessage());
}
}
Aggregations