GraphMine

Main GraphMine code. All public classes and functions are stable API.

All Types

io.github.sof3.graphmine.scope.BaseScope Basic implementation of BaseScope
io.github.sof3.graphmine.world.Block Represents a block type.
io.github.sof3.graphmine.world.BlockInstance Represents a block type at a certain location. The existence persistence of this block is irrelevant to whether the block is really at the location, ever at the location or has been removed. This is a pure value class.
io.github.sof3.graphmine.world.BlockLocation A unique identifier for an integer location.
io.github.sof3.graphmine.world.Blocks The list of default Block instances. Plugins are not expected to add custom block types to this list
io.github.sof3.graphmine.client.Client  
io.github.sof3.graphmine.command.args.ClientArg Accepts a client name
io.github.sof3.graphmine.client.ClientAttachable  
io.github.sof3.graphmine.command.Command This class represents a command type. Each instance of Command should represent one registered command.
io.github.sof3.graphmine.command.args.CommandArg Superclass of a command argument.
io.github.sof3.graphmine.command.CommandException Represents any user-friendly errors reported from commands.
io.github.sof3.graphmine.command.CommandExecutor The this context of command handlers.
io.github.sof3.graphmine.command.CommandMap Stores a list of commands. This class can also be instantiated at individual commands to provide a sub-command list.
io.github.sof3.graphmine.command.CommandReceiver Accepts output from a command.
io.github.sof3.graphmine.command.CommandSender Represents an object that sends the command.
io.github.sof3.graphmine.config.ConfigEntryDelegate The delegate class to a config entry
io.github.sof3.graphmine.config.ConfigException Thrown when a config has some problems
io.github.sof3.graphmine.config.ConfigGroupSpec Superclass of type specifications of groups in a ConfigSpec
io.github.sof3.graphmine.config.ConfigMissingException Thrown when a required entry is missing from a config
io.github.sof3.graphmine.config.ConfigSpec Superclass for type specifications of .kts config files
io.github.sof3.graphmine.config.ConfigValidationException Thrown when an entry from a config is invalid
io.github.sof3.graphmine.config.CoreConfig Model for the server config.yml
io.github.sof3.graphmine.feature.DoubleFeatureHandler  
io.github.sof3.graphmine.command.EmptyOverload An empty overload, reused for commands that do not require arguments.
io.github.sof3.graphmine.entity.Entity An entity is a mobile object that exists in a world
io.github.sof3.graphmine.entity.EntityController Controls the actions of an entity.
io.github.sof3.graphmine.entity.EntityState Contains the savable data of an entity
io.github.sof3.graphmine.entity.EntityViewEvent Events that an entity’s view changes. This may be due to changes in entity external views, blocks in world views, or other reasons.
io.github.sof3.graphmine.command.args.EnumArg Accepts a value that names one of the constants in the enum class
io.github.sof3.graphmine.entity.ExternalView Represents one of the appearances of an entity.
io.github.sof3.graphmine.entity.ExternalViewer Provides an adapter that determines how this entity looks to other entities.
io.github.sof3.graphmine.feature.FeatureEdge Represents the implementation of a feature.
io.github.sof3.graphmine.feature.FeatureEvent Represents an event on some node(s). Implementations shall contain mutable and immutable properties for FeatureEdges to read and modify, except the FeatureNodeInstances do not need to be in the event since they are passed to the event in a different way.
io.github.sof3.graphmine.feature.FeatureGraph The Feature Graph is the main registry of features in the server. It is an undirected multi-graph that allows FeatureEdges (the features themselves) to handle interaction events (FeatureEvent) between FeatureNodes (the objects of features, e.g. entities, blocks, or abstract concepts like commands), or self-loop edges that handle events on a single object (e.g. player join).
io.github.sof3.graphmine.feature.FeatureNode Represents a concrete or abstract concept that can interact with itself or other FeatureNodes, such as an entity, a block, a client or a command.
io.github.sof3.graphmine.feature.FeatureNodeInstance Represents an instance of FeatureNode. The FeatureNode represents the type in general, while FeatureNodeInstance represents each instance of the type. It is valid for FeatureNodeInstance to be singleton or even same as the FeatureNode. For example, each instance of the Client class represents one client, while the singleton Client.Node companion object represents the client type.
io.github.sof3.graphmine.HasLogger This interface only exists to avoid the boilerplate of calling the logger.
io.github.sof3.graphmine.command.args.IntegerArg Accepts integer arguments.
io.github.sof3.graphmine.entity.InternalViewer Acts like the receiver to the camera signals of an entity
io.github.sof3.graphmine.world.Location Represents a point in the 3D space of a world.
io.github.sof3.graphmine.command.args.NumberArg Accepts any finite real-numeric arguments.
io.github.sof3.graphmine.command.Overload Defines the parameters of a command.
io.github.sof3.graphmine.command.args.RawTextArg Accepts the rest of the whole line literally
io.github.sof3.graphmine.command.RegisteredOverload A factory that creates a new instance of a known command overload for each command execution.
io.github.sof3.graphmine.scope.Scope A Scope represents some period of persistence. Features are enabled only during the scope is not disposed. Builtin scopes include:
io.github.sof3.graphmine.Server The Server should be the object that links up different components of the server.
io.github.sof3.graphmine.config.ServerConfig Settings for the server
io.github.sof3.graphmine.config.SimpleConfigEntry  
io.github.sof3.graphmine.feature.SingleFeatureEdge Convenience implementation of self-looping FeatureEdge
io.github.sof3.graphmine.feature.SingleFeatureHandler  
io.github.sof3.graphmine.command.args.StringArg Accepts the next value in the line. Multi-word arguments can be quoted by "" or their spaces escaped by \ before.
io.github.sof3.graphmine.command.impl.VersionCommand Implements the /version command
io.github.sof3.graphmine.VersionInfo Holds the static version information for this build
io.github.sof3.graphmine.world.World Each world has its set of 3D space. Usually, this is implemented as one saved map, but plugins may create virtual worlds, remote worlds or anything that features the characteristics as required by the interface.
io.github.sof3.graphmine.world.WorldPartition Represents a partition of a World. World partitioning is controlled by the server based on WorldUser activity.
io.github.sof3.graphmine.world.WorldUser Represents a user of a world that holds resources from being freed.
io.github.sof3.graphmine.world.WorldView An adapter that intercepts between a world viewer and the actual world.
io.github.sof3.graphmine.command.WrongSyntaxException Thrown when a command with wrong syntax is sent.