[This is preliminary documentation and is subject to change.]
fCraft's core functionality.
Types
| All Types | Classes | Structures | Interfaces | Enumerations | Delegates |
| Name | Description | |
|---|---|---|
| AccountType | Type of Minecraft.net account associated with the player. | |
| ArgKey | Enumerates the recognized command-line switches/arguments.
Args are parsed in Server.InitLibrary | |
| BandwidthUseMode | Bandwidth use mode.
This setting affects the way player receive movement updates. | |
| BanStatus | Lists possible ban states of players (banned, not banned, and exempt). | |
| Block | Enumeration of all standard Minecraft Classic block types. | |
| BlockChangeContext | Context of the block change. Multiple flags can be combined. | |
| BlockDB | Database of block changes. Each BlockDB object is associated with a world.
Provides controls for storage/retention, and methods to look up data. | |
| BlockDBEntry | Struct representing a single block change.
You may safely cast byte* pointers directly to BlockDBEntry* and vice versa. | |
| BlockDBSearchType | Describes what kind of results should BlockDB.Lookup return. | |
| BlockUpdate | Structure representing a pending update to the map's block array.
Contains information about the block coordinates, type, and change's origin. | |
| BoundingBox | Defines a 3D bounding box, in integer cartesian coordinates.
Coordinates are always inclusive, so note that even a bounding box with coinciding vertices is a 1x1x1 cube,
and has non-zero volume and non-zero dimensions. | |
| BufferUtil | Provides utility methods for working with byte arrays and pointers. | |
| CanPlaceResult | A list of possible results of Player.CanPlace() permission test. | |
| Chat | Helper class for handling player-generated chat. | |
| ChatMessageType | Type of a broadcast chat message. | |
| ChatTimer | Provides a way to create and manage publicly-announced countdowns.
Long timers announce once an hour (e.g. "7h left").
During the last hour, timer announces more often: every 10 minutes, then every minute,
then every 10 seconds, and finally every second - until the timer is up. | |
| ChatTimerEventArgs | Provides data for ChatTimer.Started and ChatTimer.Stopped events. Immutable. | |
| ClickAction | Describes the action that player performed to click a block (left or right click). | |
| Color | Static class with definitions of Minecraft color codes,
parsers, converters, and utilities. | |
| CommandCategory | Command categories. A command may belong to more than one category.
Use binary flag logic to test whether a command belongs to a particular category. | |
| CommandDescriptor | Describes a chat command. Defines properties, permission requirements, and usage information.
Specifies a handler method. | |
| CommandHandler | Represents a method that acts as a handler for a command. | |
| CommandManager | Static class that allows registration and parsing of all text commands. | |
| CommandReader | A text scanner that aids parsing chat commands and their arguments.
Breaks up a message into tokens at spaces. Treats quoted strings as whole tokens. | |
| CommandRegistrationException | Exception that is thrown when an attempt to register a command has failed. | |
| ConcurrentQueue<(Of <(<'T>)>)> | A lightweight queue implementation with lock-free/concurrent operations. | |
| Config | Static class that handles loading/saving configuration, contains config defaults,
and various configuration-related utilities. | |
| ConfigKey | Enumeration of available configuration keys. See comments
at the top of Config.cs for a history of changes. | |
| ConfigKeyAttribute | Describes attributes and metadata of a configuration key. | |
| ConfigSection | ConfigKey section/category. | |
| ConfirmationCallback | Represents the method that responds to a confirmation command. | |
| DateTimeUtil | Provides utility functions for working with DateTime and TimeSpan. | |
| EnumerableUtil | Provides methods JoinToString/JoinToClassyString methods
for merging lists and enumerations into strings. | |
| EnumUtil | Provides TryParse method, for parsing enumerations. | |
| Forester | Vegetation generator for MapGenerator. | |
| ForesterArgs | ||
| Forester..::..ForesterOperation | ||
| Heartbeat | Static class responsible for sending heartbeats. | |
| HeartbeatData | Contains data that's sent to heartbeat servers. | |
| IBlockDBQueryProcessor | Class used to process results of traversing the BlockDB. | |
| ICancelableEvent | An EventArgs for an event that can be cancelled. | |
| IClassy | Provides a way for printing an object's name beautified with Minecraft color codes.
It was "classy" in a sense that it was colored based on "class" (rank) of a player/world/zone. | |
| IPAddressUtil | Provides utility methods for working with IP addresses and ranges. | |
| IPBanInfo | IP ban record. | |
| IPBanList | Handles the addition, lookup, and removal of IP bans. | |
| IRC | IRC control class. | |
| IRCCommands | Provides methods for constructing IRC command messages. | |
| IRCMessage | Represents a parsed incoming IRC message. | |
| IRCMessageType | IRC message types. | |
| IRCReplyCode | IRC protocol reply codes. | |
| LeaveReason | List of possible reasons for players leaving the server. | |
| LineWrapper | Intelligent line-wrapper for Minecraft protocol.
Splits long messages into 64-character chunks of ASCII.
Maintains colors between lines. Wraps at word boundaries and hyphens.
Removes invalid characters and color sequences.
Supports optional line prefixes for second and consequent lines.
This class is implemented as IEnumerable of Packets, so it's usable with foreach() and Linq. | |
| Logger | Central logging class. Logs to file, relays messages to the frontend, submits crash reports. | |
| LogRecorder | A simple way to temporarily hook into fCraft's Logger.
Make sure to dispose this class when you are done recording.
The easiest way to ensure that is with a using(){...} block. | |
| LogSplittingType | Log splitting type. | |
| LogType | Category of a log event. | |
| Map | Represents a map file (associated with a world or not).
Maps can be created blank (using Map constructor), generated terrain (using MapGenerator),
or loaded from file (using fCraft.MapConversion.MapUtility). | |
| MapGenerator | Provides functionality for generating map files. | |
| MapGeneratorArgs | Contains parameters for advanced map generation. | |
| MapGenTemplate | Map generator template. Templates define landscape shapes and features. | |
| MapGenTheme | Map generator themes. A theme defines what type of blocks are used to fill the map. | |
| MetadataCollection<(Of <(<'TValue>)>)> | A collection of metadata entries, addressable by pairs of string group/key names.
Group names, key names, and values may not be null. | |
| MetadataEntry<(Of <(<'TValue>)>)> | A string metadata entry. | |
| MonoCompat | Class dedicated to solving Mono compatibility issues | |
| NameVerificationMode | Mode of player name verification. | |
| Noise | Class for generating and filtering 2D and 3D noise, extensively used by MapGenerator and Cloudy brush. | |
| NoiseInterpolationMode | Interpolation mode for perlin noise. | |
| OpCode | Minecraft protocol's opcodes. | |
| Packet | Packet struct, just a wrapper for a byte array. | |
| Paths | Contains fCraft path settings, and some filesystem-related utilities. | |
| PerlinNoise3D | Implementation of 3D Perlin Noise after Ken Perlin's reference implementation. | |
| Permission | Enumeration of permission types/categories.
Every rank definition contains a combination of these. | |
| PermissionOverride | Indicates what kind of per-entity override/exception is defined in a security controller. | |
| Player | Object representing volatile state ("session") of a connected player.
For persistent state of a known player account, see PlayerInfo. | |
| PlayerDB | Persistent database of player information. | |
| PlayerEnumerable | Contains a set of utilities that simplify working with sets of players.
All the utilities are implemented as extension methods,
and it is recommended that you invoke them as extension methods. | |
| PlayerExceptions | List of included and excluded players. | |
| PlayerInfo | Object representing persistent state ("record") of a player, online or offline.
There is exactly one PlayerInfo object for each known Minecraft account. All data is stored in the PlayerDB. | |
| PlayerInfoComparer | Sorts PlayerInfo objects by relevance.
Orders players by online/offline state first, then by rank, then by time-since-last-seen.
Hidden players are listed with the offline players. | |
| PlayerOpException | Exception that is thrown when a player's action or command could not be completed. | |
| PlayerOpExceptionCode | Possible player operation exception codes. | |
| Position | Struct representing a position AND orientation in 3D space.
Used to represent players' positions in Minecraft world.
Stores X/Y/Z as signed shorts, and R/L as unsigned bytes (8 bytes total).
Use Vector3I if you just need X/Y/Z coordinates without orientation.
Note that, as a struct, Positions are COPIED when assigned or passed as an argument. | |
| Rank | Rank of a player. Ranks are arranged in a linear hierarchy.
One instance of a Rank object should be shared by players of the same rank.
Rank objects are comparable - you can use comparison operators or CompareTo. | |
| RankChangeType | Describes the way player's rank was set. | |
| RankDefinitionException | Exception that is thrown when parsing a rank definition has failed. | |
| RankManager | Manages all the ranks on a server. Controlls what ranks are avaliable and in what order they exist in. | |
| RawMessageType | Type of message sent by the player. Determined by CommandManager.GetMessageType() | |
| ReleaseFlags | ||
| ReleaseInfo | Used to describe a particular release version of fCraft. Includes date released, version | |
| Forester..::..RootMode | ||
| Scheduler | A general-purpose task scheduler. | |
| SchedulerCallback | Represents the method that is called when a SchedulerTask is executed. | |
| SchedulerTask | A task to be executed by the Scheduler.
Stores timing information and state. | |
| SecurityCheckResult | Possible results of a SecurityController permission check. | |
| SecurityController | Controller for setting and checking per-rank permissions and per-player exceptions.
Used by World.AccessSecurity, World.BuildSecurity, and Zone. | |
| SelectionCallback | Represents a callback method for a player-made selection of one or more blocks on a map.
A command may request a number of marks/blocks to select, and a specify callback
to be executed when the desired number of marks/blocks is reached. | |
| Server | Core of an fCraft server. Manages startup/shutdown, online player
sessions, global events and scheduled tasks. | |
| SessionState | Describes the state of a connected Player's session. | |
| ShutdownParams | Describes the circumstances of server shutdown. | |
| ShutdownReason | Categorizes conditions that lead to server shutdowns. | |
| Forester..::..TreeShape | ||
| Trie<(Of <(<'T>)>)> | Specialized data structure for partial-matching of large sparse sets of words.
Used as a searchable index of players for PlayerDB. | |
| Trie<(Of <(<'T>)>)>..::..TrieKeyCollection | ||
| Trie<(Of <(<'T>)>)>..::..TrieKeyCollection..::..TrieKeySubset | ||
| Trie<(Of <(<'T>)>)>..::..TrieSubset | A subset of trie's key/value pairs that start with a certain prefix. | |
| Trie<(Of <(<'T>)>)>..::..TrieValueCollection | ||
| Trie<(Of <(<'T>)>)>..::..TrieValueCollection..::..TrieValueSubset | ||
| Updater | Checks for updates, and keeps track of current version/revision. | |
| UpdaterMode | Updater behavior. | |
| UpdaterResult | Result of an update check. | |
| Vector3F | Floating-point (single precision) 3D vector. | |
| Vector3I | Integer 3D vector. | |
| World | World instance. Manages the player list, manages access/build security, stores metadata. | |
| WorldChangeReason | List possible reasons for players joining/changing worlds. | |
| WorldManager | Manages the world list. Handles loading/unloading, renaming, map changes, and more. | |
| WorldOpException | Exception that is thrown when an invalid operation is attempted on a world. | |
| WorldOpExceptionCode | List of common world operation issues. Used by WorldOpException. | |
| YesNoAuto | Three state enum used for parameters which can be manually enabled/disabled (yes/no),
or left alone (auto). Default value is "Auto". | |
| Zone | A bounding box selection that is designated as a sub area within a world.
Zones can have restriction just like worlds on access, and block modification. | |
| ZoneCollection | A collection of zones within a map. |