* 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
* Oxidizable Blocks registry
* Allow waxable blocks to be registered outside of OxidizableFamilies
* Refactor
Separated OxidizableBlocksRegistry and WaxableBlocksRegistry
Separated OxidizableFamily and WaxableBlockPair
Added null check to WaxableBlockPair
Added several methods
* whoops lol
* Apply suggestions from code review
Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com>
* Update ContentRegistryTest.java
* Refactor again lol
Now uses mixins to change the vanilla ImmutableBiMaps to HashBiMaps and adds to them instead of keeping separate maps and having methods of their own. Much cleaner!
* gutted everything lol
removed all the charm and character- uh, i mean, superfluous stuff and reduced the api to the bare basics
oh and also one-way methods which is neat i guess if you're into that sort of thing
* 🦀one way methods are gone🦀
all my homies hate one way methods
maps are linked again
* re-merged oxidizable and waxable registry classes
* Update ContentRegistryTest.java
* implement suggestions by @Juuxel
* Oxidization -> Oxidation
as per https://github.com/FabricMC/yarn/pull/2837
* Improve Dynamics
Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com>