Files
omv-dijiang/works/patch/option/minecraft.go.patch
T
2026-03-05 15:48:45 +08:00

57 lines
1.7 KiB
Diff

--- /dev/null
+++ b/option/minecraft.go
@@ -0,0 +1,53 @@
+// OMV
+package option
+
+import "encoding/json"
+
+type MinecraftInboundOptions struct {
+ ListenOptions
+ Users []MinecraftUser `json:"users,omitempty"`
+ Status *MinecraftStatus `json:"status,omitempty"`
+ Fallback *MinecraftFallbackOptions `json:"fallback,omitempty"`
+}
+
+type MinecraftFallbackOptions struct {
+ ServerOptions
+ Tag string `json:"tag,omitempty"`
+}
+
+type MinecraftStatus struct {
+ Forward bool `json:"forward,omitempty"`
+ Version *MinecraftStatusVersion `json:"version,omitempty"`
+ Description json.RawMessage `json:"description,omitempty"`
+ Players *MinecraftStatusPlayers `json:"players,omitempty"`
+ Favicon string `json:"favicon,omitempty"`
+ EnforcesSecureChat bool `json:"enforces_secure_chat,omitempty"`
+}
+
+type MinecraftStatusVersion struct {
+ Name string `json:"name,omitempty"`
+ Protocol int `json:"protocol,omitempty"`
+}
+
+type MinecraftStatusPlayers struct {
+ Max int `json:"max,omitempty"`
+ Online int `json:"online,omitempty"`
+ Sample []MinecraftStatusPlayerSample `json:"sample,omitempty"`
+}
+
+type MinecraftStatusPlayerSample struct {
+ Name string `json:"name"`
+ ID string `json:"id"`
+}
+
+type MinecraftUser struct {
+ Username string `json:"username,omitempty"`
+ Password string `json:"password,omitempty"`
+}
+
+type MinecraftOutboundOptions struct {
+ DialerOptions
+ ServerOptions
+ Username string `json:"username,omitempty"`
+ Password string `json:"password,omitempty"`
+}