=================
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:
api-versions
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
metrics
bookview
economy/index
wgen/index
manager
game-profile-manager
offline-userplayer-data
tab-lists
plugin-meta
ray-tracing
debugging
tutorials
internals/index