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 suggested 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 the 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 updated for the latest API revisions!
What be Here
- API-Versions
- Build Systems
- Settin’ Up Yer Shipyard
- Setting Up Your Project
- Plugin Identifiers
- Main Plugin Class
- Plugin Lifecycle
- Dependency Injection
- Practices
- Optionals
- Logging and Debugging
- Text
- Plugin Commands
- Events
- Configuring Plugins
- The Asset API
- The Data API
- Blocks
- Entities
- Items
- Trade-Offers
- Effects
- Scheduler
- Services
- Databases
- Permissions
- Bans
- Metrics Collection
- Book Views
- Economy
- Placeholders
- World Generation
- Plugin Manager
- Game Profile Manager
- Offline Player Data
- Tab Lists
- Plugin Metadata
- Ray Tracing
- Plugin Debugging
- Tutorials
- Implementation-dependent Plugins