I was trying to a few features of sponge, formally i am a bucket developer, but when I was following the tutorial on configuration - https://docs.spongepowered.org/master/en-GB/plugin/configuration/index.html when i tried to import the ninja leaping configurate there was no class found. I have already set up the workspace and created other types of plugins before but configuration does not work. has the configuration api changed? Has this been removed? Do i need to download another library?
EDIT: I also have the same problem with the google inject
I’m going to go ahead and guess that you’re not using a build system like Gradle. If you were, all these things would be imported automatically. When downloading SpongeAPI, you can download the normal version, or the shaded version. The normal one is what Maven/Gradle knows about, and the shaded version is the one that you would download since it has all the other things like Guava and Guice and Configurate.
By the way, you should totally start using Gradle.
ok. I’m going to suggest that you check out Gradle and IntelliJ, in that order. The IDE is just a personal thing (since eclipse kinda sucks), but Gradle is a good thing to use for plugining. If you decide not to use it, just remember to download the shaded jar.
Go to Help > Install New Software, search for Buildship, and install it.
To make a new Gradle project, you would go File > New > Other > Gradle > Gradle Project.
To convert an existing project, right click the project, and go Configure > Add Gradle Nature. This is an example build.gradle for Sponge.
At the bottom of the screen, next to the Console and Problems tabs, there is a new tab - Gradle Tasks. Run the build task to compile your plugin.
Because #eclipse, Gradle projects aren’t updated automatically when build.gradle is updated. To update dependencies, right click the project, and do Gradle > Refresh Gradle Project.
Using a build system has many advantages. Any updates to dependencies are handled automatically, and there’s no more downloading things. One of the linked dependencies is also plugin-meta, which processes your @Plugin annotation and includes an mcmod.info file in the jar accordingly (this is the file that Sponge complains if you don’t have, and Ore requires).
But I would recommend using the shaded API jar for now, since you don’t know Gradle yet. The easiest way to screw up something is to feel like you have to use it, without knowing how to use it. Fool around with it, learn some things. When you think you understand it, then start using it.