summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/mcess/essentials/Essentials.java
blob: 940deb5606cbc49512da600d528c9a1a97cd33a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package org.mcess.essentials;

import com.google.inject.Inject;
import com.me4502.modularframework.ModuleController;
import com.me4502.modularframework.ShadedModularFramework;
import org.spongepowered.api.Sponge;
import org.spongepowered.api.config.DefaultConfig;
import org.spongepowered.api.event.Listener;
import org.spongepowered.api.event.game.state.GameStartedServerEvent;
import org.spongepowered.api.plugin.Plugin;

import java.io.File;

@Plugin(id = "Essentials", name = "Essentials")
public class Essentials {

    ModuleController moduleController;

    @Inject
    @DefaultConfig(sharedRoot = false)
    private File mainConfig;

    @Listener
    public void onInitialize(GameStartedServerEvent event) {

        moduleController = ShadedModularFramework.registerModuleController(this, Sponge.getGame());

        File configurationDirectory = new File(mainConfig.getParent(), "modules");
        configurationDirectory.mkdir();
        moduleController.setConfigurationDirectory(configurationDirectory);

        discoverModules();

        moduleController.enableModules((moduleWrapper) -> true); //Enable all for now.
    }

    public void discoverModules() {
        //List all the modules that exist.
        moduleController.registerModule("org.mcess.essentials.modules.Teleport");
    }
}