* Improve loot table API
Alternative to #629.
- Deprecates all classes and methods that use outdated Yarn names.
- Adds FabricLootTable and FabricLootTableBuilder to replace
the LootSupplier naming variants.
- Deprecates LootEntryTypeRegistry and LootJsonParser
as their functionality is exposed in vanilla now.
- Adds methods to FabricLootPoolBuilder for working
with collections as builder parameters.
- FabricLootPool and FabricLootTable/Supplier now return immutable lists
instead of modifiable fixed-size ones.
Still WIP: LootTableLoadingCallback uses the deprecated FabricLootSupplier.
Update fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/FabricLootTableBuilder.java
Co-authored-by: i509VCB <i509vcb@gmail.com>
Fix compilation
Create loot table API v2
Move incorrect classes and revert unnecessary change
Add test for replacing loot tables
Document FabricLootPools
builder() -> create()
Add accessor for LootPool.bonusRolls
Add loot pool builder method for bonus rolls
Use Blocks.DIRT.getLootTableId() instead of raw string in v1 loot test mod
Make links in deprecation docs cleaner
Make FabricLootPoolBuilder.copyFrom(pool, true) also copy bonus rolls
...and mention it in the javadoc
Remove copyFrom from v2 builders
It seems like a maintainability mess if Mojang ever decides
to extend loot tables, and the chosen boolean flags are arbitrary.
It also doesn't really have use cases apart from the internal use
in the copyOf methods, and even then users can replicate its functionality
with the other API methods.
Rename 'supplier' to 'table' in LootManagerMixin
Add 'stable' lifecycle to loot-table-api-v2, deprecate v1
Add internal comment for implementors about updates
Cancel all remaining callbacks when a loot table is replaced
Remove unused shadowed logger from LootManagerMixin
Migrate subproject versioning to new system
Start the AW migration
Update test mod
* Use interface injection
* Fix some issues
* Remove outdated bonusRolls test from LootTest
It's a vanilla feature now.
* Create transitive access widener module
* Replace LootTableLoadingCallback with two events
* Use friendlier exception message
* Add resource source tracking
* Add loot table sources
* Add resource pack source for DefaultResourcePack$1 (anon resource)
* Add license header
* Make FabricResource an internal API in resource loader
* Remove my TAW module
* Add loot table-related TAWs
* Run CI
* Fix LootUtil.determineSource giving null values
* Clarify LootUtil comment
* Rename loot-table-api => loot-api + minor comment changes
* Add README
* Fix mixin file name
* Use ImmutableMap.Builder instead of HashMap.computeIfAbsent in loot event impl
* Prefix accessor methods with fabric_ to prevent conflicts with loot v1
* Document mixins
* Document mixins more extensively
* Improve NRMMixin comments
* Change weird wording in FabricResourceImpl
* Minor updates
- Support new built-in mod respack source
- Fix ResourceMixin comment
- Add more docs to LootTableEvents.MODIFY
- Add package-info
* Add license header
* Add custom value denoting module lifecycles.
* Make the module validation work.
My hand has been forced - we must use buildSrc since JsonSlurper is not available in main buildscript.
* Apply task to each project and dont cross projects
* A horrible hack
* Wait what
* It works now.
* Not needed
* Drop unneeded maven repo, cache map lookup
(cherry picked from commit daa38b3d82)
* Add item renderer with model transformation mode, deprecate old one.
This PR simply adds a new interface which supplies the additional `Mode` parameter.
All old renderers are delegated to an implementation of the new renderer, thereby making this PR still backwards compatable with all existing renderers.
(cherry picked from commit 7c9162e99f48c6e3989eec9a46afaa935d65ce30)
* Update fabric-rendering-v1/src/main/java/net/fabricmc/fabric/api/client/rendering/v1/BuiltinItemRendererWithMode.java
Co-authored-by: shartte <shartte@users.noreply.github.com>
* Rename new interfact to `DynamicItemRenderer`, make it an inner class of the registry class.
* Update fabric-rendering-v1/src/main/java/net/fabricmc/fabric/impl/client/rendering/BuiltinItemRendererRegistryImpl.java
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
* Update BuiltinItemRendererRegistryImpl.java
* Update BuiltinItemRendererRegistryImpl.java
* Imports
* Use ItemConvertible for new render method
* Rename new interfact to `DynamicItemRenderer`, make it an inner class of the registry class.
fabric-rendering-v1/src/main/java/net/fabricmc/fabric/api/client/rendering/v1/BuiltinItemRendererRegistry.java
* Move inner class out, fix formatting issue in loot-tables with linux oses
* why was this multilined
* license header lol
* Apply suggestions from code review
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
* Make renderer a nested class again
* putIfAbsent
Co-authored-by: shartte <shartte@users.noreply.github.com>
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
* 19w39a fixes (#387)
* Bump versions
* Breaks: BlockEntityRendererRegistry and EntityRendererRegistry
* Remove broken parts of rendering, bump major version
* Add renderer-registries, replaces broken parts of rendering api
* Slap a band-aid on renderer/Indigo - won't render properly, but runs
* Bump distribution versions, add renderer-registries to main build
* Clean up blockrenderlayer implementation package name
* Fix compilation errors (untested)
* Random fixes
* Various modded rendering fixes
* Restore contract of RenderAttachedBlockView
* Bump versions as needed
* Add API for BlockRenderLayer
* Minor format / name cleanup
Will do a more comprehensive pass as part of separate refactor PR
* Bump versions not handled earlier
* Bump loader/mc bounds for dependent modules
* Update fabric-blockrenderlayer-v1/src/main/java/net/fabricmc/fabric/impl/blockrenderlayer/v1/BlockRenderLayerMapImpl.java
Co-Authored-By: liach <7806504+liach@users.noreply.github.com>
* Update fabric-blockrenderlayer-v1/src/main/java/net/fabricmc/fabric/impl/blockrenderlayer/v1/BlockRenderLayerMapImpl.java
Co-Authored-By: liach <7806504+liach@users.noreply.github.com>
* Minor clean ups
* Improve docs, minor format corrections.
* Update MC dependency
Mostly replaced instances of > with its correct html representation ">"
Changed or removed some bad @link entries, mostly stuff due to overseen code changes
Could not find the referenced class VertexEditor at all, removed these references out of the docs
Some errors still exists due to referenced objects not in the classpath at the time the javadoc is build
Proposal do some gradle magic