Spigot-API 1.16.3-R0.1-SNAPSHOT API
Bukkit, the plugin development framework.
The documentation is for developing plugins and is split into the respective packages for each subject matter. This documentation does not cover running a server, contributing code back to the project, or setting up a workspace. Working knowledge of the Java language is a prerequisite for developing plugins.
For basic plugin development, see the plugin
package
. It covers the basic requirements of a plugin jar.
For handling events and triggered code, see the event package
.
Note: While the Bukkit API makes every effort to ensure stability, this is not guaranteed, especially across major versions. In particular the following is a (incomplete) list of things that are not API.
- Implementing interfaces. The Bukkit API is designed to only be
implemented by server software. Unless a class/interface is obviously
designed for extension (eg
BukkitRunnable
), or explicitly marked as such, it should not be implemented by plugins. Although this can sometimes work, it is not guaranteed to do so and resulting bugs will be disregarded. - Constructing inbuilt events. Although backwards compatibility is attempted where possible, it is sometimes not possible to add new fields to events without breaking existing constructors. To ensure that the API continues to evolve, event constructors are therefore not plugin API.
- Implementation classes. Concrete implementation classes packaged with Bukkit (eg those beginning with Simple) are not API. You should access them via their interfaces instead.
Package | Description |
---|---|
org.bukkit |
The root package of the Bukkit API, contains generalized API classes.
|
org.bukkit.advancement |
Classes relevant to advancements.
|
org.bukkit.attribute |
Classes relevant to attributes.
|
org.bukkit.block |
Classes used to manipulate the voxels in a
world ,
including special states. |
org.bukkit.block.banner |
Classes relevant to banner blocks.
|
org.bukkit.block.data |
Generalized BlockData classes.
|
org.bukkit.block.data.type |
Specific BlockData classes relevant to only a given block or set of blocks.
|
org.bukkit.block.structure |
Classes relevant to structure blocks.
|
org.bukkit.boss |
Classes concerning the creation of boss bars that appear at the top of the
player's screen.
|
org.bukkit.command |
Classes relating to handling specialized non-chat player input.
|
org.bukkit.command.defaults |
Commands for emulating the Minecraft commands and other necessary ones for
use by a Bukkit implementation.
|
org.bukkit.configuration |
Classes dedicated to handling a plugin's runtime configuration.
|
org.bukkit.configuration.file |
Classes dedicated to facilitating
configurations to be read and
stored on the filesystem. |
org.bukkit.configuration.serialization |
Classes dedicated to being able to perform serialization specialized for
the Bukkit
configuration
implementation. |
org.bukkit.conversations |
Classes dedicated to facilitate direct player-to-plugin communication.
|
org.bukkit.enchantments |
Classes relating to the specialized enhancements to
item stacks , as part of the meta data . |
org.bukkit.entity |
Interfaces for non-voxel objects that can exist in a
world , including all players, monsters, projectiles, etc. |
org.bukkit.entity.memory |
Classes concerning an entity's persistent memory.
|
org.bukkit.entity.minecart |
Interfaces for various
Minecart types. |
org.bukkit.event |
Classes dedicated to handling triggered code executions.
|
org.bukkit.event.block | |
org.bukkit.event.enchantment |
Events triggered from an enchantment table . |
org.bukkit.event.entity | |
org.bukkit.event.hanging |
Events relating to entities that hang . |
org.bukkit.event.inventory | |
org.bukkit.event.player | |
org.bukkit.event.raid |
Events related to raids. |
org.bukkit.event.server |
Events relating to programmatic state
changes on the server. |
org.bukkit.event.vehicle |
Events relating to vehicular entities . |
org.bukkit.event.weather |
Events relating to weather. |
org.bukkit.event.world | |
org.bukkit.generator |
Classes to facilitate
world generation
implementation. |
org.bukkit.help |
Classes used to manipulate the default command and topic assistance system.
|
org.bukkit.inventory |
Classes involved in manipulating player inventories and item interactions.
|
org.bukkit.inventory.meta |
The interfaces used when manipulating extra data can can be stored inside
item stacks . |
org.bukkit.inventory.meta.tags |
Classes that allow attaching custom data to items.
|
org.bukkit.loot |
Classes relevant to loot table manipulation and generation.
|
org.bukkit.map |
Classes to facilitate plugin handling of
map displays. |
org.bukkit.material |
Classes that represents various voxel types and states.
|
org.bukkit.material.types |
Classes relevant to specific material types.
|
org.bukkit.metadata |
Classes dedicated to providing a layer of plugin specified data on various
Minecraft concepts.
|
org.bukkit.permissions |
Classes dedicated to providing binary state properties to players.
|
org.bukkit.persistence |
Classes that allow attaching persistent data to various objects.
|
org.bukkit.plugin |
Classes specifically relating to loading software modules at runtime.
|
org.bukkit.plugin.java |
Classes for handling
plugins written in
java. |
org.bukkit.plugin.messaging |
Classes dedicated to specialized plugin to client protocols.
|
org.bukkit.potion |
Classes to represent various
potion
properties and manipulation. |
org.bukkit.projectiles |
Classes to represent the source of a projectile
|
org.bukkit.scheduler |
Classes dedicated to letting
plugins run
code at specific time intervals, including thread safety. |
org.bukkit.scoreboard |
Interfaces used to manage the client side score display system.
|
org.bukkit.util |
Multi and single purpose classes to facilitate various programmatic
concepts.
|
org.bukkit.util.io |
Classes used to facilitate stream processing for specific Bukkit concepts.
|
org.bukkit.util.noise |
Classes dedicated to facilitating deterministic noise.
|
org.bukkit.util.permissions |
Static methods for miscellaneous
permission functionality. |
org.spigotmc |
Spigot-specific classes.
|
org.spigotmc.event.entity |
Spigot-specific entity events.
|
org.spigotmc.event.player |
Spigot-specific player events.
|