Add Cloth Config plugin management screen
This commit is contained in:
+144
@@ -0,0 +1,144 @@
|
||||
package sdk
|
||||
|
||||
import "encoding/json"
|
||||
|
||||
const ABIVersion = 1
|
||||
|
||||
const (
|
||||
OperationMetadata = 1
|
||||
OperationInit = 2
|
||||
OperationTick = 3
|
||||
OperationChat = 4
|
||||
OperationDeath = 5
|
||||
OperationSystemCallResult = 6
|
||||
OperationDeinit = 7
|
||||
)
|
||||
|
||||
type Metadata struct {
|
||||
ID string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Version string `json:"version"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Authors []string `json:"authors,omitempty"`
|
||||
Website string `json:"website,omitempty"`
|
||||
APIVersion int `json:"apiVersion"`
|
||||
ConfigSchema map[string]any `json:"configSchema,omitempty"`
|
||||
}
|
||||
|
||||
type InitEvent struct {
|
||||
MinecraftVersion string `json:"minecraftVersion"`
|
||||
Dedicated bool `json:"dedicated"`
|
||||
DataDirectory string `json:"dataDirectory"`
|
||||
}
|
||||
|
||||
type ServerSnapshot struct {
|
||||
Tick int64 `json:"tick"`
|
||||
TimestampUnixMilli int64 `json:"timestampUnixMilli"`
|
||||
Levels []LevelSnapshot `json:"levels"`
|
||||
Entities []EntitySnapshot `json:"entities"`
|
||||
Blocks []BlockSnapshot `json:"blocks"`
|
||||
}
|
||||
|
||||
type LevelSnapshot struct {
|
||||
Dimension string `json:"dimension"`
|
||||
GameTime int64 `json:"gameTime"`
|
||||
DayTime int64 `json:"dayTime"`
|
||||
Raining bool `json:"raining"`
|
||||
Thundering bool `json:"thundering"`
|
||||
}
|
||||
|
||||
type EntitySnapshot struct {
|
||||
RuntimeID int `json:"runtimeId"`
|
||||
UUID string `json:"uuid"`
|
||||
Type string `json:"type"`
|
||||
Name string `json:"name"`
|
||||
Dimension string `json:"dimension"`
|
||||
X float64 `json:"x"`
|
||||
Y float64 `json:"y"`
|
||||
Z float64 `json:"z"`
|
||||
Yaw float32 `json:"yaw"`
|
||||
Pitch float32 `json:"pitch"`
|
||||
VelocityX float64 `json:"velocityX"`
|
||||
VelocityY float64 `json:"velocityY"`
|
||||
VelocityZ float64 `json:"velocityZ"`
|
||||
Alive bool `json:"alive"`
|
||||
Player bool `json:"player"`
|
||||
Health *float32 `json:"health"`
|
||||
MaxHealth *float32 `json:"maxHealth"`
|
||||
}
|
||||
|
||||
type BlockSnapshot struct {
|
||||
Dimension string `json:"dimension"`
|
||||
X int `json:"x"`
|
||||
Y int `json:"y"`
|
||||
Z int `json:"z"`
|
||||
Block string `json:"block"`
|
||||
Properties map[string]string `json:"properties"`
|
||||
}
|
||||
|
||||
type BlockReference struct {
|
||||
Dimension string `json:"dimension"`
|
||||
X int `json:"x"`
|
||||
Y int `json:"y"`
|
||||
Z int `json:"z"`
|
||||
}
|
||||
|
||||
type ChatEvent struct {
|
||||
PlayerUUID string `json:"playerUuid"`
|
||||
PlayerName string `json:"playerName"`
|
||||
Message string `json:"message"`
|
||||
TimestampUnixMilli int64 `json:"timestampUnixMilli"`
|
||||
}
|
||||
|
||||
type DeathEvent struct {
|
||||
Entity EntitySnapshot `json:"entity"`
|
||||
DamageType string `json:"damageType"`
|
||||
AttackerUUID *string `json:"attackerUuid"`
|
||||
TimestampUnixMilli int64 `json:"timestampUnixMilli"`
|
||||
}
|
||||
|
||||
type SystemCallResult struct {
|
||||
ID string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Success bool `json:"success"`
|
||||
Data json.RawMessage `json:"data"`
|
||||
Error string `json:"error"`
|
||||
}
|
||||
|
||||
type DeinitEvent struct {
|
||||
Reason string `json:"reason"`
|
||||
}
|
||||
|
||||
type ActionRequest struct {
|
||||
Type string `json:"type"`
|
||||
Payload any `json:"payload"`
|
||||
}
|
||||
|
||||
type SystemCallRequest struct {
|
||||
ID string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Payload any `json:"payload"`
|
||||
}
|
||||
|
||||
type SnapshotSubscription struct {
|
||||
Entities bool `json:"entities"`
|
||||
Blocks []BlockReference `json:"blocks"`
|
||||
}
|
||||
|
||||
type LogEntry struct {
|
||||
Stream string `json:"stream"`
|
||||
Level string `json:"level"`
|
||||
Message string `json:"message"`
|
||||
TimestampUnixMilli int64 `json:"timestampUnixMilli"`
|
||||
}
|
||||
|
||||
type response struct {
|
||||
Status string `json:"status"`
|
||||
Error string `json:"error,omitempty"`
|
||||
Stack string `json:"stack,omitempty"`
|
||||
Data any `json:"data,omitempty"`
|
||||
Logs []LogEntry `json:"logs,omitempty"`
|
||||
Actions []ActionRequest `json:"actions,omitempty"`
|
||||
SystemCalls []SystemCallRequest `json:"systemCalls,omitempty"`
|
||||
Snapshot *SnapshotSubscription `json:"snapshot,omitempty"`
|
||||
}
|
||||
Reference in New Issue
Block a user