The ibravo module holds the interfaces required to implement plugins and hooks.
These are the base interface classes for Bravo. Plugin developers probably will not inherit from these; they are used purely to express common plugin functionality.
Bases: twisted.plugin.IPlugin
Interface for plugins.
This interface stores common metadata used during plugin discovery.
Bases: bravo.ibravo.IBravoPlugin
Parent interface for sorted plugins.
Sorted plugins have an innate and automatic ordering inside lists thanks to the ability to advertise their dependencies.
Bases: bravo.ibravo.IBravoPlugin
Interface for authenticators.
Authenticators participate in a two-step login process with a handshake.
Bases: bravo.ibravo.IBravoPlugin
An automaton.
Automatons are given blocks from chunks which interest them, and may do processing on those blocks.
Bases: bravo.ibravo.ICommand
Interface for chat commands.
Chat commands are invoked from the chat inside clients, so they are always called by a specific client.
This interface is specifically designed to exist comfortably side-by-side with IConsoleCommand.
Bases: bravo.ibravo.ICommand
Interface for console commands.
Console commands are invoked from a console or some other location with two defining attributes: Access restricted to superusers, and no user issuing the command. As such, no access control list applies to them, but they must be given usernames to operate on explicitly.
Bases: bravo.ibravo.IBravoPlugin
Recipe for crafting materials from other materials.
Bases: bravo.ibravo.IBravoPlugin
Seasons are transformational stages run during certain days to emulate an environment.
Bases: bravo.ibravo.IBravoPlugin
Class that understands how to serialize several different kinds of objects to and from disk-friendly formats.
Implementors of this interface are expected to provide a uniform implementation of their serialization technique.
Bases: bravo.ibravo.ISortedPlugin
Interface for terrain generators.
Bases: bravo.ibravo.IBravoPlugin, twisted.web.resource.IResource
Interface for a world specific web resource.
Bases: bravo.ibravo.ISortedPlugin
Hook for actions to be taken before a block is placed.
Bases: bravo.ibravo.ISortedPlugin
Hook for actions to be taken after a block is placed.
Bases: bravo.ibravo.ISortedPlugin
Hook for actions to be taken after a block is dug up.
Bases: bravo.ibravo.ISortedPlugin
Hook for actions to be taken after a sign is updated.
This hook fires both on sign creation and sign editing.
Bases: bravo.ibravo.ISortedPlugin
Hook for actions to be taken when a player interacts with an entity.
Each plugin needs to specify a list of entity types it is interested in in advance, and it will only be called for those.