* 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 is a workaround for transfer-api having unsatisfiable dependencies
in the dedicated server environemnt. Fabric Loader 0.11 doesn't check
this dependency correctly, but it breaks on 0.12 - as it should. A proper
solution is too incompatible for now.
* Transfer API: continuous fluid-containing items and other base implementations
* Update player inventory storage TODO
* Add PlayerInventoryStorage test
* getHandSlot() and small fixes
* Use simulateExtract in findExtractableContent
* Apply review
* Post-rebase fixes
* Add tentative InventoryProvider support
Co-authored-by: Player <player@player.to>
* Un-hardcode FACING property checks from only BedBlocks
* Use a better injection point for EntitySleepEvents.ALLOW_BED
* Fix#1680
* Bump entity events version
* Clarify javadoc
* Let's not forget license headers
* Add a note about the vanilla bug
* Update BedBlockMixin.java
* First proof of concept pass
* Cleanup and fixes.
* Checkstyle
* Fix running.
* Updated
* Fix build
* Cleanup + fixes.
* Fix package
* and test package
* game-test -> gametest
* Fix exclusion
* Review feedback and fixes.
* Remove comment
* Review feedback.
* Don't set the game instance
* Fix
* Work around shadowed fields from super classes not getting remapped... dejavu anyone?
See: 2e359e933a (diff-0956caa3cd38a54f5910979f0cfd98198a93e4d585e111300f2f7ab7301ad122)
* Add mixin to exit with a non-zero exit code in case the test server fails to start.
* Enable JUnit XML report generation.
Co-authored-by: Sebastian Hartte <sebastian@hartte.de>
* Add sleeping events
* Fix wake up event triggering on every wakeUp() call
* Make direction modifications stackable
* Simplify by not using Optional in MODIFY_SLEEPING_DIRECTION
* Add two new events
* Let's call it VERIFY_BED
* And it's ALLOW_BED now
* Add the rest of the events
* Clarify docs
* Expand docs, add missing vanillaResult
* WAKE_UP -> STOP_SLEEPING, javadoc
* Make sleepingPos checks more consistent in LivingEntityMixin
* Add flattening, stripping and tilling registries
* Where'd the spaces come from?
* Clarify docs
* Better overloads for TillableBlockRegistry.register
* Mutablise AxeItem.STRIPPED_BLOCKS if needed
* Remove simplest TillableBlockRegistry.register overload because the default predicate is for farmland
* Add test mod
* Update fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/api/registry/TillableBlockRegistry.java
Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com>
Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com>
* Allow fluid variant colors to depend on the position
Also add a smarter FluidVariantRendering#getTooltip.
* Add fluid variant rendering testmod
* 255/256 is not 1
* Actually it's in the top left
* Deprecate and move fabric-rendering-registries-v1 into fabric-rendering-v1
* Make the event work again
* Use lambda for RegistrationHelper
* Checkstyle in rendererregistries
* Checkstyle for rendering-v1
* Remove mixins file
And add two `forRemoval`
* Raise EntityModelLayerRegistry out of experimental
And update javadoc
* Change INSTANCE to a static method in two registries
* Readd unwillingly removed annotation
* Disallow constructing API instances
* Added Environment and ApiStatus annotations
* Update testmod's entrypoint
Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com>
* Remove renderer-registries testmod
* Remove `var` usage
* Don't specify `forRemoval = true` in `@Deprecated`
* Inline old registry implementations in anonymous classes
Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com>
* Tag factory
* Add static biome tag factory to the API
* Use SERVER_STARTING event
* Use the ctor directly
* Use the default BIOME factory
* AccessorDynamicRegistryManager -> DynamicRegistryManagerAccess
* Return Tag.Identified
* Load dynamic registry tags right after datapack entries loaded
* DynamicRegistryManagerAccess -> DynamicRegistryManagerAccessor
* Fix grammar
* reimplement ArmorRenderingRegistry
* fix license headers
* remove todo
* move registry to static method
* minor reformat
* reduce api classes into one
* reformat
* make registry static
* reformat
* change Item in registry to ItemConvertible
* register mixin properly this time
* explain test mod
* reformat
* stricter null check
* Stop DefaultResourcePack scanning the entire classpath
* Use another approach to find the JAR
* Make it work for filesystem assets as well (tested, it works!)
* Only patch what is necessary
* Original fluid API design
* Rework the transaction system
* First javadoc pass
* Add a testmod, a base implementation for fluid storages and fix some little bugs
* Fix checkstyle
* Make Movement#move extract from the view and not the whole Storage
* Document and update FluidPreconditions
* Use for-each in CombinedStorage and document a little
* Remove useless overrides in Insertion/ExtractionOnlyStorage
* Move SnapshotParticipant#snapshots to the top of the class, and make updateSnapshots public
* Fix garbage collection of unused CauldronWrappers
* Use ArrayList directly
* Remove locking, reorganize transaction implementation, and add outer close callback
* Add more javadoc
* Rework Storage#forEach into Storage#iterator
* Add a few missing `transaction.addCloseCallback(iterator)`
* Add anyView(), exactView(), capacity() and isEmpty()
* Add Storage#iterable to make iteration friendlier to for loops
* Storages may now have multiple open iterators
Co-authored-by: Devan-Kerman <dev.sel20@gmail.com>
* Make CombinedStorage#supportsInsertion/Extraction iterate through the parts
* Block updates should be used when the supportsInsertion/Extraction status changes
* Fluid -> FluidKey
* Remove all references to ItemKey inside FluidKey, and other minor tweaks
* Cache FluidKeys with a null tag inside Fluid directly
* Fluid unit convention
* Add FluidKeyRendering and RenderHandler
* Bump version for more testing (also published to my maven)
* Add SingleViewIterator, massively reduce code duplication!
* Make API experimental, and add README
* Bump version
* Apparently Fluids.EMPTY is flowing
* Add package info
* Minor adjustements
* 1.17 port, cauldron support, add ResourceKey
* Checkstyle, gas rendering, use record for ResourceAmount
* Add a few helpers, rename some stuff
* Remove anyView, allow nullable in StorageUtil#find*, fix missing try block
* Slight findStoredResource cleanup
* Slightly improve implementation
* Bump version
* Fix wrong transaction
* I wrote in a comment that this could happen...
* Fix SingleFluidStorage bugs, add tests in the testmod, add testmod assets
* Add extract stick
* Rename a few things
* `ResourceKey<T>` -> `TransferKey<O>`
* `ResourceKey#getResource()` -> `TransferKey#getObject()` as resource is already widely used through the API for the keys themselves.
* `tag` -> `nbt`
* Add `get` prefixes to `StorageView` functions
* Bump version
* FluidKey -> FluidVariant
* Bump version
* Expand getVersion() documentation, make it thread-safe and use long.
Co-authored-by: Player <player@player.to>
* empty resource -> blank resource, and update SingleFluidStorage
Co-authored-by: Player <player@player.to>
* Make CauldronFluidContent a final class instead of a record.
Co-authored-by: Player <player@player.to>
* Get rid of CauldronFluidContent#minLevel (was always 1)
* Fix nested commits. (Thanks @warjort!)
* Separate Transaction and TransactionContext
Co-authored-by: Devan-Kerman <dev.sel20@gmail.com>
Co-authored-by: Player <player@player.to>
* Change WorldLocation into a private record
* Bump version
* Guard against exceptions thrown in close callbacks
* Make sure blank fluid variants don't have a tag
* Add documentation, make CauldronStorage clearer
Co-authored-by: frqnny <45723631+frqnny@users.noreply.github.com>
* Allow null storages in StorageUtil#move, and clarify sidedness of FluidStorage
* Add explicit hashCode and equals for transfer variants
* Remove ugly equals and hashCode overrides, and add constant time hashcode spec
Co-authored-by: Devan-Kerman <dev.sel20@gmail.com>
Co-authored-by: liach <liach@users.noreply.github.com>
Co-authored-by: Player <player@player.to>
Co-authored-by: frqnny <45723631+frqnny@users.noreply.github.com>