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 Transfer API relies heavily on the concept of transactions.
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.