Setup
Basics
- Conventions and Terminology
- Registries
- Development Tools
This series of tutorials is meant to explain how the Fabric Transfer API works, and how you can use it for your own mods.
Please make sure that you read all of these tutorials in order, even if you are only interested by item or energy transfer.
For any question, please go to the #transfer-api-debating
channel on the official Fabric Discord server.
All Transfer API classes are marked as @ApiStatus.Experimental
. This is temporary, and it means that there may be occasional breaking changes if a design flaw is encountered in the API, but we will try not to break the API to avoid disrupting the large amount of mods that are using it already. In practice, this means that you can mostly ignore this warning, and disable it in your IDE if it's too annoying.
The Fabric Fluid Transfer API is how fluid-containing blocks such as machines, pipes, and tanks communicate with each other. It's what allows all mods to be compatible with each other as far as fluid transfer is concerned. (If you are coming from Forge, it serves a purpose similar to IFluidHandler
).
FluidVariant
is.Storage<FluidVariant>
is and how to use it.
The Fabric Item Transfer API is used by item-containing blocks such as chests, machines, or storage drawers to communicate with other. (If you are coming from Forge, it serves a purpose similar to IItemHandler
).
Note: the existing item transfer API in Minecraft should be avoided in fabric mods due to its severe limitations. If you don't know what this means, you can ignore this warning.