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`
* Fix the issue that cannot load world after uninstalling a dimension mod/datapack, by making deserialization fail-soft, instead of removing non-vanilla dimensions.
* Fix style.
* Fix license.
* Small changes to FailSoftMapCodec.
* Make FailSoftMapCodec final.
* Revert "Make FailSoftMapCodec final."
This reverts commit 0c0642a1c4.
* Use ModifyVariable and change comments.
* Remove unnecessary `equals`
(cherry picked from commit 00a2eb1095)
* Generate package-info files for all impl and mixin packages
* Add javadoc to generated package-infos, use multiline string
* Simplify code
* Remove manual ApiStatus.Internal on impl classes
* Update CONTRIBUTING.md to remove ApiStatus.Internal for impl classes
* Fix Gradle deprecations
* Fix more Gradle deprecations
* Add task metadata
* Support client-main split
* Remove workaround for client packages
* Try to fix Gradle 8 deprecations
* Try to fix Gradle 8 deprecations, part 2
I'm hoping that using the SourceDirectorySet instead of converting it to a
Set<File> (which is pointless?) will carry the build dependencies over.
* Add clean packageInfo task
Co-authored-by: modmuss50 <modmuss50@gmail.com>
(cherry picked from commit 0d0f21023d)
* Refactor dimension API to use less static var
* Refactor test code
* Fix end spawn platform generation with non-player teleport
* Fix wrong cast
* Add and refactor tests
* Fix spotless
* Mark impl as internal
* Fix the vanilla bug of uninstalling dimensions.
* fix license
* fix style
* Rename LevelStorageMixin and some minor changes.
(cherry picked from commit 01a4d43dcd)
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.
* Fix running game tests.
* Fix dimension api bugfix mixin. Of note: The Vanilla bug is still present, and the bugfix still needed.
* Fix references to unmatched RegistryOps method.
This migrates all uses of v0 networking to v1 api, and changes the readme to not mention networking-v0 in the example for dependencies.
This effectively makes v0 removable if it breaks in the future beyond repair. Though I expect v0 to last quite a bit longer.
(cherry picked from commit bf770ed853)
* 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)
* dim api initial port
* A whole bunch of work
* Checkstyle :)
* Minor tweaks based on feedback
* Update to latest snapshot
* Checkstyle ;)
* Some more dim work
* Re add default placer's, the example mod includes a test dim that currently marks the world as experimental
* license
* Fixup javadoc
hardcoded for Overworld, use Dimension.hasVisibleSky instead.
- World.isDay() and World.isNight() are now un-hardcoded.
Instead of checking for the overworld, they check for a visible sky
like clocks. The check is false for the nether and the end,
so vanilla behaviour stays the same.