[This is preliminary documentation and is subject to change.]

fCraft's core functionality.

Types

                  
 All Types  Classes   Structures  Interfaces  Enumerations  Delegates 
 NameDescription
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
Block
Enumeration of all standard Minecraft Classic block types.
BlockChangeContext
Context of the block change. Multiple flags can be combined.
BlockDB
BlockDBEntry
Struct representing a single block change. You may safely cast byte* pointers directly to BlockDBEntry* and vice versa.
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
BufferUtil
CanPlaceResult
A list of possible results of Player.CanPlace() permission test.
Chat
Helper class for handling player-generated chat.
ChatMessageType
ChatTimer
ClickAction
Color
Static class with definitions of Minecraft color codes, parsers, converters, and utilities.
Command
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.
CommandCategory
CommandDescriptor
Describes a chat command. Defines properties, permission requirements, and usage information. Specifies a handler method.
CommandHandler
Delegate for command handlers/callbacks.
CommandManager
Static class that allows registration and parsing of all text commands.
CommandRegistrationException
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
DateTimeUtil
EnumerableUtil
EnumUtil
Forester
Vegetation generator for MapGenerator.
ForesterArgs
Forester..::..ForesterOperation
Heartbeat
Static class responsible for sending heartbeats.
HeartbeatData
ICancellableEvent
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
IPBanInfo
IP ban record.
IPBanList
IPlayerEvent
An EventArgs for an event that directly relates to a particular player.
IRC
IRC control class.
IRCCommands
IRCMessage
IRCMessageType
IRC message types.
IRCReplyCode
IRC protocol reply codes.
IWorldEvent
An EventArgs for an event that directly relates to a particular world.
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
MapGenerator
MapGeneratorArgs
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 noise, extensively used by MapGenerator.
NoiseInterpolationMode
Interpolation mode for perlin noise.
OpCode
Minecraft protocol's opcodes.
Packet
Packet struct, just a wrapper for a byte array.
PacketWriter
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
PlayerOpException
PlayerOpExceptionCode
Position
Struct representing a position AND orientation. Takes up 8 bytes of memory. 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
RankChangeType
Describes the way player's rank was set.
RankDefinitionException
RankManager
RawMessageType
Type of message sent by the player. Determined by CommandManager.GetMessageType()
ReleaseFlags
ReleaseInfo
Forester..::..RootMode
Scheduler
A general-purpose task scheduler.
SchedulerCallback
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
Callback 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, and global events and scheduled tasks.
SessionState
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
Vector3F
Floating-point (single precision) 3D vector.
Vector3I
Integer 3D vector.
World
WorldChangeReason
WorldManager
WorldOpException
WorldOpExceptionCode
List of common world operation issues. Used by WorldOpException.
YesNoAuto
Zone
ZoneCollection
A collection of zones within a map.