78 lines
2.0 KiB
Kotlin
78 lines
2.0 KiB
Kotlin
package cc.maxmc.servux.dataproviders
|
|
|
|
interface IDataProvider {
|
|
/**
|
|
* Returns the simple name for this data provider.
|
|
* This should preferably be a lower case alphanumeric string with no
|
|
* other special characters than '-' and '_'.
|
|
* This name will be used in the enable/disable commands as the argument
|
|
* and also as the config file key/identifier.
|
|
*
|
|
* @return
|
|
*/
|
|
val name: String
|
|
|
|
/**
|
|
* Returns the description of this data provider.
|
|
* Used in the command to list the available providers and to check the status
|
|
* of a given provider.
|
|
*
|
|
* @return
|
|
*/
|
|
val description: String
|
|
|
|
/**
|
|
* Returns the network channel name used by this data provider to listen
|
|
* for incoming data requests and to respond and send the requested data.
|
|
*
|
|
* @return
|
|
*/
|
|
val networkChannel: String
|
|
|
|
/**
|
|
* Returns the current protocol version this provider supports
|
|
*
|
|
* @return
|
|
*/
|
|
val protocolVersion: Int
|
|
/**
|
|
* Returns true if this data provider is currently enabled.
|
|
*
|
|
* @return
|
|
*/
|
|
/**
|
|
* Enables or disables this data provider
|
|
*
|
|
* @param enabled
|
|
*/
|
|
var isEnabled: Boolean
|
|
|
|
/**
|
|
* Returns whether or not this data provider should get ticked to periodically send some data,
|
|
* or if it's only listening for incoming requests and responds to them directly.
|
|
*
|
|
* @return
|
|
*/
|
|
fun shouldTick(): Boolean {
|
|
return false
|
|
}
|
|
|
|
/**
|
|
* Returns the interval in game ticks that this data provider should be ticked at
|
|
*
|
|
* @return
|
|
*/
|
|
val tickRate: Int
|
|
|
|
/**
|
|
* Called at the given tick rate
|
|
*
|
|
* @param tickCounter The current server tick (since last server start)
|
|
*/
|
|
fun tick(tickCounter: Int) {}
|
|
/**
|
|
* Returns the network packet handler used for this data provider.
|
|
* @return
|
|
*/
|
|
// IPluginChannelHandler getPacketHandler();
|
|
} |