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.
* Move biome modification into the MinecraftServer constructor to have access to the actual level generation settings for the level.
* Move biome modification into the MinecraftServer constructor to have access to the actual level generation settings for the level.
* Move biome modification into the MinecraftServer constructor to have access to the actual level generation settings for the level.
* Ensure the feature ordering in BiomeSource is updated after modifying biomes.
* Don't use var
* Use the opportunity to check the real chunk generators for
the specified structure.
* Structure Pool Callback
* Update build.gradle
* Update fabric-structure-api-v1/src/main/java/net/fabricmc/fabric/api/structure/v1/FabricStructurePool.java
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
* Update fabric-structure-api-v1/src/main/java/net/fabricmc/fabric/api/structure/v1/FabricStructurePool.java
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
* Fix certain concerns
* Expose identifier for easier access
* Final test mod thing
* fix access widener
* Fix a few things
* Fix a few things
* Fix license
* haha lets see if this works
* checkstyle was working after I did checkstyleMain so u bettar work
* i take too much time to do checkstyle fixes
* checkstyle fix testmod ugh amirite
* Fix a few concerns brought up <3
* Oops, forgot to add a mutanle there
* Let's test this one more time?
* Remove Access Widener woop woop
* rename to poolAccessor
* Simplify the pool modification a bit
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
(cherry picked from commit 48a9ad892d)
* Optimize registry sync packet
* Make sure that the id map is sorted by the raw id
Send the difference of the first raw id and the last raw id from the bulk before
* Add packet size log prints
* Use Boolean.getBoolean
Don't send sync packet if the player is the server host
* Use generic Map
* Multiple raw id bulk test
* Group object namespace first before grouping raw ids
* Revert "Add packet size log prints"
This reverts commit fcb8b71e
* RegistrySyncPacket -> RegistryPacketSerializer
Move RegistryPacketSerializer singleton to the interface
* Packet size log prints
* Sort raw id on each namespace group
* Use Identifier.DEFAULT_NAMESPACE
* Slice to multiple packet if necessary
* Make MAX_PAYLOAD_SIZE configurable
Make testmod registry bigger
Print buffer size in equality test
* Move static packet handler instance to RegistrySyncManager
Release combinedBuf before discarding it
Discard syncedRegistryMap after it's accessed
* Use PacketByteBufs to create buffers
* Use the correct information when throwing Exceptions for failed tests.
* Re-throw the exception if it is already a RuntimeException
* Use pattern matching instead of casting
* Add datagen support for dynamic registry tags
* Update according review
* Make FabricTagBuilder final
* Throw AssertionError if expected errors didn't happen
* Add id getter to ApiLookups and expose the BE in BlockApiCache
* identifier() -> getIdentifier(), and add some query methods to BlockApiCache
* getId
* Datagen additions
Now separated from #1889
* add throws javadoc tag, and test for copying a block tag that contains a block without an item form to an item tag
* linkplain
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
* Add javadoc note about copy filtering
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
* Entity API Lookup
* Update fabric-api-lookup-api-v1/src/main/java/net/fabricmc/fabric/api/lookup/v1/entity/EntityApiLookup.java
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
* Update according to review
* Check for valid entity
* Use synchronized block on REGISTERED_SELVES accesses
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
* Allow canceling the NBT update animation
* Remove the event and introduce FabricItem instead
* Remove FabricItem and add an item setting instead
* Revert "Remove FabricItem and add an item setting instead"
This reverts commit a93205c927.
After some discussion, it was agreed upon internally that an interface is better than item settings for behavior extensions.
* Add allowContinuingBlockBreaking
* Update ClientPlayerInteractionManagerMixin comment and inject name
Use explicit casts instead of .class.cast in mixins
Reorganize API class, and make it work for any living entity
add LivingEntityFeatureRenderEvents to disable cape rendering
Reorganize/rename hook, and add ALLOW event
Fix missing mixin return & cosmetic adjustements