mcspring-boot
mcspring-boot copied to clipboard
Autocompletion not working
I have a @Command
annotated class in which I specify 2 classes as subcommand (both are annotated with @Command
and @Subcommand
).
Your wiki specifies the following:
The Spigot Spring Boot Starter comes with a out of the box autocompletion system, which provides a powerful and extensible support for the Minecraft command autocompletion feature. By default, all subcommands are suggested, as well as Player, World and enum parameters.
But for me it only suggests the player name.
I also tried explicitly specifying a @Parameter annotated field and give it a completionCandidate explicitly, but this doesn't seem to fix the issue.
Do you have time to help figure out the issue?
Bukkit already suggests all player's names by default, probably there's something wrong with the native command registration (https://github.com/Alan-Gomes/mcspring-boot/issues/22#issuecomment-654486194) (which controls the autocompletion too). Let's keep track of this issue with the newest updates.
I indeed get an exception with the native command registration:
[01:21:55] [Server thread/WARN]: Failed to register commands natively, falling back to event listeners
java.lang.UnsupportedOperationException: null
at java.util.AbstractList.remove(AbstractList.java:161) ~[?:1.8.0_232]
at java.util.AbstractList$Itr.remove(AbstractList.java:374) ~[?:1.8.0_232]
at org.bukkit.command.SimpleCommandMap.register(SimpleCommandMap.java:77) ~[spigot.jar:git-Spigot-0509002-6b95d59]
at org.bukkit.command.SimpleCommandMap.register(SimpleCommandMap.java:62) ~[spigot.jar:git-Spigot-0509002-6b95d59]
at dev.alangomes.springspigot.command.CommandService.registerCommand(CommandService.java:98) ~[HeadsPluginAPI-2.0.6.jar:?]
at java.util.ArrayList.forEach(ArrayList.java:1257) ~[?:1.8.0_232]
at dev.alangomes.springspigot.command.CommandService.init(CommandService.java:74) ~[HeadsPluginAPI-2.0.6.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_232]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_232]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_232]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_232]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) ~[HeadsPluginAPI-2.0.6.jar:?]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) ~[HeadsPluginAPI-2.0.6.jar:?]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) ~[HeadsPluginAPI-2.0.6.jar:?]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:416) ~[HeadsPluginAPI-2.0.6.jar:?]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1788) ~[HeadsPluginAPI-2.0.6.jar:?]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595) ~[HeadsPluginAPI-2.0.6.jar:?]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517) ~[HeadsPluginAPI-2.0.6.jar:?]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323) ~[HeadsPluginAPI-2.0.6.jar:?]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226) ~[HeadsPluginAPI-2.0.6.jar:?]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) ~[HeadsPluginAPI-2.0.6.jar:?]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[HeadsPluginAPI-2.0.6.jar:?]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:895) ~[HeadsPluginAPI-2.0.6.jar:?]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878) ~[HeadsPluginAPI-2.0.6.jar:?]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) ~[HeadsPluginAPI-2.0.6.jar:?]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) ~[HeadsPluginAPI-2.0.6.jar:?]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[HeadsPluginAPI-2.0.6.jar:?]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[HeadsPluginAPI-2.0.6.jar:?]
at com.github.cc007.headsplugin.HeadsPlugin.onEnable(HeadsPlugin.java:88) ~[HeadsPluginAPI-2.0.6.jar:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[spigot.jar:git-Spigot-0509002-6b95d59]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:351) ~[spigot.jar:git-Spigot-0509002-6b95d59]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480) ~[spigot.jar:git-Spigot-0509002-6b95d59]
at org.bukkit.craftbukkit.v1_16_R1.CraftServer.enablePlugin(CraftServer.java:493) ~[spigot.jar:git-Spigot-0509002-6b95d59]
at org.bukkit.craftbukkit.v1_16_R1.CraftServer.enablePlugins(CraftServer.java:407) ~[spigot.jar:git-Spigot-0509002-6b95d59]
at net.minecraft.server.v1_16_R1.MinecraftServer.loadWorld(MinecraftServer.java:438) ~[spigot.jar:git-Spigot-0509002-6b95d59]
at net.minecraft.server.v1_16_R1.DedicatedServer.init(DedicatedServer.java:219) ~[spigot.jar:git-Spigot-0509002-6b95d59]
at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java:810) ~[spigot.jar:git-Spigot-0509002-6b95d59]
at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot.jar:git-Spigot-0509002-6b95d59]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_232]