51 lines
1.1 KiB
Go
51 lines
1.1 KiB
Go
package config
|
|
|
|
type ServerSoftware int
|
|
|
|
const (
|
|
Unknown ServerSoftware = iota // Invalid server name
|
|
Bedrock // Oficial bedrock server
|
|
Pocketmine // Server to minecraft bedrock
|
|
Java // Oficial java server
|
|
Spigot // Spigot server to mc java
|
|
Purpur // Server to minecraft java
|
|
Paper
|
|
Folia
|
|
Velocity
|
|
)
|
|
|
|
var mcSoftStr = []string{
|
|
Unknown: "unknown",
|
|
Bedrock: "bedrock",
|
|
Pocketmine: "pocketmine",
|
|
Java: "java",
|
|
Spigot: "spigot",
|
|
Purpur: "purpur",
|
|
Paper: "paper",
|
|
Folia: "folia",
|
|
Velocity: "velocity",
|
|
}
|
|
|
|
func (s *ServerSoftware) UnmarshalText(text []byte) error {
|
|
d := string(text)
|
|
*s = Unknown
|
|
for vs, str := range mcSoftStr {
|
|
if str == d {
|
|
*s = ServerSoftware(vs)
|
|
break
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (s ServerSoftware) MarshalText() (text []byte, err error) {
|
|
text = []byte(mcSoftStr[Unknown])
|
|
for d, str := range mcSoftStr {
|
|
if d == int(s) {
|
|
text = []byte(str)
|
|
break
|
|
}
|
|
}
|
|
return
|
|
}
|