Commit graph

36 commits

Author SHA1 Message Date
modmuss
6573ed8ccc
24w21b (#3789)
Co-authored-by: Drex <nicknamedrex@gmail.com>
Co-authored-by: embeddedt <42941056+embeddedt@users.noreply.github.com>
2024-05-23 10:20:54 +01:00
Jonathan Coates
7081616045 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

(cherry picked from commit a5d5299dfb)
2024-05-20 09:33:44 +01:00
modmuss50
5e47b9cbbd 24w19b 2024-05-10 16:33:03 +01:00
Apollo
690fe0d575 Support loading a single resource condition instead of array (#3749)
* Support loading a single condition instead of array

* Remove extra space

* Use LIST_CODEC field instead of CODEC.listOf()

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

---------

Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
(cherry picked from commit 83154f1bcb)
2024-05-07 19:06:57 +01:00
modmuss
0af3f5a702
24w18a (#3757)
Co-authored-by: Drex <nicknamedrex@gmail.com>
2024-05-04 14:28:29 +01:00
modmuss
74e2f560d5
1.20.5-pre1 (#3700)
* 1.20.5-pre1

* BrewingRecipeRegistryBuilderCallback

* Remove debug line

* Fix build

* Bump version
2024-04-10 19:02:33 +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
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
modmuss
1172e89799
24w09a (#3623)
* In game

* More fixes

* Small fixes + changes

* Rename

* Fix test
2024-02-29 19:16:35 +00:00
modmuss
03be9f1df2
Port to 24w05a (#3560)
Co-authored-by: Drex <nicknamedrex@gmail.com>
2024-01-31 20:24:57 +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
modmuss
de5c6cca0a
Fix registry resource conditions on loot tables. (#3432)
* Fix registry resource conditions on loot tables.

* assert we dont already have the DRM set on this thread.

* Use a sync map
2023-11-26 13:00:48 +00: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
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
modmuss
f4b7e42468
Update to loom 1.3 and use Mod Publish Plugin (#3158)
* Update to loom 1.3

* Fix more 1.3 deprecations

* Opps

* Move to mod publish plugin

* Revert some changes

* Fix some more Gradle deprecations

* Fix names

* Remove extra stuff

* Cleanup
2023-08-02 18:51:21 +01:00
apple502j
ea08f9d850
Fix resource conditions for loot tables (#3117)
* Add test for LootManager

* Fix resource conditions for loot tables
2023-06-13 12:43:12 +01:00
modmuss
b3afc78b68
Setup unit tests & format gradle files. (#3073) 2023-05-30 13:07:11 +01:00
Technici4n
e6c7d4eea9 Resource Conditions Additions (#2821)
* Resource Conditions Additions

- Add `registry_contains` condition. Closes #2548.
- Make `fabric:load_conditions` appear first in generated JSON objects.
- Uniformize implementation a bit.

* Update fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/DataProviderMixin.java

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

* itemsLoaded -> itemsRegistered

---------

Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
(cherry picked from commit e63306e015)
2023-02-13 09:33:49 +00:00
Technici4n
1134c5b850
Remove leftover @ApiStatus.Internal annotations and add annotation validation (#2825)
* Remove leftover `@ApiStatus.Internal` annotations and add annotation validation

* Simplify

* Simplify more

* Update gradle/validate-annotations.gradle

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

Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
2023-01-05 12:50:15 +00:00
apple502j
280be3abc9
Resource Conditions: add feature_enabled (#2658)
* Resource Conditions: add feature_enabled

* Fix impl

* Some refactors

* Address reviews

* Update testmod

* Fix checkstyle

* Move javadoc

* Sort identifiers
2022-11-26 20:00:49 +00:00
modmuss50
49abcf7e64 Update mappings 2022-11-16 16:12:51 +00:00
modmuss50
f84bf2d968
22w45a (#2647) 2022-11-10 16:07:38 +00:00
apple502j
aae9039dc3
Resource conditions: support all tags (#2564)
* Resource conditions: support all tags

* Minor improvements; deprecate old methods

* Fix build?

* Add more tests, throw on null condition

* Add more javadoc

* Javadoc fixes
2022-10-16 15:10:20 +01:00
Technici4n
a29562c81b
Fix @SafeVarargs warnings in Resource Conditions and ColorProviderRegistry (#2547) 2022-09-25 14:47:00 +01:00
modmuss50
e62f51a37f 1.19-rc1
Only mapping updates.
2022-06-02 15:41:09 +01:00
modmuss50
9ff28f4026
Split client only code into its own sourceset. (#2179)
A common source of crashes on modded Minecraft servers comes from modders accidently calling client only code from the client, this PR is another large step towards elimitating that.

This PR has been months in the making and years in the planning, requiring major changes to Loom & Loader. In recent Minecraft versions Mojang has made it easier than ever to cleanly split the jar, going against the status-quo of merging the client and server into one jar.

From the start we have designed Fabric to have a very clear split between client and common (client & server) code. Fabric has always encoraged keeping client only code seprate from the server, this can be seen at a fundamental level with the entrypoints in Loader. Fabric API's have all been designed with this mind.

This PR provides a compile safety net around Fabric API using client only code on the server. Even though there are almost 400 changed files, minimal changes beyond moving the files were required to achieve this in Fabric API, thanks to the effort of all contributors in the past.

These changes should not affect modders or players in anyway, a single "universal" jar is still produced. Im happy to awnswer any questions.
2022-05-21 16:26:46 +01:00
modmuss50
55e82473ab 22w19a 2022-05-12 21:58:35 +01:00
Technici4n
91b7aa665b
Fix tags_populated resource conditions in 1.18.2 (#2099)
* Fix tags_populated resource conditions

* move gametest entrypoint further up before resource manager getting loaded

* Add maxShiftBy

Co-authored-by: deirn <deirn@bai.lol>
Co-authored-by: modmuss50 <modmuss50@gmail.com>
2022-04-10 16:33:09 +01:00
modmuss50
d1027f7d5e Update mappings. 2022-02-19 17:05:08 +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
d7c144a830
Migrate to SLF4j and update loom (#1960)
* Migrate to SLF4j and update loom

* Update loom

* Update to latest loom
2022-01-30 21:37:23 +00:00
deirn
13eda06580
Fix tags_populated conditions not working (#1957)
closes #1954
2022-01-17 12:11:19 +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