================= Creating a Plugin ================= This section is intended for developers who wish to develop plugins with SpongeAPI. The articles cover various aspects of SpongeAPI and the concepts behind it. It is important to understand that the intent of this section is to help developers get started with SpongeAPI, not to cover every concept. The `Javadocs `__ will be of great help to you once you are comfortable with the API. .. note:: It is highly recommended to have prior experience with developing in Java! It is also highly recommended to take code examples from the documentation as purely educational resources, as copying-and-pasting examples from the documentation likely will not work, especially without modification. .. tip:: The `Cookbook `__ is a collection of fully functional plugins that each demonstrate a specific part of SpongeAPI. These plugin "recipes" are standalone and are compilable via Gradle or Maven. Some of them demonstrate how to create plugins using other JVM languages such as Scala and Kotlin. Note that some of the examples may not yet be fully updated for the latest API revisions! Contents ======== .. toctree:: :maxdepth: 2 :titlesonly: buildsystem workspace/index project/index plugin-identifier plugin-class lifecycle injection practices/index optional/index logging text/index commands/index event/index configuration/index assets data/index blocks/index entities/index items/index trade-offers effects scheduler services database permissions bans bookview economy/index wgen/index manager game-profile-manager offline-userplayer-data tab-lists plugin-meta ray-tracing debugging tutorials internals/index