Commit graph

62 commits

Author SHA1 Message Date
Juuxel
e747827905
Loot table API v2, iteration 2 (#1241)
* 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
2022-05-31 12:12:10 +01:00
modmuss50
2c7b4abb73 Bump version 2022-05-24 15:19:38 +01:00
modmuss50
e969ec0c46 Bump version 2022-05-23 14:57:29 +01:00
modmuss50
b1dd84b88f Bump version 2022-05-20 19:08:13 +01:00
Technici4n
f4563ac81e
Fix #2164: Transfer API performance issues (#2189)
* Fix #2164: Transfer API performance issue

* Cache ItemStack in ItemVariantImpl

* Fix checkstyle

* Fix #2201

* Update comment in getCachedStack()
2022-05-20 18:17:54 +01:00
modmuss50
1d2d03ecd5 Bump version. 2022-04-19 17:56:15 +01:00
modmuss50
b09aac60bc Bump version. 2022-04-17 20:10:34 +01:00
Deximus-Maximus
bd8a4a1845 Add fabric-convention-tags-v1 (#2063)
* Add framework for common-tags-v1

* Add javadoc to fabric tool tags

* Fix wrong package arrangement

* Add some more tags

* Add more biome tags
Thanks to TelepathicGrunt for the suggestions

* Update fabric-common-tags-api-v1/src/main/java/net/fabricmc/fabric/api/tags/v1/CommonEnchantmentTags.java

Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com>

* Update fabric-common-tags-api-v1/src/main/java/net/fabricmc/fabric/api/tags/v1/CommonEnchantmentTags.java

Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com>

* Clarify enchantment tags

* Add no-shulker tag

* Add minecart tag

* Begin work on datagen and populating tags

* Add bucket tags

* First pass at populating biome tags

* Add boat tag

* Fix missing inclusion of f:shears into c:shears

* Hide fabric tool tags in datagen

* Add weapon damage enhancement tag

* Change impl package name to be inline with rest of fapi

* Rename enchantment tags

* Some cleanup

* Populate blocktag datagen
Remove crops tag

* Add javadoc links to vanilla counterparts

* Move datagen to its own sourceset

* Fix package names for checkstyle

* Populate more entries

* Remove exclusion tag

* Add license headers
Fix checkstyle

* Add missing nether quarts to ores tag

* Use `worldgen/biome` instead of `biomes` for biome tags

Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com>

* Manually include all biomes for overworld

* Remove ancient debris from NetheriteOres

* Add and populate glass tags

* Add and populate movement enhancement

* Break up item tags

* Add armour damage reduction tag

* Add missing ore and related tags

* Fix quartz tags

* Add floral tag

* Add golden carrot

* Correct some biome tag issues

* Separate SNOWY_PLAINS and PLAINS

* Add SNOWY tag and remove snowy biomes from ICY

* Correct enchantment tag
Remove silk touch tag

* Fix more biome issues

* Add deep and shllow ocean tags

* Add no-move tag

* Remove netherite ores

* Add shulker tags

* Add raw ore

* Add dye tags

* Fif dye tags

* Fix typo

* Document some biome tags where the naming may not be clear

* Remove tag mirroring for blocks and items

* Rename module
Remove unused methods

* Rename impl package

* Rename packages and module

* Rename folder

* Rename api classes

* Add generateResources task to cover all resource generation tasks.

* Add generated tags to repo

* Fix ocean tag excluding shallow ocean

* Iterate registry to generate foods tag

* Remove cache, add to gitignore

* Rename generated folder

Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com>
Co-authored-by: modmuss50 <modmuss50@gmail.com>
2022-04-17 19:55:12 +01:00
modmuss50
f79fc1d337 Bump version. 2022-04-10 18:06:09 +01:00
modmuss50
08b1b79b17 Bump versions.
Add `allPatch` to automatically bump patch for all modules, used for buildscript changes that affect all modules.
2022-03-13 14:15:52 +00:00
Juuxel
40c91ec8c3
Create transitive AW module (#2044)
* Add transitive AW module with block constructors

* Add various registries to transitive AW module

* Fix module name in README, add skip flags to class reading

* Add reasons for TAWs, document Block ctor finding algorithm
2022-03-13 13:52:38 +00:00
modmuss50
57ba8ec078 Bump version. 2022-03-05 18:12:17 +00:00
modmuss50
f88a7f1a6a Bump version. 2022-03-03 18:50:18 +00:00
modmuss50
420242637b Update to stable 1.18.2. Remove previously disabled 'fabric-structure-api-v1' module. 2022-03-02 17:07:42 +00:00
modmuss50
e1398a1d4f 1.18.2-rc1
No changes, won't make a release just for this.
2022-02-25 14:37:28 +00:00
modmuss50
4cb9039efe Bump version. 2022-02-24 11:20:18 +00:00
modmuss50
2540745460 1.18.2-pre3
Just mappings.
2022-02-23 16:35:48 +00:00
modmuss50
2873dd5713 1.18.2-pre2 2022-02-21 16:22:21 +00:00
modmuss50
07d00c14ff Bump version. 2022-02-21 12:09:00 +00:00
modmuss50
d1027f7d5e Update mappings. 2022-02-19 17:05:08 +00:00
modmuss50
0052b8d598 Bump versions. 2022-02-19 14:28:37 +00:00
modmuss50
0ef16df861 1.18.2-pre1 2022-02-18 18:27:44 +00:00
modmuss50
de68da5942 Bump versions. 2022-02-16 19:26:41 +00:00
modmuss50
5a05a77ac9 22w07a 2022-02-16 19:24:00 +00:00
modmuss50
55dca1a4f3 Update mappings. 2022-02-16 18:14:59 +00:00
modmuss50
682a9b7c63 Fix crash when remapping registries with unused raw ids. 2022-02-11 18:14:32 +00:00
modmuss50
cd333a0bb8 Bump versions. 2022-02-11 17:07:25 +00:00
modmuss50
d882b91555
Port to 22w06a (#1989)
This snapshot is possibly one of the most impactful for API we have ever had. This PR is an inital port to support 22w06a, stuff will be missing and broken. 

# Removed modules:
- fabric-mining-levels-v0 - Previously deprecated
- fabric-object-builders-v0 - Previously deprecated
- fabric-tag-extensions-v0
- fabric-tool-attribute-api-v1

# Modules with API breaking changes:
- fabric-biome-api-v1
- fabric-content-registries-v0
- fabric-data-generation-api-v1
- fabric-mining-level-api-v1
- fabric-object-builder-api-v1
- fabric-resource-conditions-api-v1
- fabric-structure-api-v1

# Impactful API changes:
### fabric-object-builder-api-v1
- Removed - FabricBlockSettings.breakByHand
- Removed - FabricBlockSettings.breakByTool  - Previously deprecated

# Notable changes

- fabric-registry-sync-v0 moves vanilla's new registry freezing to a later point in time, allowing mods to add to the registry during init.

# Known issues:
- ServerBugfixMixin used to fix https://bugs.mojang.com/browse/MC-195468 has not yet been ported.
2022-02-11 17:02:44 +00:00
modmuss50
b75bffd5ad Bump version. 2022-02-02 18:53:32 +00:00
modmuss50
54e5b2eccb 22w05a
Remove 1.18.1 support.
2022-02-02 18:34:04 +00:00
modmuss50
cbff8a2d52 Bump version 2022-01-30 22:27:12 +00:00
modmuss50
e66b59e98c 22w03a
1.18.1 is also supported with this version.
2022-01-19 19:18:31 +00:00
modmuss50
1f66e6ce26 Bump version 2022-01-17 12:26:41 +00:00
modmuss50
2b04e6acb7 Bump version 2022-01-14 15:39:09 +00:00
Technici4n
12540453db Fabric Resource Conditions (#1656)
* First completed draft

* Update PR, should be close to ready now

* Add fluid/item_tags_populated conditions

* Log processed resource with trace log level

* Use debug instead of trace log level

* Apply suggestions from code review

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>

* Code review suggestions

* writeAdditional -> writeParameters

* Apply suggestions from code review
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>

* CONDITION_ID -> CONDITION_ID_KEY
2022-01-14 15:10:43 +00:00
modmuss50
eb6d303987 Bump version. 2022-01-05 20:14:09 +00:00
modmuss50
46dfd9a1b4 Bump versions. 2022-01-02 19:54:54 +00:00
modmuss50
9481101883 Bump version. 2021-12-22 19:41:11 +00:00
modmuss50
c2214d9892 Update minimum loader version to 0.12.12 and build against 1.18.1.
This is done to help promote people to use a loader version that has full mitigations against the log4j exploits.
2021-12-22 17:22:58 +00:00
modmuss50
3f7d361425 Bump version 2021-12-03 14:51:34 +00:00
modmuss50
7242e9d77d 1.18 2021-12-03 13:49:24 +00:00
modmuss50
3fec4ad922
Fabric Data Generation API (#1824)
* First look at datagen

* First pass on item/block models

* Tags

* Advancements + BlockFamilies

* Loot tables

* Cleanup

* Start on javadocs, and cleanup

* Update for new mappings.

* Added client-side entrypoint and more logging.

* Complete javadoc, add modid filter and misc fixes/cleanup.

* Minor fixes.

* Renames and misc changes.

* Strict validation fixes.

* Apply suggestions from code review

Co-authored-by: Shnupbups <shnupbups@gmail.com>

* Update fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/api/datagen/v1/FabricDataGenerator.java

Co-authored-by: Shnupbups <shnupbups@gmail.com>

* Update fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/api/datagen/v1/FabricDataGenerator.java

Co-authored-by: Shnupbups <shnupbups@gmail.com>

* Review fixes.

* Set generated dir as resources not sources.

Co-authored-by: Sebastian Hartte <shartte@users.noreply.github.com>
Co-authored-by: Shnupbups <shnupbups@gmail.com>
2021-12-03 13:35:29 +00:00
modmuss50
acffa92f18 Bump versions 2021-11-25 16:01:23 +00:00
modmuss50
d154e2c6fb 1.18-rc1 2021-11-25 15:57:15 +00:00
modmuss50
6f53a73db5 Bump versions 2021-11-23 18:54:18 +00:00
modmuss50
7de09f55c6 1.18-pre7 2021-11-23 17:33:00 +00:00
modmuss50
295197a789 1.18-pre6
Just some mappings in the tests, but nice to keep on top of it.
2021-11-22 18:37:29 +00:00
modmuss50
6bc49c5fa7 Bump version 2021-11-19 17:07:43 +00:00
modmuss50
43d295715f 1.18-pre5 2021-11-19 17:07:22 +00:00
modmuss50
7ff56885cc Bump version 2021-11-17 19:25:04 +00:00