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.A lock associated to an object that keeps track of how many threads are
currently using this lock until none are left in which case it removes itself.
A registry that queues locks per-object using
KeyedLock.This class should not be used directly.
Utility class for sharing methods relating to
BaseComponent.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
MojangAPIRetryExceptionDue to being ratelimited or network issues that can be fixed if the request is sent later again.
A system used to prevent
MojangAPI
from sending multiple requests for the same piece of information simultaneously.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.
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.SequenceAn instruction that produces a sonud which consists of a
Instrument and a Note with Note.Tone,
but without duration orThe 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.Bedrock Players
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.Configures how requests to Mojang servers (sent by
MojangAPI) are performed.Collection of NMS reflection needed to interact with the internal cache.
Modifies a
GameProfile by a set of defined operations.Used for
MojangAPI requests.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.Thrown when a
ReflectiveConstraint.appliesTo(ReflectiveHandle, Object)
returns Optional.empty() or false.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.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
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
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:
Supports 1.9+ Using ConfigurationSection Example:
Corresponds to
EntityTypejava.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:
Using ConfigurationSection Example:
XMaterial - Data Values/Pre-flattening
1.13 and above as priority.
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.
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.