Search in sources :

Example 1 with SerializerInstancer

use of me.deecaad.core.file.SerializerInstancer 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());
    }
}
Also used : IValidator(me.deecaad.core.file.IValidator) Configuration(me.deecaad.core.file.Configuration) LinkedConfig(me.deecaad.core.file.LinkedConfig) JarInstancer(me.deecaad.core.file.JarInstancer) SerializerInstancer(me.deecaad.core.file.SerializerInstancer) FileReader(me.deecaad.core.file.FileReader) IOException(java.io.IOException) JarFile(java.util.jar.JarFile) DuplicateKeyException(me.deecaad.core.file.DuplicateKeyException) Serializer(me.deecaad.core.file.Serializer)

Example 2 with SerializerInstancer

use of me.deecaad.core.file.SerializerInstancer in project MechanicsMain by WeaponMechanics.

the class MechanicsCore method onEnable.

@Override
public void onEnable() {
    debug.debug("Loading config.yml");
    if (!getDataFolder().exists() || getDataFolder().listFiles() == null || getDataFolder().listFiles().length == 0) {
        try {
            FileUtil.copyResourcesTo(getClassLoader().getResource("MechanicsCore"), getDataFolder().toPath());
        } catch (IOException | URISyntaxException e) {
            e.printStackTrace();
        }
    }
    FileUtil.ensureDefaults(getClassLoader(), "MechanicsCore/config.yml", new File(getDataFolder(), "config.yml"));
    try {
        List<?> serializers = new SerializerInstancer(new JarFile(getFile())).createAllInstances(getClassLoader());
        // noinspection unchecked
        serializersList = (List<Serializer<?>>) serializers;
    } catch (IOException e) {
        e.printStackTrace();
    }
    // don't exist in 1.10 and lower.
    if (ReflectionUtil.getMCVersion() >= 11) {
        Bukkit.getPluginManager().registerEvents(EquipListener.SINGLETON, this);
    }
    Bukkit.getPluginManager().registerEvents(new ItemCraftListener(), this);
}
Also used : ItemCraftListener(me.deecaad.core.listeners.ItemCraftListener) SerializerInstancer(me.deecaad.core.file.SerializerInstancer) IOException(java.io.IOException) URISyntaxException(java.net.URISyntaxException) JarFile(java.util.jar.JarFile) JarFile(java.util.jar.JarFile) File(java.io.File) Serializer(me.deecaad.core.file.Serializer)

Aggregations

IOException (java.io.IOException)2 JarFile (java.util.jar.JarFile)2 Serializer (me.deecaad.core.file.Serializer)2 SerializerInstancer (me.deecaad.core.file.SerializerInstancer)2 File (java.io.File)1 URISyntaxException (java.net.URISyntaxException)1 Configuration (me.deecaad.core.file.Configuration)1 DuplicateKeyException (me.deecaad.core.file.DuplicateKeyException)1 FileReader (me.deecaad.core.file.FileReader)1 IValidator (me.deecaad.core.file.IValidator)1 JarInstancer (me.deecaad.core.file.JarInstancer)1 LinkedConfig (me.deecaad.core.file.LinkedConfig)1 ItemCraftListener (me.deecaad.core.listeners.ItemCraftListener)1