All Classes and Interfaces

AABB = Axis-Aligned Bounding Box
A utility interface to access the Player::playSound while also providing the same arguments to World::playSound Used in EffPlaySound.
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.
Represents an argument of a command
A simple iterator to iterate over an array.
Effects that extend this class are ran asynchronously.
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.
REM: Don't even think about supporting CraftBukkit's new logging library "log4j".
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.
A string which is compared ignoring it's case.
An interface to declare changeable values.
Chat codes; includes color codes (reference) and also, some formatting codes (mostly this)
Handles parsing chat messages.
A PatternElement that has multiple options, for example hello|world.
A ClassInfoReference represents a specific reference to a classinfo including any derivable context
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.
Like Closeable, but not used for resources, thus it neither throws checked exceptions nor causes resource leak warnings.
Utils for collections and arrays.
An iterator that iterates over all elements of several iterables.
Utilizes CraftServer with reflection to re-send commands to clients.
copied from CraftBukkit (
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.
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
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.
This is for a special type of numerical value that is compared in a cyclical (rather than a linear) way.
A list with fixed size that overrides the oldest elements when new elements are added and no more space is available.
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.
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.
TODO list special expressions for events and event values TODO compare doc in code with changed one of the webserver and warn about differences?
Sets documentation id for the annotated element.
Represents an item of dropped item entity.
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.
Maps enchantments to their keys.
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.
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.
Provides a list of examples to be used in documentation for annotated element.
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.
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).
Functions can be called using arguments.
Reference to a Skript function.
Static methods to work with functions.
Used to get a specific value from instances of some type.
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.
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.
This class is no longer exposed in newer versions.
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.
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 log handler is used to handle Skripts logging.
Represents a loop section.
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.
Annotated element will not appear in documentation, nor will missing documentation about it cause warnings.
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].
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.
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 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 a expression/condition/effect/etc.
Contains utility methods related to players
An ArgsMessage that pluralises words following numbers.
A class that acts as a "pseudo-enum", i.e.
Redirects the log to a CommandSender.
A PatternElement that contains a regex Pattern, for example <.+>.
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.
Scripts are the primary container of all code.
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.
A ScriptEvent is used for listening to and performing actions for different Script events.
A ScriptEvent that is called when a Script is made active in a ParserInstance.
A ScriptEvent that is called when a Script is made inactive in a ParserInstance.
The main class for loading, unloading and reloading scripts.
A class for keeping track of the general content of a script: The amount of files The amount of structures
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.
Regular Structure methods should be used.
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.
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)
Utility class for Skript addons.
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!
A SkriptEvent is like a condition.
The listening behavior of a Skript event.
An event listener for one priority.
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.
Static utils for Skript timings.
Skript's update checker.
Slot stuff got its own package.
Represents a container for a single item.
Represents a slot which has index.
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.
Represents the displayed item of a throwable projectile.
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.
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.
This interface provides methods for Conditions to provide expected and received values for EffAssert or others to use to in debugging or testing scenarios.
An empty line or a comment.
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.