* Add registry for core shaders in custom namespaces
* Apply suggestions from code review
Co-authored-by: modmuss50 <modmuss50@gmail.com>
* Use Identifier.NAMESPACE_SEPARATOR instead of ":"
* Remove fabric_ prefixes from mixins
* Move test rendering to lower-right corner for test screenshots
---------
Co-authored-by: modmuss50 <modmuss50@gmail.com>
(cherry picked from commit ad177755a6)
* Deprecate some conventional tool tags added to vanilla
For backwards compatibility, the old tag IDs are added to the vanilla ones. The exposed keys are redirected to their replacements.
Also optionally adds Cherry Grove biome to `c:in_overworld`.
* Keep the convention tags, just deprecated
* You saw nothing
* Apply disabled shade from vanilla quads directly to material
- Remove QuadViewImpl.shade
* Fix enhanced AO calculation and respect non-terrain culling state
- Fix AoCalculator using AO face data computed with a potentially different shade state
- Move non-cached computation code to separate method in AoCalculator
- Turn AoCalculator's brightnessFunc and aoFunc into abstract methods
- Do not check null check world in non-terrain AO calculation since it cannot be null
- Pass through lightFace and shade state as method arguments in AoCalculator methods to prevent additional lookups
- Do not check for the axis aligned flag in AbstractQuadRenderer.shadeFlatQuad
- Respect cull parameter passed to non-terrain rendering by merging TerrainBlockRenderInfo into BlockRenderInfo
- Use reusable search pos when calling Block.shouldDrawSide to prevent additional BlockPos allocation
- Change BlockRenderContext.render and TerrainRenderContext.tessellateBlock to return void since return value is no longer used
- Remove QuadViewImpl.vertexStart since it is unused
* Add suggestions
- Mark Direction parameter to BlockRenderInfo.shouldDrawFace as Nullable
- Reuse MaterialFinder in FrameBakedModel
(cherry picked from commit 3a95925af4)
* BlockSetTypeRegistry and WoodTypeRegistry
Adds `BlockSetTypeRegistry` for creating `BlockSetType`s using Identifiers.
Also adds `WoodTypeRegistry` to replace `SignTypeRegistry`, matching the new more accurate Yarn name. The old `SignTypeRegistry` remains as deprecated for compatibility.
Also updates Yarn build.
* Delete SignTypeRegistry.java
Broke in the update anyway, no use keeping it
* Suggestions
* Whoops
* Suggestions
* Add github action to check that all resources are generated.
* Test
* Revert "Test"
This reverts commit 8e187bc781.
(cherry picked from commit 40dc7a94f6)
* Fix the issue that cannot load world after uninstalling a dimension mod/datapack, by making deserialization fail-soft, instead of removing non-vanilla dimensions.
* Fix style.
* Fix license.
* Small changes to FailSoftMapCodec.
* Make FailSoftMapCodec final.
* Revert "Make FailSoftMapCodec final."
This reverts commit 0c0642a1c4.
* Use ModifyVariable and change comments.
* Remove unnecessary `equals`
(cherry picked from commit 00a2eb1095)
* Fabric custom ingredient API
* More Ingredient API work
* Optimize shapeless matching logic
* Fix all the things
* Move custom ingredient network serialization to account for ingredient extension API
* Apply suggestions from code review
Co-authored-by: apple502j <33279053+apple502j@users.noreply.github.com>
* Address 🍎 review
* Get rid of the @Overwrite
* Implement graceful fallback for clients not supporting some custom ingredients
* Move custom ingredient code to new Recipe API module
* Fix client package change
* Address review comments
- And/Or -> All/Any
- Move builtin ingredient registration to entrypoint
- Initial protocol version is 1
- Misc other changes
* Add testing instructions
* Use a List for `getMatchingStacks`
* Overengineer ingredient query a bit
Co-authored-by: apple502j <33279053+apple502j@users.noreply.github.com>
Co-authored-by: modmuss50 <modmuss50@gmail.com>