All Classes and Interfaces

Class
Description
 
 
 
 
 
Advancement renderers allow for custom advancement icons, frames, and backgrounds which render in the advancements screen and advancement toasts.
Called after the background of an advancement tab renders.
Called after the frame of an advancement renders.
Called after the icon (display item) of an advancement renders.
A map meant to be used as the backing storage for custom ApiLookup instances, to implement a custom equivalent of BlockApiLookup#get.
 
Deprecated, for removal: This API element is subject to removal in a future version.
ApiLookupMap.LookupConstructor should be used instead as it also passes the identifier.
A fast thread-safe copy-on-write map meant to be used as the backing storage for registered providers.
 
Armor renderers render worn armor items with custom code.
A factory to create an ArmorRenderer instance.
Class used to create and register AttachmentTypes.
A builder for creating AttachmentTypes with finer control over their properties.
A predicate that determines, for a specific attachment type, whether the data should be synchronized with a player's client, given the player's ServerPlayer and the AttachmentTarget the data is linked to.
Marks all objects on which data can be attached using AttachmentTypes.
 
An attachment allows "attaching" arbitrary data to various game objects (entities, block entities, levels and chunks at the moment).
Callback for left-clicking ("attacking") a block.
Callback for left-clicking ("attacking") an entity.
Indicates that this Event is auto-invoking: it calls the event callback implemented by a context parameter type automatically and without registration.
Provides methods for modifying biomes.
Allows Biome properties to be modified.
 
 
 
 
 
Provides an API to modify Biomes after they have been loaded and before they are used in the Level.
Context given to a biome selector for deciding whether it applies to a biome or not.
Provides several convenient biome selectors that can be used with BiomeModifications.
A transfer variant storage view that contains a blank variant all the time (it's always empty), but may have a nonzero capacity.
 
A BlockApiLookup bound to a ServerLevel and a position, providing much faster API access.
An object that allows retrieving APIs from blocks in a level.
 
 
Deprecated.
Use AttackBlockCallback instead and check for the block.
The registry for BlockTintSources.
Deprecated.
Replaced with transitive access wideners in Fabric Transitive Access Wideners (v1).
Contains events triggered by players interact with blocks.
 
 
Contains block tags that add extra functionality to blocks.
This class allows easy creation of BlockSetTypes.
Represents a function that accepts a boolean-valued argument and produces a result.
Entrypoint to expose cauldrons to the Fluid Transfer API.
 
 
 
Offers access to events related to the indication of a connected client's ability to receive packets in certain channels.
 
 
Offers access to events related to the indication of a connected client's ability to receive packets in certain channels.
 
 
 
 
 
Callback for when client commands are registered to the dispatcher.
Manages client-sided commands and provides some related helper methods.
Offers access to events related to the configuration connection to a server on a logical client.
 
 
 
 
Offers access to configuration stage client-side networking functionalities.
A packet handler utilizing CustomPacketPayload.
 
A registry for debug subscriptions on the client, allowing listening to registered debug subscriptions on the client.
 
 
 
Context for a client gametest containing various helpful functions and functions to access the game.
 
 
 
 
 
Offers access to events related to the connection to a server on the client while the server is processing the client's login request.
 
 
 
Offers access to login stage client-side networking functionalities.
 
Offers access to events related to the connection to a server on a logical client.
 
 
 
Contains client side events triggered by block breaking.
 
Offers access to play stage client-side networking functionalities.
 
A thread-safe payload handler utilizing CustomPacketPayload.
This event fires every tick when the attack key (left mouse button by default) is pressed (including clicking and holding the attack key).
Contains client-side events triggered when receiving messages.
 
 
 
 
 
 
 
This event gets invoked when client receives all synchronized recipes.
Contains client-side events triggered when sending messages.
 
 
 
 
 
 
 
 
Allows the use of tags by directly loading them from the installed mods.
 
 
 
 
 
Allows registering a mapping from TooltipComponent to ClientTooltipComponent.
The registry for custom ColorResolvers.
A Storage wrapping multiple slotted storages.
A Storage wrapping multiple storages.
Callback for when a server registers all commands.
 
 
Registry of items to 0.0-1.0 values, defining the chance of a given item increasing the Composter block's level.
A context that allows an item-queried Storage implementation to interact with its containing inventory, such as a player inventory or an emptying or filling machine.
An implementation of Storage<ItemVariant> for vanilla's Container, WorldlyContainer and Inventory.
See BiomeTags for vanilla tags.
See BlockTags for vanilla tags.
 
See EntityTypeTags for vanilla tags.
See FluidTags for vanilla tags.
See ItemTags for vanilla tags.
See StructureTags for vanilla tags.
Holds events related to CreativeModeTabs.
 
 
Allows an item to run custom logic when ItemStack.hurtAndBreak(int, LivingEntity, EquipmentSlot) is called.
Interface that modders can implement to create new behaviors for Ingredients.
Serializer for a CustomIngredient.
Implement this interface on test suites to provide custom logic for invoking GameTest test methods.
An entry point for data generation.
Provides various hooks into the server data resource loader.
Represents a resource store for data.
Represents a typed key for the data resource store.
 
A factory that creates a debug subscription renderer.
Registry for custom debug renderers.
A factory that creates a debug value of type T using data of type D.
Factory methods for the custom ingredients directly provided by Fabric API.
Events to modify the default DataComponentMap of items.
 
 
Events for manipulating dimensions.
 
Contains methods for registering and accessing dynamic registries.
Flags for configuring dynamic registry syncing.
This event gets triggered before a dynamic registry is being loaded.
A view providing access to the registries that are currently being loaded.
Context for mob effect events.
Base implementation of a fluid storage for an empty item.
An enum that describes the contexts in which the game checks whether an enchantment can be applied to an item.
Events relating to enchantments, allowing for finer control of what enchantments can apply to different items.
 
 
Determines where an enchantment has been loaded from.
An object that allows retrieving APIs from entities.
 
A server-side registry for debug subscriptions specific to entities or properties of entities.
Events related to elytra flight for living entities.
 
 
Deprecated.
Replaced with transitive access wideners in Fabric Transitive Access Wideners (v1).
Contains a function to register an entity selector option.
Events about the sleep of living entities.
 
 
 
 
 
 
 
 
 
 
 
Events related to a tracking entities within a player's view distance.
 
 
A provider for the preferred equipment slot of an item.
Base class for Fabric's event implementations.
Helper for creating Event classes.
Represents a result of an event that controls execution of some action.
An extension of MenuProvider that can write additional data to a screen opening packet.
A MenuType for an extended menus that synchronizes additional data to the client when it is opened.
A factory for creating menu instances from additional opening data.
A Storage that supports extraction, and not insertion.
General-purpose Fabric-provided extensions for Block subclasses.
Fabric-provided extensions for BlockBehaviour.Properties.
General-purpose Fabric-provided extensions for BlockEntityType.
Use this builder to create a BlockEntityType.
 
General-purpose Fabric-provided extensions for BlockGetter subclasses.
Fabric-provided extensions for BlockLootSubProvider.
Extend this class and implement FabricBlockLootSubProvider.generate().
Note: This interface is automatically implemented on BlockParticleOption via Mixin and interface injection.
General-purpose Fabric-provided extensions for BlockState, matching the functionality provided in FabricBlock.
Extensions to SharedSuggestionProvider for client-sided commands.
The fabric-client-gametest entrypoint interface.
Fabric-provided extensions for DataComponentMap.Builder.
Fabric provided extensions to CreativeModeInventoryScreen.
Contains a method to create a creative mode tab builder.
This class allows the output of creative mode tabs to be modified by the events in CreativeModeTabEvents.
An extension to vanilla's DataGenerator providing mod specific data, and helper functions.
A factory of a data provider.
A factory of a data provider.
Allows registering custom default attributes for living entities.
A provider to help with data-generation of dynamic registry objects, such as biomes, features, or message types.
 
Allows registering custom EntityDataSerializers in a reliable way.
 
Extend this class and implement FabricEntityLootSubProvider.generate().
Fabric extension to EntitySelectorParser, implemented using interface injection.
General-purpose Fabric-provided extensions for EntityType.
General-purpose Fabric-provided extensions for EntityType.Builder.
A builder for additional properties of a living entity, use via FabricEntityType.Builder.createLiving(EntityType.EntityFactory, MobCategory, UnaryOperator).
A builder for additional properties of a mob entity, use via FabricEntityType.Builder.createMob(EntityType.EntityFactory, MobCategory, UnaryOperator).
Deprecated.
replace with EntityType.Builder
Deprecated.
An extended game rule type visitor which supports Fabric's own rule types.
Fabric-provided extensions for Ingredient.
General-purpose Fabric-provided extensions for Item subclasses.
Fabric-provided extensions for Item.Properties.
Fabric-provided extensions for ItemStack.
Convenience extensions to LootPool.Builder for adding pre-built objects or collections.
Convenience extensions to LootTable.Builder for adding pre-built objects or collections and modifying loot pools.
A base interface for Loot table providers.
An extension to MenuProvider.
An extension for MobEffect subclasses adding basic events.
General purpose Fabric extensions to the Model class.
Extends PackOutput to keep track of the ModContainer that it originated from.
Methods for creating particle types, both simple and using an existing attribute factory.
An extension of PotionBrewing.Builder to support ingredients.
Use this event to register custom brewing recipes.
General-purpose Fabric-provided extensions for RecipeAccess class.
General-purpose Fabric-provided extensions for RecipeManager class.
Injected to all RecipeOutput instances.
General-purpose Fabric-provided extensions for Registry objects.
Used to create custom registries, with specified registry attributes.
General purpose Fabric extensions to the RenderPipeline class.
General purpose Fabric extensions to the RenderPipeline.Builder class.
General purpose Fabric extensions to the RenderPipeline.Snippet class.
Fabric-provided extensions for render states, allowing for the addition of extra render data.
Extensions to Resource.
Fabric-provided extensions for ServerConfigurationPacketListenerImpl.
General purpose Fabric-provided extensions to SoundInstance.
It does the same thing as vanilla's SpriteSet, but in a way that's accessible to mods, and that exposes the atlas as well.
Interface-injected to TagAppender.
General-purpose Fabric-provided extensions for TagKey subclasses.
Implement this class (or one of the inner classes) to generate a tag list.
Extend this class to create BlockEntityType tags in the "/block_entity_type" tag directory.
Extend this class to create Block tags in the "/block" tag directory.
Extend this class to create EntityType tags in the "/entity_type" tag directory.
Parent class for tags providers that support adding registered values directly.
Extend this class to create Fluid tags in the "/fluid" tag directory.
Extend this class to create Item tags in the "/item" tag directory.
Fabric provided extension of ValueInput.
Fabric provided extension of ValueOutput.
A "fake player" is a ServerPlayer that is not a human player.
A base Storage implementation that delegates every call to another storage, except that it only allows insertion or extraction if FilteringStorage.canInsert(T) or FilteringStorage.canExtract(T) allows it respectively.
 
 
A registry for shovel flattening interactions.
Constants for fluid transfer.
Interface for handling the rendering of a FluidState.
Registry for FluidRenderHandler instances.
A class containing some utilities for rendering fluids.
 
Access to Storage<FluidVariant> instances.
 
Helper functions to work with fluid storages.
An immutable association of a still fluid and data components.
Defines the common attributes of fluid variants of a given Fluid.
Common fluid variant attributes, accessible both client-side and server-side.
Defines how fluid variants of a given Fluid should be displayed to clients.
Client-side display of fluid variants.
Helper methods for working with and creating FriendlyByteBufs.
Contains events to aid in modifying fuels.
Use this event to register custom fuels.
 
Use this event to register custom fuels.
Base implementation of a fluid storage for a full item.
A utility class containing classes and methods for building GameRules.
 
 
 
 
 
Provides events for updating GameRules.
A functional interface used as a change callback for GameRule updates.
GameTest is an annotation that can be used to mark a method as a game test.
Represents a mod added Gui element that can be rendered on the screen.
A registry of identified hud layers with methods to add layers in specific positions.
Deprecated.
Use HudElementRegistry instead.
A registry for StatusBarHeightProvider instances, known as height providers.
A Storage that supports insertion, and not extraction.
Called when the level renderer reloads, usually as result of changing resource pack or video configuration, or when the player types F3+A in the debug screen.
 
An object that allows retrieving APIs from item stacks.
 
A registry of TooltipProvider item components.
Contains events triggered by players interact with item.
 
 
Access to Storage<ItemVariant> instances.
 
An immutable count-less ItemStack, i.e.
Provides a callback for setting the sort priority of object keys in generated JSON files.
Helper for registering KeyMappings.
A registry to associate block states with specific path types.
A functional interface that provides the PathType, given the block state level and position.
Generic provider, this is a marker interface.
A functional interface that provides the PathType, given the block state.
 
 
Mods should use these events to introduce custom rendering during LevelRenderer.renderLevel(GraphicsResourceAllocator, DeltaTracker, boolean, CameraRenderState, Matrix4f, GpuBufferSlice, Vector4f, boolean, ChunkSectionsToRender) without adding complicated and conflict-prone injections there.
 
 
 
 
 
 
 
 
 
 
 
 
 
Events related to living entity RenderLayers.
 
Called when render layers for a living entity renderer are registered.
A delegate object used to help register render layers for an entity renderer.
Represents something that supports sending packets to login channels.
Events for manipulating loot tables.
 
 
 
 
Describes where a loot table has been loaded from.
Provides custom comparator output for minecarts resting on detector rails.
A helpers for registering model layers and providers for the layer's definition.
 
 
To achieve a predictable order for biome modifiers, and to aid with mod compatibility, modifiers need to declare the phase in which they will be applied.
Interface implemented by mod-provided resource packs.
Deprecated.
Additional codecs that can be used by modders.
Deprecated.
Use the constants in Tag instead.
API that exposes the internals of Minecraft's nether biome code.
Provides methods for registering oxidizable and waxable blocks.
Represents the resource pack activation type.
This class allow to easily pass context between multiple packet listeners and packet serialization.
 
 
This interface is used as a way to retrieve PacketContext from Connection and PacketListeners.
Represents something that supports sending packets to channels.
A registry for custom ParticleGroups.
Registry for adding particle providers on the client for particle types created using FabricParticleTypes (or otherwise).
A pending particle provider.
Events related to particle rendering.
 
A registry for payload types.
Allows registering picture-in-picture renderers, used to render custom gui elements beyond the methods available in GuiGraphics.
 
A factory to create a new PictureInPictureRenderer instance.
Contains server side events triggered by block breaking.
 
 
 
A Storage<ItemVariant> implementation for a Inventory.
Helper methods to lookup players in a server.
Contains events triggered by server players requesting to pick items from the level.
 
 
This class provides utilities to create a PoiType.
Since Minecraft 1.21.2, vanilla no longer syncs all recipes to the client automatically, opting into sending only required recipe book data.
 
 
An event for when an entry is added to a registry.
The remapping process functions as follows: RegistryEntryRemovedCallbacks are called to remove any objects culled in the process, with the old numeric ID.
 
Extensions that allow BlockEntity subclasses to provide render data.
 
A unique key representing extra data to attach to a render state.
An immutable object storing both a resource and an amount, provided for convenience.
A resource condition.
Contains default resource conditions and the condition registry.
A type of resource conditions.
Provides various hooks into the resource loader.
Deprecated.
Deprecated.
This class contains default keys for various Minecraft reload listener.
Keys for various client reload listeners.
Keys for various server reload listeners.
Deprecated.
Holds events related to Screens.
 
 
 
 
 
 
 
 
Events related to use of the keyboard in a Screen.
 
 
 
 
 
 
Events related to use of the mouse in a Screen.
 
 
 
 
 
 
 
 
 
 
 
 
Utility methods related to screens.
 
 
 
Offers access to events related to the indication of a connected server's ability to receive packets in certain channels.
 
 
Offers access to events related to the indication of a connected server's ability to receive packets in certain channels.
 
 
 
 
 
 
 
Offers access to events related to the connection to a client on a logical server while a client is configuring.
 
 
Offers access to configuration stage server-side networking functionalities.
A packet handler utilizing CustomPacketPayload.
 
Events related to entities in combat.
 
 
 
 
 
Events related to an entity being moved to another level.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Various server-side only events related to living entities.
 
 
 
 
 
Offers access to events related to the connection to a client on a logical server while a client is logging in.
 
 
 
Offers access to login stage server-side networking functionalities.
 
Allows blocking client log-in until all futures passed into ServerLoginNetworking.LoginSynchronizer.waitFor(Future) are completed.
A class for registering a ChatDecorator.
Contains server-side events triggered when broadcasting messages.
 
 
 
 
 
 
Events related to status effects in mobs.
 
 
 
 
 
 
Offers access to events related to the connection to a client on a logical server while a client is in game.
 
 
 
 
 
Deprecated.
Use the more general ServerLivingEntityEvents.ALLOW_DEATH event instead and check for instanceof ServerPlayer.
 
 
 
Offers access to play stage server-side networking functionalities.
 
A thread-safe packet handler utilizing CustomPacketPayload.
Contains events that are triggered on the server every tick.
 
 
 
 
Optional helper class that can be implemented on block entities that wish to provide a sided fluid storage and/or a sided item storage without having to register a provider for each block entity type.
Extend this class and implement LootTableSubProvider.generate(BiConsumer).
A simple fluid render handler that uses and loads sprites given by their identifiers.
A variant of SimplePreparableReloadListener which passes the shared state instead of the resource manager in its methods.
Deprecated.
Deprecated.
Use ResourceManagerReloadListener directly.
A storage that can store a single fluid variant at any given time.
A storage that can store a single item variant at any given time.
A storage that is also its only storage view.
An item variant storage backed by an ItemStack.
Base implementation of a fixed-capacity "continuous" storage for item-provided storage APIs.
A storage that can store a single transfer variant at any given time.
A Storage implementation made of indexed slots.
A base participant implementation that modifies itself during transactions, saving snapshots of its state in objects of type T in case it needs to revert to a previous state.
Provides functionality for building entries that go into a sounds.json file.
Builder for creating a weighted sound event registration that can be played for a particular sound type.
Represents the type of weighted sound event registration.
A registry for custom SpriteSources.
Define the vertical space occupied by HUD elements, known as status bars, which are positioned on the left and right sides above the player's hotbar.
An object that can store resources.
Preconditions that can be used when working with storages.
Helper functions to work with Storages.
A view of a single stored resource in a Storage, for use with Storage.iterator().
A registry for axe stripping interactions.
 
This class provides access to synchronized recipes on the client.
A Helper class for checking whether a TagKey contains some entry.
Context for a client gametest containing various helpful functions while a client level is open.
Context for a client gametest containing various helpful functions while an in-process dedicated server is running.
The client gametest input handler used to simulate inputs to the client.
Base class for screenshot customization options common to taking screenshots and comparing them.
An algorithm for finding a template subimage (the "needle") in a screenshot (the "haystack").
A thin wrapper around a raw image data array, so that algorithms can directly access the array which may be more efficient than going through a NativeImage each time.
Options for comparing screenshots.
Options to customize a screenshot.
Context for a connection to a dedicated server containing various helpful functions while the connection is alive.
Context for a client gametest containing various helpful functions while a server (integrated or dedicated) is running.
Context for a client gametest containing various helpful functions while a singleplayer game is open.
A builder used for creating singleplayer worlds and dedicated servers.
A handle for a singleplayer world save.
API that exposes some internals of the minecraft default biome source for The End.
A registry for hoe tilling interactions.
A global operation where participants guarantee atomicity: either the whole operation succeeds, or it is completely aborted and rolled back.
 
A subset of a Transaction that lets participants properly take part in transactions, manage their state, or open nested transactions, but does not allow them to close the transaction they are passed.
A callback that is invoked when a transaction is closed.
A callback that is invoked after the outer transaction is closed.
The result of a transaction operation.
An immutable association of an immutable object instance (for example Item or Fluid) and data components.
A model that copies transforms from a source model to a delegate model.
Represents a boolean value which can be true, false or refer to a default value.
Callback for right-clicking ("using") a block.
Callback for right-clicking ("using") an entity.
Callback for right-clicking ("using") an item.
A hud element that has an identifier attached for use in HudElementRegistry.
Provides a method for registering vibration frequencies.
Registries for modifying villager interactions that villagers have with the world.
This class allows easy creation of WoodTypes.