All Classes and Interfaces

Class
Description
AABB = Axis-Aligned Bounding Box
A module is a component of a SkriptAddon used for registering syntax and other Skript components.
 
 
 
Stores the aliases.
 
 
Parses aliases.
 
 
Provides aliases on Bukkit/Spigot platform.
Name of an alias used by AliasesProvider.addAlias(AliasName, String, Map, Map) for registration.
Represents a variation of material.
 
A provider for anything with a (number) amount/size.
A provider for anything that contains other things.
A special kind of ClassInfo for dealing with 'any'-accepting types.
A provider for anything with a (text) name.
'AnyProvider' types are holders for common properties (e.g.
 
Represents an argument of a command
 
A simple iterator to iterate over an array.
Effects that extend this class are ran asynchronously.
 
 
Deprecated, for removal: This API element is subject to removal in a future version.
Use BiMap
Deprecated, for removal: This API element is subject to removal in a future version.
Use BiMap
Methods which operate with blocks but are not compatible across some Minecraft versions.
Blocks any messages from being logged.
Main usage is ExprInventoryInfo This class allows Skript to return a block while being able to recognize it as InventoryHolder, You may only use this class if a expression's return type is an InventoryHolder.
 
Manages setting blocks.
 
A block that gets all data from a BlockState, and either reflects changes on the BlockState or delays them to the real block by 1 tick depending on which constructor is used.
TODO !Update with every version [blocks] - also update aliases-*.sk
Contains all data block has that is needed for comparisions.
 
 
 
An interface providing common methods to be implemented for any builder.
Represents an object that can be converted back into a builder.
 
 
REM: Don't even think about supporting CraftBukkit's new logging library "log4j".
A class containing SyntaxRegistry keys for Bukkit-specific syntax elements.
An implementation for Bukkit based platforms.
A class containing the interfaces representing Bukkit-specific SyntaxInfo implementations.
A syntax info to be used for SkriptEvents.
An Event-specific builder is used for constructing a new Event syntax info.
A set of tags provided by Bukkit.
Contains helpers for Bukkit's not so safe stuff.
Utility class with methods pertaining to Bukkit API
Converts Skript's chat components into Bungee's BaseComponents which Spigot supports, too.
Reads JSON produced by Burger and does some stuff with it.
 
 
 
 
 
Deprecated, for removal: This API element is subject to removal in a future version.
Deprecated, for removal: This API element is subject to removal in a future version.
 
An interface to declare changeable values.
 
 
Chat codes; includes color codes (reference) and also, some formatting codes (mostly this)
Handles parsing chat messages.
 
Deprecated, for removal: This API element is subject to removal in a future version.
A PatternElement that has multiple options, for example hello|world.
 
 
A ClassInfoReference represents a specific reference to a classinfo including any derivable context
A utility class for loading classes contained in specific packages.
A builder for constructing a ClassLoader.
 
Utilities for interacting with classes.
Tracks click events to remove extraneous events for one player click.
An interface for optionally cloning an object, should return the given object if no cloning is required.
Deprecated, for removal: This API element is subject to removal in a future version.
Utils for collections and arrays.
 
 
Deprecated.
use Iterators.concat(Iterator[])
 
 
Utilizes CraftServer with reflection to re-send commands to clients.
 
copied from CraftBukkit (org.bukkit.craftbukkit.help.CommandAliasHelpTopic)
Holds info about the usage of a command.
Used to compare two objects of a different or the same type.
Holds information about a Comparator.
Comparators are used to provide Skript with specific instructions for comparing two objects.
 
 
 
 
 
 
 
 
 
 
 
A condition which must be fulfilled for the trigger to continue.
 
An object which can evaluate to `true`, `false`, or `unknown`.
Represents a boolean logic operator.
 
 
Represents a config file.
 
Uses strings for serialisation because the whole ConfigurationSerializable interface is badly documented, and especially DelegateDeserialization doesn't work well with Yggdrasil.
An Iterator that also calls Consumer.accept(Object) on each object provided by the given Iterator.
Represents a class which is a container, i.e.
 
 
This class is intended for usage in places of Skript that require an Event.
The 'contract' of a function or another callable.
Represents a expression converted to another type.
 
Used to convert an object to a different type.
Holds information about a Converter.
Converters are used to provide Skript with specific instructions for converting an object to a different type.
Counts logged messages of a certain type
 
Item that represents a player's inventory cursor.
A custom source of tags that stores its own tags.
This is for a special type of numerical value that is compared in a cyclical (rather than a linear) way.
Deprecated, for removal: This API element is subject to removal in a future version.
unused
 
 
Represents an element that can print details involving an event.
 
 
 
 
Represents an expression that can be used as the default value of a certain type or event.
 
 
This class is not safe to be directly referenced.
A syntax info to be used for Expressions.
An Expression-specific builder is used for constructing a new Expression syntax info.
A syntax info to be used for Structures.
A Structure-specific builder is used for constructing a new Structure syntax info.
Represents type of Nodes that can represent a Structure.
 
 
A block that gets all data from the world, but either delays any changes by 1 tick of reflects them on a given BlockState depending on which constructor is used.
Provides a description for annotated element in documentation.
 
 
 
 
 
Rotates Displays around the X, Y, and Z axes, as well as any arbitrary axis.
Builds a Disjunctive Normal Form CompoundConditional, meaning it is solely composed of groups of ANDs all ORed together, ex.
TODO list special expressions for events and event values TODO compare doc in code with changed one of the webserver and warn about differences?
Represents a class which generates a documentation format (like HTML or JSON)
Sets documentation id for the annotated element.
 
 
Represents an item of dropped item entity.
A partial reference to a Skript function.
An index-linking key for a particular set of input expressions.
 
 
An effect which is unconditionally executed when reached, and execution will usually continue with the next item of the trigger after this effect is executed (the stop effect for example stops the trigger, i.e.
 
A Section that may also be used as an effect, meaning there may be no section to parse.
Represents the Effect aspect of an EffectSection.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Utility class for quick Entity methods
An EntryContainer is a data container for obtaining the values of the entries of a SectionNode.
EntryData is used for defining the different entries of for a SectionNode.
 
 
A validator for storing EntryData.
A utility builder for creating an entry validator that can be used to parse and validate a SectionNode.
This class can be used for an easier writing of ClassInfos that are enums, it registers a language node with usage, a serializer, default expression and a parser.
Deprecated, for removal: This API element is subject to removal in a future version.
TODO this should actually only be an Iterator
 
Mainly kept for backwards compatibility, but also serves as ClassResolver for enums.
 
A language utility class to be used for easily handling language values representing an Enum.
Represents equipment slot of an entity.
 
Does nothing but print messages before the first error encountered and/or a message at the end if no error were encountered.
The quality of a parse error.
A more versatile set of information about the source of an error.
A code location (line number and script name).
An event is something that happens.
An EventRegistry is a generic container for events.
A syntax element that restricts the events it can be used in.
 
 
 
 
 
 
 
Provides a list of examples to be used in documentation for annotated element.
 
A process that can be executed, which may return its result.
Used to describe the intention of a TriggerItem.
Represents a stop sections intent.
Represents a stop trigger intent.
 
An optional, potentially-experimental feature enabled per-script with the using X syntax.
Something that can have experimental features enabled for.
A manager for registering (and identifying) experimental feature flags.
A container for storing and testing experiments.
 
 
 
 
 
 
 
 
 
 
 
 
Represents an expression.
A type of KeyValueEntryData designed to parse its value as an Expression.
Represents an expression's information, for use when creating new instances of expressions.
A list of expressions.
A dummy trigger item representing the 'section' aspect of a SectionExpression.
Used to define in which order to parse expressions.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Experimental feature toggles as provided by Skript itself.
 
 
Holds a field's name and value, and throws StreamCorruptedExceptions if primitives or objects are used incorrectly.
 
 
 
A variable storage that stores its content in a comma-separated value file (CSV file).
 
 
Stores the accumulated runtime errors over a span of time, then prints them.
Store limits for the number of issues a frame can print per frame.
Stores outputs of a frame.
 
Functions can be called using arguments.
 
Reference to a Skript function.
Static methods to work with functions.
 
 
 
Deprecated, for removal: This API element is subject to removal in a future version.
use Converter instead
Uses Github API to check for updates.
Github API response for GSON deserialization.
 
 
 
A PatternElement that represents a group, for example (test).
 
 
Template engine, primarily used for generating Skript documentation pages by combining data from annotations and templates.
Deprecated.
Enum representing different movement input keys.
 
An InputSource represents a syntax that can provide a value for ExprInput to use.
A ParserInstance.Data used for linking InputSources and ExprInputs.
 
A line of a config that could not be parsed.
Represents a slot in some inventory.
Utilities for inventories.
 
Represents old ItemData (before aliases rework and MC 1.13).
Contains bit mask flags for some item properties.
Represents contents of an item frame.
 
Miscellaneous static utility methods related to items.
 
 
 
 
Generates JSON docs
Represents an expression that is able to return a set of keys linked to its values.
Represents an expression that is able to accept a set of keys linked to values during the Changer.ChangeMode.SET Changer.
An entry based on SimpleNodes containing a key and a value.
Provides a list of keywords that will allow for easier documentation searching.
A three-valued logic type (true, unknown, false), named after Stephen Cole Kleene.
 
 
 
The life cycle phase of an Experiment.
Parse mode for links in chat messages.
 
A literal, e.g.
A specific KeyValueEntryData type designed to parse the entry's value as a supported literal type.
A list of literals.
A PatternElement that contains a literal string to be matched, for example hello world.
 
A class that contains methods based around making it easier to deal with UnparsedLiteral objects.
 
A Localizer is used for the localization of translatable strings.
 
 
A log handler is used to handle Skripts logging.
 
 
Represents a loop section.
The event used in the ExprSecCreateLootContext section.
Wrapper for a LootContext.Builder to allow easier creation of LootContexts.
 
Utility class for loot tables.
 
How well two items match each other.
A result from pattern matching.
This class is not to be used by addons.
Basic class to get text from the language file(s).
Component for chat messages.
 
 
 
 
 
 
 
 
Provides the name of annotated element to be used in documentation.
Contains a set of functions.
Key to a namespace.
Origin of functions in namespace.
1.13+ block compat.
 
Map for fast access of entry nodes and section nodes within section nodes.
Something that contains or references nodes and can be navigated.
 
Annotated element will not appear in documentation, nor will missing documentation about it cause warnings.
Rotates Quaternionfs around the X, Y, and Z axes, as well as any arbitrary axis.
Rotates Vectors around the X, Y, and Z axes, as well as any arbitrary axis.
 
Deprecated.
Use a use-case specific record.
 
 
An update checker that never reports available updates.
 
 
A object that can both be opened and closed.
Represents a pure binary operation that takes two operands of types L and R, performs a calculation, and returns a result of type T.
 
 
 
A PatternElement that contains an optional part, for example [hello world].
 
Deprecated.
Use a use-case specific record.
 
 
 
A set of tags provided by Paper.
 
 
Used to provide context as to where an element is being parsed from.
 
 
A parser used to parse data from a string or turn data into a string.
 
A Backup represents a ParserInstance at a certain point in time.
An abstract class for addons that want to add data bound to a ParserInstance.
Called when a Script is made active or inactive in a ParserInstance.
A PatternElement that applies a parse mark when matched.
 
 
Allows binary-patching old versions of Skript from this jar.
The pattern structure is a linked list of PatternElements, where PatternElement.next points to the next element to be matched, which can be on an outer level, and where PatternElement.originalNext points to the next element on the same level.
 
A helper class useful when an expression/condition/effect/etc.
 
Contains utility methods related to players
An ArgsMessage that pluralises words following numbers.
 
 
Deprecated, for removal: This API element is subject to removal in a future version.
Priorities are used for things like ordering syntax and loading structures in a specific order.
A class that acts as a "pseudo-enum", i.e.
Rotates Quaternionfs around the X, Y, and Z axes, as well as any arbitrary axis.
 
Redirects the log to one or more CommandSenders.
 
A PatternElement that contains a regex Pattern, for example <.+>.
A registry maintains a collection of elements.
This class can be used for easily creating ClassInfos for Registrys.
A parser based on a Registry used to parse data from a string or turn data into a string.
Serializer for RegistryClassInfo
Represents a relation between two objects.
Allows checking whether releases are in this channel or not.
Describes a Skript release.
Status of currently installed release.
Provides a list of plugins other than Skript that the annotated element requires to be used.
 
 
 
 
Deprecated.
unused
Deprecated, for removal: This API element is subject to removal in a future version.
unused
A functional interface to support uniform rotation semantics between various types.
Represents an axis around which to rotate.
Represents a single instance of a runtime error.
Consumes runtime errors.
Handles passing runtime errors between producers and consumers via a frame collection system.
A RuntimeErrorProducer can throw runtime errors in a standardized and controlled manner.
 
Scripts are the primary container of all code.
Used for listening to events involving a Script.
Per-script aliases provider and parser container.
This class is used for user-defined commands.
 
To be implemented on data objects for Script's Data API.
 
The main class for loading, unloading and reloading scripts.
Used for listening to events involving a ScriptLoader.
A class for keeping track of the general content of a script: The amount of files The amount of structures
Called when a Script is created and preloaded in the ScriptLoader.
Called when a Script is loaded in the ScriptLoader.
Called when ScriptLoader is preparing to load Configs into Scripts.
Called when a Script is unloaded in the ScriptLoader.
An enum containing Script warnings that can be suppressed.
A section that can decide what it does with its contents, as code isn't parsed by default.
 
A simple entry data class for handling SectionNodes.
A Section implementing this interface can execute a task when it is exited by an 'exit' or 'return' effect.
 
To be used in sections that delay the execution of their code through a Trigger.
 
Deprecated.
Regular Structure methods should be used.
Deprecated, for removal: This API element is subject to removal in a future version.
An instance of a serialized variable, contains the variable name and the serialized value.
A serialized value of a variable.
 
Represents all server platforms that Skript runs on.
Deprecated, for removal: This API element is subject to removal in a future version.
 
Function signature: name, parameter types and a return type.
 
 
 
A very basic SkriptEvent which returns true for all events (i.e.
An implementation of the Expression interface.
A JavaFunction which doesn't make use of the FunctionEvent instance and that cannot accept empty / null parameters.
Represents a literal, i.e.
 
Provides the version of plugin when was the annotated element added.
 
 
Skript - A Bukkit plugin to modify how Minecraft behaves without having to write a single line of code (You'll likely be writing some code though if you're reading this =P)
The main class for everything related to Skript.
Utility class for Skript addons.
A Skript addon is an extension to Skript that expands its features.
This exception is thrown if the API is used incorrectly.
Chat codes that come with Skript by default.
 
 
 
 
Important: don't save values from the config, a '/skript reload config/configs/all' won't work correctly otherwise!
Used for listening to events involving Skript's configuration.
Called when Skript's configuration is successfully reloaded.
A SkriptEvent is like a condition.
The listening behavior of a Skript event.
 
An event listener for one priority.
 
Internal wrapper class for providing compatibility with the new Registration API.
 
helper class to handle bstats metrics
Used for parsing my custom patterns.

Note: All parse methods print one error at most xor any amount of warnings and lower level log messages.
 
 
 
A queue of elements.
Represents a custom tag created by the Skript user.
 
A utility enum for accessing Paper's teleport flags (1.19.4+)
Static utils for Skript timings.
Skript's update checker.
Represents a container for a single item.
Represents a slot which has index.
Adapter pattern to unify World and Player playSound methods.
 
 
Utility class for working with sounds.
 
TODO create a metadata table to store some properties (e.g.
Supertype of conditions and effects
 
 
 
Structures are the root elements in every script.
Priorities are used to determine the order in which Structures should be loaded.
 
Special SyntaxElementInfo for Structures that may contain information such as the EntryValidator.
 
 
Represents a general part of the syntax.
 
A syntax info contains the details of a syntax, including its origin and patterns.
A builder is used for constructing a new syntax info.
The origin of a syntax, currently only used for documentation purposes.
A basic origin describing the addon a syntax has originated from.
A syntax registry manages all SyntaxRegisters for syntax registration.
Like a SyntaxRegistry.Key, but it has a parent which causes elements to be registered to itself and its parent.
Represents a syntax element type.
A runtime error producer intended for use with SyntaxElements.
Utility class to build syntax strings, primarily intended for use in Debuggable.toString(Event, boolean) implementations.
 
 
The origin of a tag, eg.
A class in charge of storing and handling all the tags Skript can access.
A source for Tags, be it Bukkit's tag registries, Paper's handmade tags, or custom tags made by the user.
The type of a tag.
 
Represents the displayed item of a throwable projectile.
 
 
 
Represents a duration of time, such as 2 days, similar to Duration.
Represents the unit used for the current Timespan.
A log handler that records the time since its creation.
 
An entry data class designed to take a SectionNode and parse it into a Trigger.
Represents a trigger item, i.e.
Represents a section of a trigger, e.g.
 
This is used to manage local variable type hints.
A PatternElement that contains a type to be matched with an expressions, for example %number%.
 
A literal which has yet to be parsed.
Checks for updates
Returned by an update checker when an update is available.
Extensible updater system.
State of updater.
Utility class.
 
Deprecated, for removal: This API element is subject to removal in a future version.
Something that can become invalid due to external conditions, such as: A newer copy of the same thing becomes available. It is a finalised view that no longer reflects the real thing. Some backing object has been deleted or irreparably modified.
Once this has been Validated.invalidate()d, its Validated.valid() method should return false.
 
Handles all things related to variables.
A variable storage is holds the means and methods of storing variables.
Represents a string that may contain expressions, and is thus "variable".
A type of KeyValueEntryData designed to parse its value as a VariableString.
Deprecated, for removal: This API element is subject to removal in a future version.
Rotates Vectors around the X, Y, and Z axes, as well as any arbitrary axis.
This interface provides methods for Conditions to provide expected and received values for EffAssert or others to use to in debugging or testing scenarios.
 
 
For objects that can provide an unmodifiable view of themselves.
 
 
 
 
An empty line or a comment.
 
 
A dummy/placeholder class to ensure working operation on MC versions that do not have `Wolf.Variant`
Utility class for Bukkit worlds
 
Yggdrasil is a simple data format to store object graphs.
Thrown if the object(s) that should be saved/loaded with Yggdrasil do not comply with its requirements, or if Yggdrasil is used incorrectly.
Can be used to set a class's or field's id used by Yggdrasil.
 
 
Marks a class as serializable by Yggdrasil.
A class that has transient fields or more generally wants to exactly define which fields to write to/read from stream should implement this interface.
Provides a method to resolve missing enum constants.
A class that has had fields added, changed, or removed from it should implement this interface to handle the now invalid/missing fields that may still be read from stream.
Serializer that allows Yggdrasil to automatically serialize classes that extend YggdrasilSerializable.
Utility to be able to save and load classes with Yggdrasil that the user has no control of, e.g.