Table of Contents

Class PluginBase

Namespace
Obsidian.API.Plugins
Assembly
Obsidian.API.dll

Provides the base class for a plugin.

public abstract class PluginBase : IDisposable, IAsyncDisposable
Inheritance
PluginBase
Implements
Inherited Members

Constructors

PluginBase()

protected PluginBase()

Properties

Container

public IPluginContainer Container { get; }

Property Value

IPluginContainer

Info

public IPluginInfo Info { get; }

Property Value

IPluginInfo

Methods

ConfigureRegistry(IPluginRegistry)

Used for registering commands, events, blocks, items and entities.

public virtual void ConfigureRegistry(IPluginRegistry pluginRegistry)

Parameters

pluginRegistry IPluginRegistry

Remarks

Services from the Server will be injected when this method is called. e.x (ILogger, IServerConfiguration). Services registered through this method will be availiable/injected when OnServerReadyAsync(IServer) is called.

ConfigureServices(IServiceCollection)

Used for registering services.

public virtual void ConfigureServices(IServiceCollection services)

Parameters

services IServiceCollection

Remarks

Only services from the Server will be injected when this method is called. e.x (ILogger, IServerConfiguration). Services registered through this method will be availiable/injected when OnServerReadyAsync(IServer) is called.

Dispose()

public virtual void Dispose()

DisposeAsync()

public virtual ValueTask DisposeAsync()

Returns

ValueTask

Equals(object?)

public override sealed bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override sealed int GetHashCode()

Returns

int

OnLoadedAsync(IServer)

Called when the plugin has fully loaded.

public virtual ValueTask OnLoadedAsync(IServer server)

Parameters

server IServer

Returns

ValueTask

OnServerReadyAsync(IServer)

Called when the world has loaded and the server is joinable.

public virtual ValueTask OnServerReadyAsync(IServer server)

Parameters

server IServer

Returns

ValueTask

OnUnloadingAsync()

Called when the plugin is being unloaded.

public virtual ValueTask OnUnloadingAsync()

Returns

ValueTask

ToString()

public override sealed string ToString()

Returns

string