/*
 * This file is part of Nucleus, licensed under the MIT License (MIT). See the LICENSE.txt file
 * at the root of this project for more details.
 */
package io.github.nucleuspowered.nucleus.modules.mob;

import io.github.nucleuspowered.nucleus.module.IModule;
import io.github.nucleuspowered.nucleus.modules.mob.config.MobConfig;
import io.github.nucleuspowered.nucleus.scaffold.command.ICommandExecutor;
import io.github.nucleuspowered.nucleus.scaffold.listener.ListenerBase;
import io.github.nucleuspowered.nucleus.services.INucleusServiceCollection;

import java.util.Collection;
import java.util.Optional;

public class MobModule implements IModule.Configurable<MobConfig> {

    public final static String ID = "mob";

    @Override public void init(final INucleusServiceCollection serviceCollection) {
    }

    @Override public Collection<Class<? extends ICommandExecutor>> getCommands() {
        return null;
    }

    @Override public Optional<Class<?>> getPermissions() {
        return Optional.empty();
    }

    @Override public Collection<Class<? extends ListenerBase>> getListeners() {
        return null;
    }

    @Override public Class<MobConfig> getConfigClass() {
        return null;
    }
}

@@ -314,22 +314,188 @@
 b.co
-nfig.MobConfig
+mmands.SpawnMobCommand;%0Aimport io.github.nucleuspowered.nucleus.modules.mob.config.MobConfig;%0Aimport io.github.nucleuspowered.nucleus.modules.mob.listeners.BlockLivingSpawnListener
 ;%0Aim
@@ -745,16 +745,46 @@
 ection;%0A
+import java.util.Collections;%0A
 import j
@@ -1097,36 +1097,80 @@
 %0A        return 
-null
+Collections.singletonList(SpawnMobCommand.class)
 ;%0A    %7D%0A%0A    @Ov
@@ -1249,14 +1249,31 @@
 nal.
-empty(
+of(MobPermissions.class
 );%0A 
@@ -1365,36 +1365,85 @@
 %0A        return 
-null
+Collections.singleton(BlockLivingSpawnListener.class)
 ;%0A    %7D%0A%0A    @Ov
@@ -1511,12 +1511,23 @@
 urn 
-null
+MobConfig.class
 ;%0A  

Fix module file