Commit graph

113 commits

Author SHA1 Message Date
Jonathan Coates
a5d5299dfb
Registry resource conditions (#3752)
* Add resource conditions to dynamic registries

* Support conditions in FabricDynamicRegistryProvider

 - Add matching overloads for all add(...) methods which take a varargs
   list of ResourceConditions.

 - Add an additional overload for registering RegistryEntry.References
   directly. This makes it a little easier to register directly from a
   RegistryBuilder.

* Throw error if we cannot add resource conditions

* Rename EntryWithConditions to ConditionalEntry
2024-05-20 09:33:22 +01:00
Jonathan Coates
ad4744939b
Support extending dynamic registries in datagen (#3744)
- Add all dynamic registries to the initial registry.
 - Expose a getter for the registry future.
 - Register cloners for all dynamic registries.
2024-05-07 19:04:02 +01:00
TelepathicGrunt
70fd1b462f
Default English Translations for c namespaced tags (#3716)
* Created tag translation datagen

* generate lang file

* Add fruit translation

* renamed interface injection

* Adjust missing translation message

* Fixed for checkStyle

* More checkstyle fighting...

* Bump version of modules.

* Oops wrong module got bumped

* moving and renaming files

* adjust enum class naming

* rename enum and move package

* Renamed one more enum

* Undo version bump. Will be handled at release

* Some suggestions implemented

* Added crowdin entry

* Update crowdin.yml

Co-authored-by: modmuss <modmuss50@gmail.com>

* Cleanup enum checking

* spotless fixes

* Added buckets and powder snow bucket tag translation

* Some more suggested changes

* setup ConventionLogWarnings to match ConventionLogWarningsClient setup

* Change property to be usable in prod

* Set short as default property

* Remove unused import

* Fixed copy/paste error

* fixed ingot translations

* lang and method name fixes

* Fixed filepath issue

* Fixed redstone name

* fixed javadoc whitespace

* Move translation warning to server

* Move translation class to better file path

* trying to pass the regex

* put it under impl

* Cleanup translation check

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

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

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

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

* Update fabric-convention-tags-v2/src/main/java/net/fabricmc/fabric/api/tag/FabricTagKey.java

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

* Update fabric-convention-tags-v2/src/main/java/net/fabricmc/fabric/api/tag/FabricTagKey.java

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

---------

Co-authored-by: modmuss <modmuss50@gmail.com>
Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com>
2024-05-07 19:03:18 +01:00
TelepathicGrunt
7f945d5bb6
Refactor convention tags (#3310) 2024-04-16 18:01:57 +01:00
apple502j
3b6dc5deb2
[1.20.5] Codec-based Resource Conditions and refactors (#3690)
* Initial move to codec-based resource conditions

* Move default condition types to DefaultResourceConditionTypes

* Move built-in condition types to impl

* Run spotlessApply

* Move default condition registration to entrypoint in imp

* Formatting fixes

* Add back package-info.java

* Make it compatible with new DFU

* checkstyle

* Refactor FeaturesEnabledResourceCondition

* Pass RegistryWrapper and reduce reliance on statics

* Some more improvements

* Add back some tests

* Add more tests

* Add back tags_populated support, clean up code

* Some more improvements

* add javadocs (wip)

* Fix unfixed merge conflict

* Javadocs

* Fix null condition in addConditions

* Allow empty arrays in certain codecs

* Move addConditions to datagen impl

* Address reviews

* add debug log

* Store features in normal static field

* Fix TagsPopulatedResourceCondition#getType

---------

Co-authored-by: Apollo <102649729+Apollounknowndev@users.noreply.github.com>
2024-04-10 15:40:15 +01:00
apple502j
97f703da44
Improve data attachment port (#3678)
* Bump yarn

* Apply yarn update

* Fix porting of Data Attachment block entity support

* Fix FrameBlockEntity testmod
2024-04-03 15:39:47 +01:00
modmuss
b21c00cb44
24w13a (#3676)
Fixes https://github.com/FabricMC/fabric/issues/3669

Co-authored-by: Drex <nicknamedrex@gmail.com>
2024-03-27 19:26:14 +00:00
apple502j
9b3069f652
Fully port to 24w12a (#3664)
* Bump yarn

* Apply yarn update

* Sync map decorations type registry

* Remove Mining Level API

* Port loot API

* whoops

* Rename LootManagerMixin

* Fix javadoc

* Fix registerGiftLootTable

* RegistryKey is traditionally compared using identity

* Fix wrong loot source being used
2024-03-27 16:47:29 +00:00
modmuss
e9d2a72b4f
24w12a (#3658)
# Removed
- FabricItemStack.isSuitableFor (replaced with vanilla component)
- FabricItemStack.getFoodComponent (replaced with vanilla component)
- ResourceReloadListenerKeys.LOOT_TABLES
- fabric-resource-conditions-api-v1 support for loot tables

# Disabled modules
- fabric-loot-api-v2
- fabric-mining-level-api-v1
2024-03-20 19:08:34 +00:00
apple502j
42c290b4ca
24w10a porting fixes (#3638)
* Rename mixin using unmapped name

* Fix potential crash in item API testmod

* Improve custom ingredient javadoc

* More javadoc improvements

* Add more tests

* whoops

* Fix typos

* Remove test for strict NBT matching

* another whoopsie

* Finish NBT -> components changes

Breaking change: `FabricItem#allowNbtUpdateAnimation` was renamed to
`allowComponentsUpdateAnimation`.

* Fix broken javadoc links

* Fix broken screen handler testmod
2024-03-12 09:22:55 +00:00
modmuss50
031f0cf067 24w10a 2024-03-06 16:40:52 +00:00
maityyy
fc9addbd3c
Fix loot table provider not working after 24w09a port (#3630) 2024-03-04 09:43:50 +00:00
modmuss
1172e89799
24w09a (#3623)
* In game

* More fixes

* Small fixes + changes

* Rename

* Fix test
2024-02-29 19:16:35 +00:00
modmuss50
548b1e1b9e 24w07a 2024-02-14 19:17:38 +00:00
modmuss50
54b4400cee 24w06a 2024-02-07 19:01:58 +00:00
apple502j
04ac8cf319
Improve 24w05a port (#3565)
* Fix wrong ops being used in AttachmentSerializingImpl

* Remove unused private method

* Require and use registry future in advancements and loot tables
2024-02-05 11:30:14 +00:00
modmuss
03be9f1df2
Port to 24w05a (#3560)
Co-authored-by: Drex <nicknamedrex@gmail.com>
2024-01-31 20:24:57 +00:00
ErrorCraft
b6679678d4 Allow FabricCodecDataProvider to access dynamic registries (#3522)
* Add CompletableFuture to FabricCodecDataProvider

* Deprecate the old method and constructor, and fix the style

* Fix the style for real this time

* Add exceptions to the configure methods

* Apply suggestions from code review

---------

Co-authored-by: modmuss <modmuss50@gmail.com>

(cherry picked from commit 5c013344f0)
2024-01-28 13:03:05 +00:00
modmuss50
80f8cf516f Update Fabric Loader 2024-01-17 17:15:38 +00:00
modmuss
3434862fbd
Port to 23w51b (#3474)
Breaking changes:

- `FabricBrewingRecipeRegistry.registerPotionRecipe` takes `RegistryEntry<Potion>` instead of `Potion`
- `SculkSensorFrequencyRegistry.regster` takes `RegistryKey<GameEvent>` instead of `GameEvent`
- `FabricLanguageProvider.add` takes `RegistryEntry<EntityAttribute>` instead of `EntityAttribute`
- `FabricTagProvider.GameEventTagProvider` was removed replace with `FabricTagProvider<GameEvent>`
- `FabricItem.getAttributeModifiers` returns a Multimap with a key of `RegistryEntry<EntityAttribute>` instead of `EntityAttribute`
- `ModifyItemAttributeModifiersCallback.modifyAttributeModifiers` takes Multimap with a key of `RegistryEntry<EntityAttribute>` instead of `EntityAttribute`
2023-12-18 18:47:42 +00:00
modmuss
78d798af9d
Update to loader 0.15 (#3451) 2023-12-08 15:19:17 +00:00
modmuss50
1b2a41bc96 1.20.3-pre2 2023-11-22 15:24:46 +00:00
modmuss50
6f7ba8f277 23w46a 2023-11-16 17:01:20 +00:00
modmuss50
23e8616e74 23w45a 2023-11-08 16:26:36 +00:00
modmuss50
f31bf881a9 23w44a 2023-11-01 17:00:09 +00:00
modmuss50
3b908f6ae4 23w43a 2023-10-25 16:48:41 +01:00
modmuss
9468a19de0
Configure spotless for imports, sort imports. (#3365)
* Configure spotless to also do imports. Allows for auto applying.

* Order imports
2023-10-22 13:35:58 +01:00
modmuss
ebb15496af Make some experimental APIs stable. (#3354)
* Make some experimental APIs stable.

* Imports.

(cherry picked from commit e3d2bf3f57)
2023-10-08 13:03:18 +01:00
Technici4n
d19c412984
Fix bad interaction between FabricDynamicRegistryProvider and modded dynamic registries (#3353)
* Add reproduction test

* Fix the issue
2023-10-01 12:37:41 +01:00
alexia
7468709af5 Update link to Minecraft Wiki (#3336)
Minecraft Wiki has officially moved from Fandom to their own wiki. I updated a link I found in a comment.

(cherry picked from commit 68c3a29b6b)
2023-10-01 12:35:36 +01:00
ErrorCraft
bbae80faea Add a method to data generator entrypoints to register custom keys with priorities (#3087)
* 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

(cherry picked from commit 0883a8d4d9)
2023-09-18 16:13:49 +01:00
modmuss50
435112151c 1.20.2-pre1 2023-09-05 16:31:02 +01:00
modmuss
fce67b32cf
23w35a (#3292) 2023-08-31 12:50:38 +01:00
modmuss50
f091af96c5 23w33a 2023-08-17 16:51:04 +01:00
modmuss50
0ba8e9ce03 23w32a 2023-08-09 18:04:04 +01:00
modmuss
86b12645b9
23w31a 2023-08-07 09:09:38 +01:00
apple502j
1e61dba1a0
Fix data generation for custom dynamic registry (#3216)
* 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>
2023-07-25 14:21:33 +01:00
Shnupbups
6c31357e16
Some more TAWs for block creation and block loot tables (#3201)
* Some more TAWs

Added some TAWs for various methods in `Blocks` used to create certain types of blocks that mods may want to also create. Using these methods will allow them to ensure they have all the right block settings they need to stay consistent with vanilla blocks that use the same methods.

* Add some fields from BlockLootTableGenerator

useful fields from BlockLootTableGenerator. also cleaned up the datagen api's accesswidener file
2023-07-18 12:54:51 +01:00
Juuz
2e061fd481
Add dynamic registry API (#3163)
* Add API for adding custom dynamic registries

Closes #1012, supersedes #1031 and #2719.

* Add missing license headers

* Clarify RegistryLoaderMixin namespace injection

* Replace event with static registration, add skeleton for sorting registries

* Fix typo

* Refactor event phase sorting system for use with dynamic registries (#1)

* Make minor changes to Technici4n's PR

* Add test for nested dynamic objects

* Revert "Add test for nested dynamic objects"

This reverts commit 486e3e1ce0.

* Revert "Make minor changes to Technici4n's PR"

This reverts commit 741bd52c1e.

* Revert "Refactor event phase sorting system for use with dynamic registries (#1)"

This reverts commit bb7c8b8790.

* Remove sorting API

* Add support for defaulted dynamic registries

* Re-add test for nested dynamic objects

* Add missing license headers

* Fix typo

* Remove defaulted dynamic registries; flatten registration methods

* Remove last reference to registry sorting

* Add option to skip syncing for empty dynregs

* Update DynamicRegistrySyncOption docs

Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com>

* Address review feedback

* Add registry namespace to tag paths for modded registries

* Move dynamic registry tests into their own class for readibility

* Finish DynamicRegistries doc

* Only apply tag change to dynamic registries

* Fix checkstyle

* Update fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/api/event/registry/DynamicRegistries.java

Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com>

---------

Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com>
2023-07-18 12:53:34 +01:00
Technici4n
01925f0fc2
Fix FabricBlockLootTableProvider breaking depending on the mapping set (#3070)
* Initial fix for FabricBlockLootTableProvider depending on mappings

* Remove internal implementation methods from  interface
2023-05-30 12:58:12 +01:00
modmuss50
ec0bbba5e9 1.20-pre5 2023-05-23 14:58:33 +01:00
modmuss50
0bf4e42290 Fix build 2023-05-16 15:56:23 +01:00
modmuss50
4d8536c91f
Add and test for missing method overrides in FabricBlockSettings (#3056) 2023-05-11 09:25:08 +01:00
modmuss50
03ef495b7f 1.20-pre1 2023-05-10 14:51:08 +01:00
modmuss50
fb8d95dacb Split test mods into client and common. (#3033) 2023-05-01 14:04:29 +01:00
modmuss50
39e100afd5 Fix build failure triggered by loom upgrade. 2023-04-26 18:38:20 +01:00
modmuss50
b3f2574b16 23w17a 2023-04-26 18:18:06 +01:00
Technici4n
81b63fb615 Make custom ingredient types and load conditions appear early in generated JSONs (#3020) 2023-04-23 13:28:37 +01:00
ErrorCraft
8e495dfc0f Add codec data provider (#2979) 2023-04-23 13:28:23 +01:00
modmuss50
eff26386be
23w16a (#3018)
# Breaking changes
- `VillagerPlantableRegistry` replaced with `ItemTags.VILLAGER_PLANTABLE_SEEDS`
- `FabricItemGroup.builder()` no longer takes an `Identifier`
- `FabricItemGroup.build()` no longer registers the ItemGroup, this now needs to go in the vanilla registry.
- `ItemGroupEvents.modifyEntriesEvent` now takes a `RegistryKey<ItemGroup>` in place of an `Identifier`
- `FabricLanguageProvider` now takes a `RegistryKey<ItemGroup>` in place of an `ItemGroup`
- `IdentifiableItemGroup` removed, replaced with vanilla registries.
- `FabricMaterialBuilder` removed, no replacement.
- `HudRenderCallback.onHudRender` now passed a `DrawableHelper` in place of `MatrixStack`
- `ScreenEvents.beforeRender` now passed a `DrawableHelper` in place of `MatrixStack`
- `ScreenEvents.afterRender` now passed a `DrawableHelper` in place of `MatrixStack`
- `Screens.getItemRenderer()` removed. Replace with `MinecraftClient.getItemRenderer()`

`DrawableHelper` is likely to be renamed soon, see: https://github.com/FabricMC/yarn/pull/3548/
2023-04-20 20:03:32 +01:00