up3
Build and deploy / Build (push) Has been cancelled
Build and deploy / Update Contributors (push) Has been cancelled
Build and deploy / Deploy (push) Has been cancelled
Build and deploy / Build (push) Has been cancelled
Build and deploy / Update Contributors (push) Has been cancelled
Build and deploy / Deploy (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"os"
|
||||
|
||||
"github.com/df-mc/dragonfly/server"
|
||||
"github.com/df-mc/dragonfly/server/player/chat"
|
||||
"github.com/df-mc/dragonfly/server/world"
|
||||
"github.com/pelletier/go-toml"
|
||||
)
|
||||
|
||||
func main() {
|
||||
slog.SetLogLoggerLevel(slog.LevelDebug)
|
||||
|
||||
chat.Global.Subscribe(chat.StdoutSubscriber{})
|
||||
|
||||
conf, err := readConfig(slog.Default())
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
srv := conf.New()
|
||||
srv.CloseOnProgramEnd()
|
||||
|
||||
srv.Listen()
|
||||
|
||||
for p := range srv.Accept() {
|
||||
if p.Name() == "XTarnaWijaya" {
|
||||
p.SetGameMode(world.GameModeCreative)
|
||||
p.Message("Kamu adalah owner!")
|
||||
} else {
|
||||
p.SetGameMode(world.GameModeSurvival)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func readConfig(log *slog.Logger) (server.Config, error) {
|
||||
c := server.DefaultConfig()
|
||||
var zero server.Config
|
||||
|
||||
if _, err := os.Stat("config.toml"); os.IsNotExist(err) {
|
||||
data, err := toml.Marshal(c)
|
||||
if err != nil {
|
||||
return zero, fmt.Errorf("encode default config: %v", err)
|
||||
}
|
||||
|
||||
if err := os.WriteFile("config.toml", data, 0644); err != nil {
|
||||
return zero, fmt.Errorf("create default config: %v", err)
|
||||
}
|
||||
|
||||
return c.Config(log)
|
||||
}
|
||||
|
||||
data, err := os.ReadFile("config.toml")
|
||||
if err != nil {
|
||||
return zero, fmt.Errorf("read config: %v", err)
|
||||
}
|
||||
|
||||
if err := toml.Unmarshal(data, &c); err != nil {
|
||||
return zero, fmt.Errorf("decode config: %v", err)
|
||||
}
|
||||
|
||||
return c.Config(log)
|
||||
}
|
||||
Reference in New Issue
Block a user