* Fix AO calculation
- Ensure calcFastVanilla and computeFace have parity with vanilla
- Ensure BlockStates are not queried more than once for the same position
- Replace deprecated FabricLoader#getConfigDirectory call with FabricLoader#getConfigDir
* Revert opaque sides fix
* More AO fixes and optimizations
The bitwise comparison is doing the opposite of what we want. It's currently checking for the *absence* of the BAKE_NORMALIZED flag. And if the flag is absent, it is normalizing. This should do the opposite.
* Load mod-provided data packs and DRM entries (backport of #2261)
* Port biome testmod changes
* Fix Biome API bugs (backport of #2282)
* Re-run tests
* Add VillagerFoodRegistry
* Fix style
* Add VillagerCompostingRegistry and separate CollectablesRegistry from FoodRegistry
* Add VillagerPlantableRegistry
* Add warning when registering a non-compostable item as a villager compostable
* Rename some registries, use block placement sound
* Add VillagerHeroGiftRegistry
* Add javadoc
* Combined all registries into one API class
* Remove now redundant class
* Change registries to a static method
* Combine into VillagerInteractionRegistries class
* Fix typo
* Move ImmutableCollectionUtils to impl
* Add isEmpty check to plantables, prefix mixin methods with fabric_
* VillagerPlantableRegistry Rework
* Remove dangling comment
* notNulls, included vanilla items in plantable registry, checkstyle fix
* Add SyncDataPackContents and TagsLoaded lifecycle events
* tagsLoaded -> onTagsLoaded, isClient -> client
* Compile error in testmod
* Make SyncDataPackContents fire for every player
* syncDataPackContents -> onSyncDataPackContents
* Include datagen in the production fatjar. Closes#2228
* Allow exclusion of block loot tables from strict validation. Closes#2241
* Auto-generate item models even when strict validation is disabled. Fixes#2240
* Fix errors causing disconnects during server connection not showing up in the disconnect message
* Replace unnecessary inject with the throwable provided in the redirect
* 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
* Fix missing some chunk unloads events leading to a possible memory leak. (#1820)
* Update fix for 1.18.2. Fixes#2206
Co-authored-by: modmuss50 <modmuss50@gmail.com>
* Make `crash-report-info` print mods in a tree form
* Bump required loader version
* Add mods to a list and sort instead of using a TreeSet
* Remove the `:` between id and version and change style in loop