All Classes and Interfaces

Class
Description
A reflection API for action bars in Minecraft.
Most reflection APIs already provide a name-based fallback system that can be used (like DynamicClassHandle.named(String...)) but sometimes the signature of certain JVM declarations just change entirely, that's where this class could be useful.
A version of AggregateReflectiveHandle that returns an object associated with a ReflectiveHandle instead of the handle itself.
Class used for XReflectASM's generated class lookup.
Any Profileable that can have its results cached.
 
 
A constraint that controls what a
Mark a method in a ReflectiveProxyObject interface as a constructor.
A handle for using reflection for Constructor.
Ideally this should've been an abstract class with finalized methods, but we usually need another abstract class and Java can't have multiple ones, and also it'd have been better if DelegateProfileable.getDelegateProfile() was protected.
 
A handle for using reflection for enums, which are technically a Field.
 
A handle for using reflection for Field.
 
This class should not be used directly.
Ignores this method when proxifying the interface.
When a provided item/block cannot contain skull textures.
If a given Profileable has incorrect value (more general than UnknownPlayerException) which mostly happens when a string value is passed to be handled by ProfileInputType.
 
 
 
This class should not be used directly.
A handle for using reflection for Method.
A specialized type of DynamicClassHandle which currently doesn't have any extra functionalities.
Sends HTTP requests to Mojang API endpoints.
Provides general packet-related API for players.
Mostly for code documentation purposes.
Common Minecraft packages.
Note: Wiki.vg is no longer availabe because it was sunset on November 30, 2024.
If any unknown non-recoverable network issues occur, unless it's a MojangAPIRetryException
Due to being ratelimited or network issues that can be fixed if the request is sent later again.
 
 
This class should not be used directly.
Any declaration in Java that can be named (all except constructors).
Note: This class is currently really unorganized and unstable.
Order of this enum should not be changed.
 
 
 
 
NoteBlockMusic - Write music scripts for Minecraft.
You can write small text scripts for Minecraft note blocks without needing to use any redstone or building to make your music.
An instruction is any musical movement or section that can be a restatement and might have a fermata.
A sequence is a restatement collection of multiple other NoteBlockMusic.Sequences and NoteBlockMusic.Sound that itself might be a part of another NoteBlockMusic.Sequence
An instruction that produces a sonud which consists of a Instrument and a Note with Note.Tone, but without duration or
The descriptor map should only refer to parameter descriptors and should not contain the return value descriptor, this causes less memory usage and more performance.
 
A handle that can provide base package names or translate names based on current mappings.
 
 
 
 
Represents any object that has a GameProfile or one can be created with it.
 
Do we need to support PlayerProfile for hybrid server software like Geyser or Mohist that might have their own caching system?
 
 
 
Aggregate error container for ProfileInstruction.apply().
Represenets any object that has a GameProfile which can also be changed.
 
 
 
 
Represents any known errors that can occur for the profiles API.
An object that has all the information about failed attempts.
Different types of input patterns that can be used for identifying constructing, and validating various formats that can represent a Profileable.
Represents an instruction that sets a property of a GameProfile.
 
 
Collection of NMS reflection needed to interact with the internal cache.
Modifies a GameProfile by a set of defined operations.
 
 
 
 
 
 
Used for MojangAPI requests.
Represents a Class, Constructor, Field or Method.
 
 
 
Note: Currently, if XSeries is included as a library, the @Language annotation doesn't work even if you have the sources downloaded, this is unfortunately a bug with IntelliJ.
 
 
A set of checks performed on a ReflectiveHandle to determine whether it meets certain requirements based on its JVM signature before we can use it.
 
Represents an object that can be used for reflection operations.
 
 
This class is mostly only useful if you're planning to use string-based API (see ReflectionParser), other than that most of the work is done behind the scenes, and it's not needed to use it directly.
The basis of this class is that you create an interface class and annotate it using Class, Field, Constructor, etc... annotations to mark how these methods are resolved for different versions.
 
All interfaces used for XReflection.proxify(Class) must extend this interface.
 
 
 
 
A class that is known at compile time and can be referenced directly.
A ReflectiveHandle with a fixed value.
Any Profileable that can have its results cached temporarily.
A reflection API for titles in Minecraft.
The default implementation used for Profileable.transform(ProfileTransformer...)
A class handle that was parsed from string, the name is known, but it doesn't exist at runtime.
If a specific player-identifying Profileable is not found.
Provides objects based on the current version of the server (XReflection.supports(int, int, int)), it's mostly useful for primitive values, for reflection you should use the specialized XReflection class instead.
A constraint that controls the public, protected, private state of a Class or Member.
This class is similar to Oracle's AccessFlag default implementation which only exists on Java 20+ It also aims to add a few new APIs such as XAccessFlag.isSet(int) and XAccessFlag.isSet(int, XAccessFlag...)
A location within a class file where flags can be applied.
 
 
Do not use this class directly.
XBiome - Cross-version support for biome names.
Biomes: https://minecraft.wiki/w/Biome Biome: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/block/Biome.html
XBlock - MaterialData/BlockData Support
BlockState (Old): https://hub.spigotmc.org/javadocs/spigot/org/bukkit/block/BlockState.html BlockData (New): https://hub.spigotmc.org/javadocs/spigot/org/bukkit/block/data/BlockData.html MaterialData (Old): https://hub.spigotmc.org/javadocs/spigot/org/bukkit/material/MaterialData.html
An enum with cached legacy materials which can be used when comparing blocks with blocks and blocks with items.
Regex used: * Search: \s+/\*\*\s+\* (?<from>\w+) -> (?<to>\w+) \((?<version>[\w\.]+)\)\s+\*\/ * Replace: \n\n@XChange(version = "$3", from = "$1", to = "$2")
 
Enchantment support with multiple aliases.
XEntity - YAML Entity Serializer
Supports 1.9+ Using ConfigurationSection Example:
 
 
java.lang.IncompatibleClassChangeError: Found class org.bukkit.inventory.InventoryView, but interface was expected
An ItemFlag can hide some attributes from ItemStack.
XItemStack - YAML ItemStack Serializer
Using ConfigurationSection Example:
 
 
 
 
XMaterial - Data Values/Pre-flattening
1.13 and above as priority.
 
 
An abstract version of XBase which implements more default methods for convenience.
This data is not meant to be accessible as an API.
 
Potion type support for multiple aliases.
For now, this merely acts as a chance wrapper for potion effects.
This class is used for scanning other compiled classes using reflection in order to generate template interfaces classes for XReflection.proxify(Class).
This class should not be accessed directly, use XReflection.proxify(Class) instead.
General Java reflection handler, but specialized for Minecraft NMS/CraftBukkit reflection as well.
A registry similar to Bukkit's Registry.
 
A cross-version way to apply skin texture from different sources to items and blocks.
XSound - Universal Minecraft Sound Support
1.13 and above as priority.
 
A class to help caching and playing sound properties parsed from config.
 
A class used for grouping various things together based on a common trait.
 
 
 
 
 
Send different World Border data to each player.