When I'm trying to register my command, I get this:
[12:48:52] [Server thread/ERROR] [FML]: Caught exception from ebm_core (EBM Core)
java.lang.AbstractMethodError: null
at net.minecraft.command.CommandBase.updateNamespacedAlias(CommandBase.java:1006) ~[bi.class:?]
at org.spongepowered.common.command.MinecraftCommandWrapper.<init>(MinecraftCommandWrapper.java:89) ~[MinecraftCommandWrapper.class:1.12.2-2611-7.1.0-BETA-2946]
at org.spongepowered.mod.command.ForgeMinecraftCommandWrapper.<init>(ForgeMinecraftCommandWrapper.java:43) ~[ForgeMinecraftCommandWrapper.class:1.12.2-2611-7.1.0-BETA-2946]
at net.minecraft.command.ServerCommandManager.wrapCommand(SourceFile:1550) ~[dh.class:?]
at net.minecraft.command.ServerCommandManager.func_71560_a(SourceFile:1102) ~[dh.class:?]
at net.minecraftforge.fml.common.event.FMLServerStartingEvent.registerServerCommand(FMLServerStartingEvent.java:59) ~[FMLServerStartingEvent.class:?]
at net.everybytematters.ebm_core.EBMCore.serverStarting(EBMCore.java:91) ~[EBMCore.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_152]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_152]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_152]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_152]
at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:600) ~[forge-1.12.2-14.23.2.2632-universal.jar:?]
at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_152]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_152]
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[minecraft_server.1.12.2.jar:?]
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:278) ~[forge-1.12.2-14.23.2.2632-universal.jar:?]
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:256) ~[forge-1.12.2-14.23.2.2632-universal.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_152]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_152]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_152]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_152]
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[minecraft_server.1.12.2.jar:?]
at net.minecraftforge.fml.common.LoadController.redirect$onPost$zza000(LoadController.java:560) [LoadController.class:?]
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:148) [LoadController.class:?]
at net.minecraftforge.fml.common.Loader.serverStarting(Loader.java:771) [Loader.class:?]
at net.minecraftforge.fml.common.FMLCommonHandler.handleServerStarting(FMLCommonHandler.java:296) [FMLCommonHandler.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:306) [nz.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:484) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
[12:48:52] [Server thread/ERROR] [FML]: A fatal exception occurred during the server starting event
net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from EBM Core (ebm_core)
Caused by: java.lang.AbstractMethodError
at net.minecraft.command.CommandBase.updateNamespacedAlias(CommandBase.java:1006) ~[bi.class:?]
at org.spongepowered.common.command.MinecraftCommandWrapper.<init>(MinecraftCommandWrapper.java:89) ~[MinecraftCommandWrapper.class:1.12.2-2611-7.1.0-BETA-2946]
at org.spongepowered.mod.command.ForgeMinecraftCommandWrapper.<init>(ForgeMinecraftCommandWrapper.java:43) ~[ForgeMinecraftCommandWrapper.class:1.12.2-2611-7.1.0-BETA-2946]
at net.minecraft.command.ServerCommandManager.wrapCommand(SourceFile:1550) ~[dh.class:?]
at net.minecraft.command.ServerCommandManager.func_71560_a(SourceFile:1102) ~[dh.class:?]
at net.minecraftforge.fml.common.event.FMLServerStartingEvent.registerServerCommand(FMLServerStartingEvent.java:59) ~[FMLServerStartingEvent.class:?]
at net.everybytematters.ebm_core.EBMCore.serverStarting(EBMCore.java:91) ~[EBMCore.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_152]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_152]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_152]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_152]
at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:600) ~[forge-1.12.2-14.23.2.2632-universal.jar:?]
at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_152]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_152]
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[minecraft_server.1.12.2.jar:?]
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:278) ~[forge-1.12.2-14.23.2.2632-universal.jar:?]
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:256) ~[forge-1.12.2-14.23.2.2632-universal.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_152]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_152]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_152]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_152]
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[minecraft_server.1.12.2.jar:?]
at net.minecraftforge.fml.common.LoadController.redirect$onPost$zza000(LoadController.java:560) ~[LoadController.class:?]
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:148) ~[LoadController.class:?]
at net.minecraftforge.fml.common.Loader.serverStarting(Loader.java:771) [Loader.class:?]
at net.minecraftforge.fml.common.FMLCommonHandler.handleServerStarting(FMLCommonHandler.java:296) [FMLCommonHandler.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:306) [nz.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:484) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
Here's my command class:
public class CommandAuthenticate extends CommandBase {
public HashMap<String, Integer> hashMap = new HashMap<String, Integer>();
@Override
public String getName() {
return "authenticate";
}
@Override
public boolean checkPermission(MinecraftServer server, ICommandSender sender) {
// Check permission code
}
@Override
public String getUsage(ICommandSender sender) {
// Get usage code
}
@Override
public List<String> getAliases() {
// Alias code
}
@Override
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException {
// Execute code
}
@Override
public List<String> getTabCompletions(MinecraftServer server, ICommandSender sender, String[] args, @Nullable BlockPos targetPos)
{
// Get tab completions code
}
@Override
public boolean isUsernameIndex(String[] args, int index) {
return false;
}
@Override
public int compareTo(ICommand o) {
return 0;
}
}
I'm registering this command in:
@EventHandler
public void serverStarting(FMLServerStartingEvent event) {
event.registerServerCommand(commandAuthenticate);
}