* allow data-attachment on ProtoChunks
- moved interfaceInjection from WorldChunk to Chunk
- dataAttachment saving on ProtoChunks in ChunkSerializer
- copy attachment from ProtoChunk to WorldChunk on creation.
- make WrapperProtoChunk wrap attachment calls to WorldChunk
* add test for data-attachment on ProtoChunks, and extend testmod.
* code style and license headers
* fix typos in javadoc
* extend testmod to test setting attachment during worldgen.
* code formatting
* fix testmod: don't crash when feature isn't placed (i.e. on GameTest server)
* add warning when adding persistent attachment to chunk with status EMPTY.
* update javadoc
* update javadoc to reference ServerLivingEntityEvents#MOB_CONVERSION
Backport persistent state code
* Fix registry resource conditions on loot tables.
* assert we dont already have the DRM set on this thread.
* Use a sync map
(cherry picked from commit de5c6cca0a)
(cherry picked from commit 239dafd8f9)
Fixes FabricBlockSettings' copyOf method missing several new settings introduced as a result of the removal of Materials.
Specifically, burnable, liquid, forceNotSolid, forceSolid, pistonBehavior, instrument, and replaceable. These are all copied by the vanilla `BlockSettings.copy` as well.
The emissiveLightingPredicate is also now copied in vanilla, so I moved the copy of that to reflect that change.
(cherry picked from commit 2ff98d3bac)
* Fix inconsistency of placed feature locations
`BiomeSource#getBiomes` mixin applies to all biome sources, including one for Overworld.
The return value is a set; however one caller in the worldgen code iterates over it: `PlacedFeatureIndexer`.
Using a hash set here randomizes the return value, affecting feature placement.
Use a linked hash set instead.
* Improve fix to only make changes when required.
---------
Co-authored-by: modmuss50 <modmuss50@gmail.com>
(cherry picked from commit 661cc8c6dc)
* Add cull check and item transformation mode getter to FRAPI
* Terminally deprecate `fallbackConsumer` and `bakedModelConsumer`
* Fix uvs in octagonal column test mod
* Review comments
* Add JsonKeySortOrderCallback
* Use an entry point rather than an event for sort keys and priorities
* Resolve static imports
* Add a bit of javadoc
* Check if a key is null and modify the javadoc
* Add a field reference in the javadoc
* Rename JsonKeySortOrderAdder to JsonKeySortOrderCallback
* Improve flat shade
- Use AO mode to make flat shade calculation consistent with shade applied by smooth lighting
- Use face normal to calculate shade if necessary
- Use normal shade even if no custom normals are set
* Improve FRAPI test mod
- Add octagonal column to test irregular face lighting
- Use obsidian sprite instead of missing sprite for frame mesh
- Simplify and organize registration
- Inline `simple` package
* Fix crumbling on 45 degree faces
- Fix checkstyle
- Give octagonal column a non-zero hardness
* Fix checkstyle
* Improve PillarBakedModel to fully support custom block appearance
* Explain OverlayVertexConsumer fix
* Fix datagen for custom dynamic registry
* Test datagen for custom dynamic registry
* Check if the dynamic registry is registered with Fabric API
* Cleanup testmod
* Don't apply to registries not added using the fabric api.
---------
Co-authored-by: modmuss50 <modmuss50@gmail.com>
* Clarify nullability of AfterBake modifier
* Fix documentation
Null baked models are cached, but only in the inner cache, which is not accessible after all baking is finished. The term "cache" is also ambiguous, so its use has been removed.
* Add breaks for v0 <0.4.0