deduplicate configuration code
This commit is contained in:
parent
440ab5ac9f
commit
f69eac719c
|
@ -1,124 +1,20 @@
|
||||||
package matterlink
|
package matterlink
|
||||||
|
|
||||||
import matterlink.config.IMatterLinkConfig
|
import matterlink.config.BaseConfig
|
||||||
import matterlink.config.cfg
|
import matterlink.config.cfg
|
||||||
import net.minecraftforge.common.config.Configuration
|
import net.minecraftforge.common.config.Configuration
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.regex.Pattern
|
|
||||||
|
|
||||||
class MatterLinkConfig(file: File) : IMatterLinkConfig() {
|
class MatterLinkConfig(file: File) : BaseConfig() {
|
||||||
init {
|
init {
|
||||||
logger.info("Reading bridge blueprints... from {}", file)
|
logger.info("Reading bridge blueprints... from {}", file)
|
||||||
val config = Configuration(file)
|
val config = Configuration(file)
|
||||||
|
|
||||||
config.addCustomCategoryComment(CATEGORY_RELAY_OPTIONS, "Relay options")
|
load(
|
||||||
relay = RelayOptions(
|
getBoolean = config::getBoolean,
|
||||||
|
getString = config::getString,
|
||||||
systemUser = config.getString(
|
getStringValidated = config::getString,
|
||||||
"systemUser",
|
addCustomCategoryComment = config::addCustomCategoryComment
|
||||||
CATEGORY_RELAY_OPTIONS,
|
|
||||||
relay.systemUser,
|
|
||||||
"Name of the server user (used by death and advancement messages and the /say command)"
|
|
||||||
),
|
|
||||||
deathEvents = config.getBoolean(
|
|
||||||
"deathEvents",
|
|
||||||
CATEGORY_RELAY_OPTIONS,
|
|
||||||
relay.deathEvents,
|
|
||||||
"Relay player death messages"
|
|
||||||
),
|
|
||||||
advancements = config.getBoolean(
|
|
||||||
"advancements",
|
|
||||||
CATEGORY_RELAY_OPTIONS,
|
|
||||||
relay.advancements,
|
|
||||||
"Relay player advancements"
|
|
||||||
),
|
|
||||||
joinLeave = config.getBoolean(
|
|
||||||
"joinLeave",
|
|
||||||
CATEGORY_RELAY_OPTIONS,
|
|
||||||
relay.joinLeave,
|
|
||||||
"Relay when a player joins or leaves the game"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
config.addCustomCategoryComment(CATEGORY_COMMAND, "User commands")
|
|
||||||
command = CommandOptions(
|
|
||||||
enable = config.getBoolean(
|
|
||||||
"enable",
|
|
||||||
CATEGORY_COMMAND,
|
|
||||||
command.enable,
|
|
||||||
"Enable MC bridge commands"
|
|
||||||
),
|
|
||||||
prefix = config.getString(
|
|
||||||
"prefix",
|
|
||||||
CATEGORY_COMMAND,
|
|
||||||
command.prefix,
|
|
||||||
"Prefix for MC bridge commands. Accepts a single character (not alphanumeric or /)",
|
|
||||||
Pattern.compile("^[^0-9A-Za-z/]$")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
config.addCustomCategoryComment(CATEGORY_FORMATTING_INCOMING, "Gateway -> Server" +
|
|
||||||
"Formatting options: " +
|
|
||||||
"Available variables: {username}, {text}, {gateway}, {channel}, {protocol}, {username:antiping}")
|
|
||||||
formatting = FormattingOptions(
|
|
||||||
chat = config.getString(
|
|
||||||
"chat",
|
|
||||||
CATEGORY_FORMATTING_INCOMING,
|
|
||||||
formatting.chat,
|
|
||||||
"Generic chat event, just talking"
|
|
||||||
),
|
|
||||||
joinLeave = config.getString(
|
|
||||||
"joinLeave",
|
|
||||||
CATEGORY_FORMATTING_INCOMING,
|
|
||||||
formatting.joinLeave,
|
|
||||||
"Join and leave events from other gateways"
|
|
||||||
),
|
|
||||||
action = config.getString(
|
|
||||||
"action",
|
|
||||||
CATEGORY_FORMATTING_INCOMING,
|
|
||||||
formatting.action,
|
|
||||||
"User actions (/me) sent by users from other gateways"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
config.addCustomCategoryComment(CATEGORY_FORMATTING_JOIN_LEAVE, "Server -> Gateway" +
|
|
||||||
"Formatting options: " +
|
|
||||||
"Available variables: {username}, {username:antiping}")
|
|
||||||
formattingJoinLeave = FormattingJoinLeave(
|
|
||||||
joinServer = config.getString(
|
|
||||||
"joinServer",
|
|
||||||
CATEGORY_FORMATTING_JOIN_LEAVE,
|
|
||||||
formattingJoinLeave.joinServer,
|
|
||||||
"user join message sent to other gateways, available variables: {username}, {username:antiping}"
|
|
||||||
),
|
|
||||||
leaveServer = config.getString(
|
|
||||||
"leaveServer",
|
|
||||||
CATEGORY_FORMATTING_JOIN_LEAVE,
|
|
||||||
formattingJoinLeave.leaveServer,
|
|
||||||
"user leave message sent to other gateways, available variables: {username}, {username:antiping}"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
config.addCustomCategoryComment(CATEGORY_CONNECTION, "Connection settings")
|
|
||||||
connect = ConnectOptions(
|
|
||||||
url = config.getString(
|
|
||||||
"connectURL",
|
|
||||||
CATEGORY_CONNECTION,
|
|
||||||
connect.url,
|
|
||||||
"The URL or IP address of the bridge server"
|
|
||||||
),
|
|
||||||
authToken = config.getString(
|
|
||||||
"authToken",
|
|
||||||
CATEGORY_CONNECTION,
|
|
||||||
connect.authToken,
|
|
||||||
"Auth token used to connect to the bridge server"
|
|
||||||
),
|
|
||||||
gateway = config.getString(
|
|
||||||
"gateway",
|
|
||||||
CATEGORY_CONNECTION,
|
|
||||||
connect.gateway,
|
|
||||||
"MatterBridge gateway"
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if (config.hasChanged()) config.save()
|
if (config.hasChanged()) config.save()
|
||||||
|
|
|
@ -1,124 +1,20 @@
|
||||||
package matterlink
|
package matterlink
|
||||||
|
|
||||||
import matterlink.config.IMatterLinkConfig
|
import matterlink.config.BaseConfig
|
||||||
import matterlink.config.cfg
|
import matterlink.config.cfg
|
||||||
import net.minecraftforge.common.config.Configuration
|
import net.minecraftforge.common.config.Configuration
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.regex.Pattern
|
|
||||||
|
|
||||||
class MatterLinkConfig(file: File) : IMatterLinkConfig() {
|
class MatterLinkConfig(file: File) : BaseConfig() {
|
||||||
init {
|
init {
|
||||||
logger.info("Reading bridge blueprints... from {}", file)
|
logger.info("Reading bridge blueprints... from {}", file)
|
||||||
val config = Configuration(file)
|
val config = Configuration(file)
|
||||||
|
|
||||||
config.addCustomCategoryComment(CATEGORY_RELAY_OPTIONS, "Relay options")
|
load(
|
||||||
relay = RelayOptions(
|
getBoolean = config::getBoolean,
|
||||||
|
getString = config::getString,
|
||||||
systemUser = config.getString(
|
getStringValidated = config::getString,
|
||||||
"systemUser",
|
addCustomCategoryComment = config::addCustomCategoryComment
|
||||||
CATEGORY_RELAY_OPTIONS,
|
|
||||||
relay.systemUser,
|
|
||||||
"Name of the server user (used by death and advancement messages and the /say command)"
|
|
||||||
),
|
|
||||||
deathEvents = config.getBoolean(
|
|
||||||
"deathEvents",
|
|
||||||
CATEGORY_RELAY_OPTIONS,
|
|
||||||
relay.deathEvents,
|
|
||||||
"Relay player death messages"
|
|
||||||
),
|
|
||||||
advancements = config.getBoolean(
|
|
||||||
"advancements",
|
|
||||||
CATEGORY_RELAY_OPTIONS,
|
|
||||||
relay.advancements,
|
|
||||||
"Relay player advancements"
|
|
||||||
),
|
|
||||||
joinLeave = config.getBoolean(
|
|
||||||
"joinLeave",
|
|
||||||
CATEGORY_RELAY_OPTIONS,
|
|
||||||
relay.joinLeave,
|
|
||||||
"Relay when a player joins or leaves the game"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
config.addCustomCategoryComment(CATEGORY_COMMAND, "User commands")
|
|
||||||
command = CommandOptions(
|
|
||||||
enable = config.getBoolean(
|
|
||||||
"enable",
|
|
||||||
CATEGORY_COMMAND,
|
|
||||||
command.enable,
|
|
||||||
"Enable MC bridge commands"
|
|
||||||
),
|
|
||||||
prefix = config.getString(
|
|
||||||
"prefix",
|
|
||||||
CATEGORY_COMMAND,
|
|
||||||
command.prefix,
|
|
||||||
"Prefix for MC bridge commands. Accepts a single character (not alphanumeric or /)",
|
|
||||||
Pattern.compile("^[^0-9A-Za-z/]$")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
config.addCustomCategoryComment(CATEGORY_FORMATTING_INCOMING, "Gateway -> Server" +
|
|
||||||
"Formatting options: " +
|
|
||||||
"Available variables: {username}, {text}, {gateway}, {channel}, {protocol}, {username:antiping}")
|
|
||||||
formatting = FormattingOptions(
|
|
||||||
chat = config.getString(
|
|
||||||
"chat",
|
|
||||||
CATEGORY_FORMATTING_INCOMING,
|
|
||||||
formatting.chat,
|
|
||||||
"Generic chat event, just talking"
|
|
||||||
),
|
|
||||||
joinLeave = config.getString(
|
|
||||||
"joinLeave",
|
|
||||||
CATEGORY_FORMATTING_INCOMING,
|
|
||||||
formatting.joinLeave,
|
|
||||||
"Join and leave events from other gateways"
|
|
||||||
),
|
|
||||||
action = config.getString(
|
|
||||||
"action",
|
|
||||||
CATEGORY_FORMATTING_INCOMING,
|
|
||||||
formatting.action,
|
|
||||||
"User actions (/me) sent by users from other gateways"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
config.addCustomCategoryComment(CATEGORY_FORMATTING_JOIN_LEAVE, "Server -> Gateway" +
|
|
||||||
"Formatting options: " +
|
|
||||||
"Available variables: {username}, {username:antiping}")
|
|
||||||
formattingJoinLeave = FormattingJoinLeave(
|
|
||||||
joinServer = config.getString(
|
|
||||||
"joinServer",
|
|
||||||
CATEGORY_FORMATTING_JOIN_LEAVE,
|
|
||||||
formattingJoinLeave.joinServer,
|
|
||||||
"user join message sent to other gateways, available variables: {username}, {username:antiping}"
|
|
||||||
),
|
|
||||||
leaveServer = config.getString(
|
|
||||||
"leaveServer",
|
|
||||||
CATEGORY_FORMATTING_JOIN_LEAVE,
|
|
||||||
formattingJoinLeave.leaveServer,
|
|
||||||
"user leave message sent to other gateways, available variables: {username}, {username:antiping}"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
config.addCustomCategoryComment(CATEGORY_CONNECTION, "Connection settings")
|
|
||||||
connect = ConnectOptions(
|
|
||||||
url = config.getString(
|
|
||||||
"connectURL",
|
|
||||||
CATEGORY_CONNECTION,
|
|
||||||
connect.url,
|
|
||||||
"The URL or IP address of the bridge server"
|
|
||||||
),
|
|
||||||
authToken = config.getString(
|
|
||||||
"authToken",
|
|
||||||
CATEGORY_CONNECTION,
|
|
||||||
connect.authToken,
|
|
||||||
"Auth token used to connect to the bridge server"
|
|
||||||
),
|
|
||||||
gateway = config.getString(
|
|
||||||
"gateway",
|
|
||||||
CATEGORY_CONNECTION,
|
|
||||||
connect.gateway,
|
|
||||||
"MatterBridge gateway"
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if (config.hasChanged()) config.save()
|
if (config.hasChanged()) config.save()
|
||||||
|
|
|
@ -1,124 +1,20 @@
|
||||||
package matterlink
|
package matterlink
|
||||||
|
|
||||||
import matterlink.config.IMatterLinkConfig
|
import matterlink.config.BaseConfig
|
||||||
import matterlink.config.cfg
|
import matterlink.config.cfg
|
||||||
import net.minecraftforge.common.config.Configuration
|
import net.minecraftforge.common.config.Configuration
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.regex.Pattern
|
|
||||||
|
|
||||||
class MatterLinkConfig(file: File) : IMatterLinkConfig() {
|
class MatterLinkConfig(file: File) : BaseConfig() {
|
||||||
init {
|
init {
|
||||||
logger.info("Reading bridge blueprints... from {}", file)
|
logger.info("Reading bridge blueprints... from {}", file)
|
||||||
val config = Configuration(file)
|
val config = Configuration(file)
|
||||||
|
|
||||||
config.addCustomCategoryComment(CATEGORY_RELAY_OPTIONS, "Relay options")
|
load(
|
||||||
relay = RelayOptions(
|
getBoolean = config::getBoolean,
|
||||||
|
getString = config::getString,
|
||||||
systemUser = config.getString(
|
getStringValidated = config::getString,
|
||||||
"systemUser",
|
addCustomCategoryComment = config::addCustomCategoryComment
|
||||||
CATEGORY_RELAY_OPTIONS,
|
|
||||||
relay.systemUser,
|
|
||||||
"Name of the server user (used by death and advancement messages and the /say command)"
|
|
||||||
),
|
|
||||||
deathEvents = config.getBoolean(
|
|
||||||
"deathEvents",
|
|
||||||
CATEGORY_RELAY_OPTIONS,
|
|
||||||
relay.deathEvents,
|
|
||||||
"Relay player death messages"
|
|
||||||
),
|
|
||||||
advancements = config.getBoolean(
|
|
||||||
"advancements",
|
|
||||||
CATEGORY_RELAY_OPTIONS,
|
|
||||||
relay.advancements,
|
|
||||||
"Relay player advancements"
|
|
||||||
),
|
|
||||||
joinLeave = config.getBoolean(
|
|
||||||
"joinLeave",
|
|
||||||
CATEGORY_RELAY_OPTIONS,
|
|
||||||
relay.joinLeave,
|
|
||||||
"Relay when a player joins or leaves the game"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
config.addCustomCategoryComment(CATEGORY_COMMAND, "User commands")
|
|
||||||
command = CommandOptions(
|
|
||||||
enable = config.getBoolean(
|
|
||||||
"enable",
|
|
||||||
CATEGORY_COMMAND,
|
|
||||||
command.enable,
|
|
||||||
"Enable MC bridge commands"
|
|
||||||
),
|
|
||||||
prefix = config.getString(
|
|
||||||
"prefix",
|
|
||||||
CATEGORY_COMMAND,
|
|
||||||
command.prefix,
|
|
||||||
"Prefix for MC bridge commands. Accepts a single character (not alphanumeric or /)",
|
|
||||||
Pattern.compile("^[^0-9A-Za-z/]$")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
config.addCustomCategoryComment(CATEGORY_FORMATTING_INCOMING, "Gateway -> Server" +
|
|
||||||
"Formatting options: " +
|
|
||||||
"Available variables: {username}, {text}, {gateway}, {channel}, {protocol}, {username:antiping}")
|
|
||||||
formatting = FormattingOptions(
|
|
||||||
chat = config.getString(
|
|
||||||
"chat",
|
|
||||||
CATEGORY_FORMATTING_INCOMING,
|
|
||||||
formatting.chat,
|
|
||||||
"Generic chat event, just talking"
|
|
||||||
),
|
|
||||||
joinLeave = config.getString(
|
|
||||||
"joinLeave",
|
|
||||||
CATEGORY_FORMATTING_INCOMING,
|
|
||||||
formatting.joinLeave,
|
|
||||||
"Join and leave events from other gateways"
|
|
||||||
),
|
|
||||||
action = config.getString(
|
|
||||||
"action",
|
|
||||||
CATEGORY_FORMATTING_INCOMING,
|
|
||||||
formatting.action,
|
|
||||||
"User actions (/me) sent by users from other gateways"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
config.addCustomCategoryComment(CATEGORY_FORMATTING_JOIN_LEAVE, "Server -> Gateway" +
|
|
||||||
"Formatting options: " +
|
|
||||||
"Available variables: {username}, {username:antiping}")
|
|
||||||
formattingJoinLeave = FormattingJoinLeave(
|
|
||||||
joinServer = config.getString(
|
|
||||||
"joinServer",
|
|
||||||
CATEGORY_FORMATTING_JOIN_LEAVE,
|
|
||||||
formattingJoinLeave.joinServer,
|
|
||||||
"user join message sent to other gateways, available variables: {username}, {username:antiping}"
|
|
||||||
),
|
|
||||||
leaveServer = config.getString(
|
|
||||||
"leaveServer",
|
|
||||||
CATEGORY_FORMATTING_JOIN_LEAVE,
|
|
||||||
formattingJoinLeave.leaveServer,
|
|
||||||
"user leave message sent to other gateways, available variables: {username}, {username:antiping}"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
config.addCustomCategoryComment(CATEGORY_CONNECTION, "Connection settings")
|
|
||||||
connect = ConnectOptions(
|
|
||||||
url = config.getString(
|
|
||||||
"connectURL",
|
|
||||||
CATEGORY_CONNECTION,
|
|
||||||
connect.url,
|
|
||||||
"The URL or IP address of the bridge server"
|
|
||||||
),
|
|
||||||
authToken = config.getString(
|
|
||||||
"authToken",
|
|
||||||
CATEGORY_CONNECTION,
|
|
||||||
connect.authToken,
|
|
||||||
"Auth token used to connect to the bridge server"
|
|
||||||
),
|
|
||||||
gateway = config.getString(
|
|
||||||
"gateway",
|
|
||||||
CATEGORY_CONNECTION,
|
|
||||||
connect.gateway,
|
|
||||||
"MatterBridge gateway"
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if (config.hasChanged()) config.save()
|
if (config.hasChanged()) config.save()
|
||||||
|
|
|
@ -0,0 +1,174 @@
|
||||||
|
package matterlink.config
|
||||||
|
|
||||||
|
import matterlink.instance
|
||||||
|
import java.util.regex.Pattern
|
||||||
|
|
||||||
|
var cfg: BaseConfig? = null
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
abstract class BaseConfig {
|
||||||
|
companion object {
|
||||||
|
private val CATEGORY_RELAY_OPTIONS = "relay"
|
||||||
|
private val CATEGORY_FORMATTING_INCOMING = "formatting"
|
||||||
|
private val CATEGORY_FORMATTING_JOIN_LEAVE = "formatting_join_leave"
|
||||||
|
private val CATEGORY_CONNECTION = "connection"
|
||||||
|
private val CATEGORY_COMMAND = "command"
|
||||||
|
}
|
||||||
|
|
||||||
|
var relay: RelayOptions = RelayOptions()
|
||||||
|
var connect: ConnectOptions = ConnectOptions()
|
||||||
|
var formatting: FormattingOptions = FormattingOptions()
|
||||||
|
var formattingJoinLeave: FormattingJoinLeave = FormattingJoinLeave()
|
||||||
|
var command: CommandOptions = CommandOptions()
|
||||||
|
|
||||||
|
data class RelayOptions(
|
||||||
|
var systemUser: String = "Server",
|
||||||
|
var deathEvents: Boolean = true,
|
||||||
|
var advancements: Boolean = true,
|
||||||
|
var joinLeave: Boolean = true
|
||||||
|
)
|
||||||
|
|
||||||
|
data class FormattingOptions(
|
||||||
|
var chat: String = "<{username}> {text}",
|
||||||
|
var joinLeave: String = "§6-- {username} {text}",
|
||||||
|
var action: String = "§5* {username} {text}"
|
||||||
|
)
|
||||||
|
|
||||||
|
data class FormattingJoinLeave(
|
||||||
|
var joinServer: String = "{username:antiping} has connected to the server",
|
||||||
|
var leaveServer: String = "{username:antiping} has disconnected from the server"
|
||||||
|
)
|
||||||
|
|
||||||
|
data class ConnectOptions(
|
||||||
|
var url: String = "http://localhost:4242",
|
||||||
|
var authToken: String = "",
|
||||||
|
var gateway: String = "minecraft"
|
||||||
|
)
|
||||||
|
|
||||||
|
data class CommandOptions(
|
||||||
|
var prefix: String = "$",
|
||||||
|
var enable: Boolean = true
|
||||||
|
)
|
||||||
|
|
||||||
|
protected fun load(
|
||||||
|
getBoolean: (key: String, category: String, default: Boolean, comment: String) -> Boolean,
|
||||||
|
getString: (key: String, category: String, default: String, comment: String) -> String,
|
||||||
|
getStringValidated: (key: String, category: String, default: String, comment: String, pattern: Pattern) -> String,
|
||||||
|
addCustomCategoryComment: (key: String, comment: String) -> Unit
|
||||||
|
) {
|
||||||
|
var category = CATEGORY_RELAY_OPTIONS
|
||||||
|
addCustomCategoryComment(CATEGORY_RELAY_OPTIONS, "Relay options")
|
||||||
|
relay = RelayOptions(
|
||||||
|
systemUser = getString(
|
||||||
|
"systemUser",
|
||||||
|
category,
|
||||||
|
relay.systemUser,
|
||||||
|
"Name of the server user (used by death and advancement messages and the /say command)"
|
||||||
|
),
|
||||||
|
deathEvents = getBoolean(
|
||||||
|
"deathEvents",
|
||||||
|
category,
|
||||||
|
relay.deathEvents,
|
||||||
|
"Relay player death messages"
|
||||||
|
),
|
||||||
|
advancements = getBoolean(
|
||||||
|
"advancements",
|
||||||
|
category,
|
||||||
|
relay.advancements,
|
||||||
|
"Relay player advancements"
|
||||||
|
),
|
||||||
|
joinLeave = getBoolean(
|
||||||
|
"joinLeave",
|
||||||
|
category,
|
||||||
|
relay.joinLeave,
|
||||||
|
"Relay when a player joins or leaves the game"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
category = CATEGORY_COMMAND
|
||||||
|
addCustomCategoryComment(CATEGORY_COMMAND, "User commands")
|
||||||
|
command = CommandOptions(
|
||||||
|
enable = getBoolean(
|
||||||
|
"enable",
|
||||||
|
category,
|
||||||
|
command.enable,
|
||||||
|
"Enable MC bridge commands"
|
||||||
|
),
|
||||||
|
prefix = getStringValidated(
|
||||||
|
"prefix",
|
||||||
|
category,
|
||||||
|
command.prefix,
|
||||||
|
"Prefix for MC bridge commands. Accepts a single character (not alphanumeric or /)",
|
||||||
|
Pattern.compile("^[^0-9A-Za-z/]$")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
category = CATEGORY_FORMATTING_INCOMING
|
||||||
|
addCustomCategoryComment(CATEGORY_FORMATTING_INCOMING, "Gateway -> Server" +
|
||||||
|
"Formatting options: " +
|
||||||
|
"Available variables: {username}, {text}, {gateway}, {channel}, {protocol}, {username:antiping}")
|
||||||
|
formatting = FormattingOptions(
|
||||||
|
chat = getString(
|
||||||
|
"chat",
|
||||||
|
category,
|
||||||
|
formatting.chat,
|
||||||
|
"Generic chat event, just talking"
|
||||||
|
),
|
||||||
|
joinLeave = getString(
|
||||||
|
"joinLeave",
|
||||||
|
category,
|
||||||
|
formatting.joinLeave,
|
||||||
|
"Join and leave events from other gateways"
|
||||||
|
),
|
||||||
|
action = getString(
|
||||||
|
"action",
|
||||||
|
category,
|
||||||
|
formatting.action,
|
||||||
|
"User actions (/me) sent by users from other gateways"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
category = CATEGORY_FORMATTING_JOIN_LEAVE
|
||||||
|
addCustomCategoryComment(CATEGORY_FORMATTING_JOIN_LEAVE, "Server -> Gateway" +
|
||||||
|
"Formatting options: " +
|
||||||
|
"Available variables: {username}, {username:antiping}")
|
||||||
|
formattingJoinLeave = FormattingJoinLeave(
|
||||||
|
joinServer = getString(
|
||||||
|
"joinServer",
|
||||||
|
category,
|
||||||
|
formattingJoinLeave.joinServer,
|
||||||
|
"user join message sent to other gateways, available variables: {username}, {username:antiping}"
|
||||||
|
),
|
||||||
|
leaveServer = getString(
|
||||||
|
"leaveServer",
|
||||||
|
category,
|
||||||
|
formattingJoinLeave.leaveServer,
|
||||||
|
"user leave message sent to other gateways, available variables: {username}, {username:antiping}"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
category = CATEGORY_CONNECTION
|
||||||
|
addCustomCategoryComment(CATEGORY_CONNECTION, "Connection settings")
|
||||||
|
connect = ConnectOptions(
|
||||||
|
url = getString(
|
||||||
|
"connectURL",
|
||||||
|
category,
|
||||||
|
connect.url,
|
||||||
|
"The URL or IP address of the bridge server"
|
||||||
|
),
|
||||||
|
authToken = getString(
|
||||||
|
"authToken",
|
||||||
|
category,
|
||||||
|
connect.authToken,
|
||||||
|
"Auth token used to connect to the bridge server"
|
||||||
|
),
|
||||||
|
gateway = getString(
|
||||||
|
"gateway",
|
||||||
|
category,
|
||||||
|
connect.gateway,
|
||||||
|
"MatterBridge gateway"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,46 +0,0 @@
|
||||||
package matterlink.config
|
|
||||||
|
|
||||||
var cfg: IMatterLinkConfig? = null
|
|
||||||
|
|
||||||
abstract class IMatterLinkConfig {
|
|
||||||
protected val CATEGORY_RELAY_OPTIONS = "relay"
|
|
||||||
protected val CATEGORY_FORMATTING_INCOMING = "formatting"
|
|
||||||
protected val CATEGORY_FORMATTING_JOIN_LEAVE = "formatting_join_leave"
|
|
||||||
protected val CATEGORY_CONNECTION = "connection"
|
|
||||||
protected val CATEGORY_COMMAND = "command"
|
|
||||||
|
|
||||||
var relay: RelayOptions = RelayOptions()
|
|
||||||
var connect: ConnectOptions = ConnectOptions()
|
|
||||||
var formatting: FormattingOptions = FormattingOptions()
|
|
||||||
var formattingJoinLeave: FormattingJoinLeave = FormattingJoinLeave()
|
|
||||||
var command: CommandOptions = CommandOptions()
|
|
||||||
|
|
||||||
data class RelayOptions(
|
|
||||||
val systemUser: String = "Server",
|
|
||||||
val deathEvents: Boolean = true,
|
|
||||||
val advancements: Boolean = true,
|
|
||||||
val joinLeave: Boolean = true
|
|
||||||
)
|
|
||||||
|
|
||||||
data class FormattingOptions(
|
|
||||||
val chat: String = "<{username}> {text}",
|
|
||||||
val joinLeave: String = "§6-- {username} {text}",
|
|
||||||
val action: String = "§5* {username} {text}"
|
|
||||||
)
|
|
||||||
|
|
||||||
data class FormattingJoinLeave(
|
|
||||||
val joinServer: String = "{username:antiping} has connected to the server",
|
|
||||||
val leaveServer: String = "{username:antiping} has disconnected from the server"
|
|
||||||
)
|
|
||||||
|
|
||||||
data class ConnectOptions(
|
|
||||||
val url: String = "http://localhost:4242",
|
|
||||||
val authToken: String = "",
|
|
||||||
val gateway: String = "minecraft"
|
|
||||||
)
|
|
||||||
|
|
||||||
data class CommandOptions(
|
|
||||||
val prefix: String = "$",
|
|
||||||
val enable: Boolean = true
|
|
||||||
)
|
|
||||||
}
|
|
Loading…
Reference in New Issue