* Add metadata information to POMs
* Add name, description, url and issue management
Also update the license name and an url to the fabric website
Pulls name and description from the fabric.mod.json
* Fix imports and make git optional
* Remove commit from maven metadata
The ClientPreAttackCallback will fire every tick when the attack key is pressed, before vanilla attack handling. If the callback returns true, then the vanilla handling (breaking block, attacking entity, swining hand) will be cancelled. For multiple callbacks, if the former callback returns true, the later callback won't execute.
This event does not consider attack cooldown.
* Material inspection
- Add MaterialView to get material properties from RenderMaterial and MaterialFinder
- Add MaterialFinder#copyFrom to copy properties from another MaterialView
- Finish todo in QuadView#toBakedQuad
- Move material impl classes to material package
* Add glint material property
- Allow force enabling or force disabling glint on items
- Force enable glint on horizontal sides of pillar item model in test mod
* Fix imports
* Add documentation
* Do not create invalid materials
- Ensure material bits are valid before creating material
- Assert that default MaterialFinder bits are valid
- Remove ordinal checks in MaterialViewImpl since bits are now guaranteed to be valid
- Set default glint mode to default instead of false
- Remove getter overrides in RenderMaterialImpl
* Add MutableQuadView#copyFrom
- Deprecate QuadView#copyTo
* Add missing nullability annotations
* Add toStrings to Storage, ContainerItemContext and Transaction impls
* StorageUtil: Use crash reports for adding context to errors
* Drop Impl suffix from variant impl toStrings
Since they are the only implementations, it offers no meaningful info for
callers.
* Centralise formatting code, include BE inventory position
* Include amount and resource in all ContainerItemContext.toString impls
* Use crash callables in StorageUtil
* Add crash report to FluidStorageUtil
* Add owning thread to TransactionImpl.toString
* Use thread name in TransactionImpl.toString
The other info clutters the message.
* Fix code style
# 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/