Namespace McServerLauncher.ViewModels
Classes
- ActiveFilterViewModel
One chip in the "what is filtering right now" row. Some of them are the server's own loader and version, which are not the user's to remove; the rest are categories, which are.
- BackupDayGroup
The backups of one day, under a heading for it.
- BackupItemViewModel
A single backup entry shown in the list.
- BedrockAddressStates
The line of explanation each state shows.
- BoolOpacityConverter
true -> fully opaque, false -> dimmed. Used to fade disabled mods in the list.
- BulkObservableCollection<T>
ObservableCollection with bulk operations that raise a single Reset event instead of one CollectionChanged per element. Used by the console lists (EFI-4): a verbose server (e.g. Forge booting) used to pay one RemoveAt(0) — an O(n) array shift plus a UI notification — for every line beyond the cap; trimming in blocks makes that a single cheap Reset every couple hundred lines, which the virtualized ListBox absorbs by re-rendering only the visible viewport.
- CleanupSuggestionViewModel
One row of the "you can clean up" panel: a jar, why it is there, and whether it is ticked.
- ConnectionStepViewModel
One stretch of the way a player's packets travel, and how it did.
- ConnectionTestViewModel
The connection test on a server's network page: where a slow game is coming from.
- ConsoleBrushConverter
A console line's kind to the brush it is drawn in.
- ConsoleHighlightConverter
A line plus what is being searched for, as text with the matches marked inside it.
- ConsoleKindFilter
One category of console line, as a toggle with a count behind it.
- ConsolePalette
The console colours, as something Avalonia can draw with.
- Dialogs
The dialog service the app uses, replaceable for tests.
- ExternalLinkViewModel
An external link shown in the details page (source, wiki, Discord…).
- GalleryImageViewModel
One gallery image: a thumbnail for the strip and the full picture for the viewer.
- HexBrushConverter
A hex string to a brush, for the live preview beside each colour box in the settings.
- IdleHost
What IdleShutdownController needs to know about, and to be able to do to, its server.
- IdleShutdownController
Stops the server once it has been empty for the configured time, and shows the countdown while that clock runs.
- InstalledModFilter
Whether an installed jar matches what was typed in the installed list's search box.
- MainViewModel
Main ViewModel: manages the server list, the selected server and persistence.
- MainViewModel.LanguageOption
One entry of the language selector.
- ModDetailsViewModel
The details page of one store item: everything Modrinth knows about a project, plus the two things Modrinth doesn't say — what it does in plain language, and whether it fits this server.
It paints in two passes. What the search result already carried (title, author, icon, summary) is shown at once, so opening a mod is instant; the long description, gallery, versions, dependencies and related items arrive as their requests come back. Nothing here decides whether a version is compatible or how a file is installed: both come from the existing services.
- ModVersionViewModel
One published version, with the button that installs exactly that one.
- ModpackExporter
Builds the zip a server's owner hands to their players: the mods the players' game needs, the instructions for installing them, and the scripts that do it.
- ModpackResult
What one export put into the pack, and what it left out.
- ModrinthProjectViewModel
One card in the browser: a store item, its tags, and the two buttons it offers.
- NoticeBrushConverter
Background for the install banner: red when the install failed, green when it worked. Colour is the part of the message people read first, so it carries the outcome as well as the words do.
- NotificationBrushes
The configured notification colours, as something Avalonia can draw with.
- PerformanceSolutionsViewModel
The page that replaces the server's tabs when its owner asks how to make it run lighter: settings that cost less, memory if it is the problem and the machine can spare it, and mods that do not change the game.
- PlayerDetailsViewModel
A player's profile: everything the app and the server know about them.
- PlayerEventRowViewModel
One line of a player's activity.
- PlayerHistoryViewModel
The Players tab's history: everyone who has been on this server, and each one's profile.
- PlayerRowViewModel
One player in the list: name, whether they are on now, and when they were last seen.
- PreflightHost
What StartPreflight needs from its server.
- ProbeRow
One row of the technical table: the round trips to one place.
- RelativeTime
"Hace 3 h", and the other ways of saying how long ago something was.
- ServerBackupsViewModel
Manages world backups for a server: lists existing zip snapshots, and lets the user trigger one manually, restore an earlier one, or delete one. Automatic backups (before every start, after an explicit stop) are triggered by ServerViewModel itself; this view model is just the UI surface over the same WorldBackupService.
- ServerConfigEffects
One row per ServerConfig field: what it feeds, and what has to be redone when it changes.
- ServerConfigEffects.Row
What one field of the config feeds.
- ServerModsViewModel
The "you can clean up" panel: libraries nothing uses any more, and mods switched off for a month.
- ServerTypeBrushes
The per-type badge colours, as brushes.
- ServerViewModel
The crossplay half of ServerViewModel: Geyser, the Bedrock tunnel and the address.
- SettingsViewModel
The settings screen: language, window behaviour, the desktop shortcut, notifications, colours and the player history.
- SolutionRow
One thing the Performance page offers, with the button that does it.
- StartPreflight
Everything that is checked, and offered to fix, before a server's JVM is launched: that the port is free, that the path is one the server accepts, that its mods have what they need, and that the Java is the one its version requires.
- StatBarViewModel
One line of a "most of what" list: a name, a count and its share of the total.
- StepStateConverters
The verdict's colour, from its state.
- StoreLinkViewModel
A dependency or a related project: a card that opens its own details page.
- StoreTagViewModel
A tag as the interface shows it: translated name and its colour.
- TunnelAddressStates
The line of explanation each state shows.
- TunnelAddressTracker
Finds out, and keeps up to date, the public address a server's Playit tunnel has — and makes the tunnel in the first place.
- TunnelHost
What TunnelAddressTracker needs to know about, and to be able to do to, its server.
- TunnelRowViewModel
One line of the tunnels table.
- TunnelSuggestionViewModel
One line of the "things I can fix" panel: what is wrong, and the button that fixes it.
- TunnelsViewModel
The tunnels screen: the Playit account, every tunnel on it, and what to do about them.
- WakeHost
What WakeOnDemandController needs to know about, and to be able to do to, its server.
- WakeOnDemandController
Answers on a stopped server's port and starts the server when somebody tries to join.
- WholeNumberConverter
Binds an
intsetting to a Avalonia.Controls.NumericUpDown, whose value is adecimal?that is null while the box is empty.
Interfaces
- IDialogService
The questions and notices a view model puts to the user, behind an interface so what it does with the answer can be run without a window.
Enums
- AppSection
What fills the window next to the rail.
- BackupFilter
Which backups the list shows.
- BedrockAddressState
How far along the Bedrock address is for a server that has crossplay switched on.
- ConfigEffect
Work that has to happen when a field of a ServerConfig changes.
- PlayerEventFilter
Which of a player's events the profile shows.
- SettingsPage
The pages of the settings screen.
- StepState
How one stretch of the connection did.
- TunnelAddressState
How far along the public Java address is for a server that uses a playit tunnel.