fabric/fabric-loot-api-v2
modmuss50 eff26386be
23w16a (#3018)
# Breaking changes
- `VillagerPlantableRegistry` replaced with `ItemTags.VILLAGER_PLANTABLE_SEEDS`
- `FabricItemGroup.builder()` no longer takes an `Identifier`
- `FabricItemGroup.build()` no longer registers the ItemGroup, this now needs to go in the vanilla registry.
- `ItemGroupEvents.modifyEntriesEvent` now takes a `RegistryKey<ItemGroup>` in place of an `Identifier`
- `FabricLanguageProvider` now takes a `RegistryKey<ItemGroup>` in place of an `ItemGroup`
- `IdentifiableItemGroup` removed, replaced with vanilla registries.
- `FabricMaterialBuilder` removed, no replacement.
- `HudRenderCallback.onHudRender` now passed a `DrawableHelper` in place of `MatrixStack`
- `ScreenEvents.beforeRender` now passed a `DrawableHelper` in place of `MatrixStack`
- `ScreenEvents.afterRender` now passed a `DrawableHelper` in place of `MatrixStack`
- `Screens.getItemRenderer()` removed. Replace with `MinecraftClient.getItemRenderer()`

`DrawableHelper` is likely to be renamed soon, see: https://github.com/FabricMC/yarn/pull/3548/
2023-04-20 20:03:32 +01:00
..
src 23w16a (#3018) 2023-04-20 20:03:32 +01:00
build.gradle Loot table API v2 2022-05-31 13:09:54 +01:00
README.md Loot table API v2 2022-05-31 13:09:54 +01:00

Fabric Loot API (v2)

This module includes APIs for modifying and creating loot tables.

Loot table events

This class provides two events for modifying loot tables.

LootTableEvents.REPLACE runs first and lets you replace loot tables completely.

LootTableEvents.MODIFY runs after and lets you modify loot tables, including the ones created in REPLACE, by adding new loot pools or loot functions to them.

Loot table sources

Both events have access to a loot table source that you can use to check where a loot table is loaded from.

For example, you can use this to check if a loot table is from a user data pack and not modify the user-provided data in your event.

Enhanced loot table and loot pool builders

LootTable.Builder and LootPool.Builder implement injected interfaces (FabricLootTableBuilder and FabricLootPoolBuilder) which have additional methods for dealing with already-built objects and collections of objects.

Those interfaces also have copyOf methods for creating copies of existing loot tables/pools as builders.