No implementation for ninja.leaping.configurate.loader.ConfigurationLoader


#1

Hello,

I create a new topic because the original was marked as “IGNORE” by its author.
I have the pretty same issue as described here : IGNORE: Configurate ..no implementation ; unable to create injector

I still have this error

No implementation for ninja.leaping.configurate.loader.ConfigurationLoader annotated with 
@org.spongepowered.api.config.DefaultConfig(sharedRoot=true) was bound".

I have read the doc and write my injection as follow :

 @Inject
 @DefaultConfig(sharedRoot = true)
 private ConfigurationLoader configurationLoader;

Documentation say it is possible to use @DefaultConfig on a ConfigurationLoader to have it directly.
Read here : https://docs.spongepowered.org/stable/en/plugin/configuration/index.html#getting-your-default-plugin-configuration

I’ve also use private ConfigurationLoader<? extends ConfigurationNode> configurationLoader; instead of private ConfigurationLoader configurationLoader;

But issue are the same.

I use

plugins {
    id 'java'
    id 'org.spongepowered.plugin' version '0.9.0'
}
dependencies {
    compile 'org.spongepowered:spongeapi:7.1.0'
}

Does I missunderstood documentation ?


#2

Try injecting on a field of type ConfigurationLoader<CommentedConfigurationNode> instead.


#3

Its working :smiley: Thanks :slight_smile:
I thought generics are optionnal and it could fit into <? extends ConfigurationNode> but I was wrong.