Documentation
¶
Index ¶
- type Manager
- func (m *Manager) AddAllianceRequest(senderID, receiverID uuid.UUID, expiration time.Duration)
- func (m *Manager) AddInvitation(factionID, invitedPlayerID uuid.UUID, expiration time.Duration)
- func (m *Manager) AddPlayerToFaction(playerID uuid.UUID, playerName string, f *faction.Faction) error
- func (m *Manager) ClaimChunk(pos chunk.Pos, f *faction.Faction) error
- func (m *Manager) CreateFaction(f *faction.Faction) error
- func (m *Manager) DeleteFaction(f *faction.Faction) error
- func (m *Manager) FormAlliance(facA, facB *faction.Faction) error
- func (m *Manager) GetAllFactionsData() []*faction.Faction
- func (m *Manager) GetAllPlayersData() []*playerdata.Data
- func (m *Manager) GetAllPlayersMap() map[uuid.UUID]*playerdata.Data
- func (m *Manager) GetAllianceRequest(receiverID uuid.UUID) (*PendingAllianceRequest, bool)
- func (m *Manager) GetClaimOwner(pos chunk.Pos) (uuid.UUID, bool)
- func (m *Manager) GetFactionByID(id uuid.UUID) (*faction.Faction, bool)
- func (m *Manager) GetFactionByName(name string) (*faction.Faction, bool)
- func (m *Manager) GetInvitation(invitedPlayerID uuid.UUID) (*PendingInvite, bool)
- func (m *Manager) GetOrCreatePlayer(id uuid.UUID, name string) *playerdata.Data
- func (m *Manager) GetPlayer(playerID uuid.UUID) (*playerdata.Data, bool)
- func (m *Manager) GetPlayerFaction(playerID uuid.UUID) (*faction.Faction, bool)
- func (m *Manager) HandlePlayerQuit(p *player.Player)
- func (m *Manager) IsBorderViewer(playerID uuid.UUID) bool
- func (m *Manager) LoadAllClaims() error
- func (m *Manager) LoadAllFactions() error
- func (m *Manager) LoadAllPlayers() error
- func (m *Manager) RemoveAllianceRequest(receiverID uuid.UUID)
- func (m *Manager) RemoveBorderViewer(playerID uuid.UUID)
- func (m *Manager) RemoveInvitation(invitedPlayerID uuid.UUID)
- func (m *Manager) RemovePlayerFromFaction(playerID uuid.UUID, f *faction.Faction) error
- func (m *Manager) ToggleBorderView(playerID uuid.UUID) bool
- func (m *Manager) UnclaimChunk(pos chunk.Pos, f *faction.Faction) error
- func (m *Manager) UpdatePlayerChunk(p *player.Player)
- type PendingAllianceRequest
- type PendingInvite
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager maintains the in-memory server state for factions, players, claims, and more.
func NewManager ¶
NewManager creates and initializes a new session manager.
func (*Manager) AddAllianceRequest ¶
AddAllianceRequest creates a timed alliance request between two factions.
func (*Manager) AddInvitation ¶
AddInvitation adds a faction invite with an expiration timer.
func (*Manager) AddPlayerToFaction ¶
func (m *Manager) AddPlayerToFaction(playerID uuid.UUID, playerName string, f *faction.Faction) error
AddPlayerToFaction adds a player to a faction and persists the change.
func (*Manager) ClaimChunk ¶
ClaimChunk attempts to claim a chunk for a faction.
func (*Manager) CreateFaction ¶
CreateFaction persists and caches a newly created faction.
func (*Manager) DeleteFaction ¶
DeleteFaction removes a faction and cleans up related state.
func (*Manager) FormAlliance ¶
FormAlliance creates a mutual alliance between two factions.
func (*Manager) GetAllFactionsData ¶
GetAllFactionsData returns a list of all cached factions.
func (*Manager) GetAllPlayersData ¶
func (m *Manager) GetAllPlayersData() []*playerdata.Data
GetAllPlayersData returns a slice of all cached player data.
func (*Manager) GetAllPlayersMap ¶
func (m *Manager) GetAllPlayersMap() map[uuid.UUID]*playerdata.Data
GetAllPlayersMap returns a copy of the internal player map.
func (*Manager) GetAllianceRequest ¶
func (m *Manager) GetAllianceRequest(receiverID uuid.UUID) (*PendingAllianceRequest, bool)
GetAllianceRequest returns a pending alliance request.
func (*Manager) GetClaimOwner ¶
GetClaimOwner returns the faction ID that owns a chunk, if any.
func (*Manager) GetFactionByID ¶
GetFactionByID returns a faction by its UUID (inefficient search).
func (*Manager) GetFactionByName ¶
GetFactionByName returns a faction by its name.
func (*Manager) GetInvitation ¶
func (m *Manager) GetInvitation(invitedPlayerID uuid.UUID) (*PendingInvite, bool)
GetInvitation returns the pending invitation for a player.
func (*Manager) GetOrCreatePlayer ¶
GetOrCreatePlayer returns a player or creates a new entry if not found.
func (*Manager) GetPlayerFaction ¶
GetPlayerFaction returns the faction a player belongs to.
func (*Manager) HandlePlayerQuit ¶
HandlePlayerQuit handles cleanup when a player leaves the server.
func (*Manager) IsBorderViewer ¶
IsBorderViewer checks if the player has border view enabled.
func (*Manager) LoadAllClaims ¶
LoadAllClaims loads all claimed chunks into memory.
func (*Manager) LoadAllFactions ¶
LoadAllFactions loads all factions from persistent storage into memory.
func (*Manager) LoadAllPlayers ¶
LoadAllPlayers loads all player data from persistent storage.
func (*Manager) RemoveAllianceRequest ¶
RemoveAllianceRequest deletes an existing alliance request.
func (*Manager) RemoveBorderViewer ¶
RemoveBorderViewer cleans up border view state when a player disconnects.
func (*Manager) RemoveInvitation ¶
RemoveInvitation cancels and deletes a pending invitation.
func (*Manager) RemovePlayerFromFaction ¶
RemovePlayerFromFaction removes a player from a faction and updates the cache and DB.
func (*Manager) ToggleBorderView ¶
ToggleBorderView toggles chunk border visualization for a player.
func (*Manager) UnclaimChunk ¶
UnclaimChunk removes a claim from a chunk.
func (*Manager) UpdatePlayerChunk ¶
UpdatePlayerChunk tracks player movement and sends title updates.
type PendingAllianceRequest ¶
PendingAllianceRequest represents a pending alliance request between factions.