* Add block appearance API
* Add class javadoc for FabricBlock and FabricBlockState
* Address reviews
* Remove OverrideOnly from getAppearance
* Fix javadoc issues
* Add AFTER_DEATH and ALLOW_DAMAGE events; generalise ALLOW_DEATH to living entities
* Make class final and constructor private
* player -> entity; clarify where ALLOW_DAMAGE is fired
* Also deprecate the old AllowDeath funcint
* Fix CLIENT_RESOURCE_PACK_PROVIDER registration
* Mark FabricModResourcePack as always stable
* Fix warnings
* Fix use of deprecated loader API
* Fix yet another ResourcePack closing issue
* Make ResourceManagerHelper NonExtendable
* fix checkstyle
* Fix DynamicRegistrySetupCallback, add EndDynamicRegistrySetupCallback
`DynamicRegistrySetupCallback` did not work as intended because the injection
was too late. This moves the injection point to `RegistryLoader`, just before it
is loaded.
`EndDynamicRegistrySetupCallback` is a new event triggered when the loading is
finished. This has access to the combined DRM, allowing context-aware modification.
This also replaces `System.out.println` use in testmod.
* Remove useless force-init of BiomeKeys
* Remove now-unnecessary DynamicRegistryManagerMixin
* Fix crash in testmod
This caveat needs proper documentation.
* Add note to javadoc
* Mark impl as internal
* Remove EndDynamicRegistrySetupCallback
* Fix testmod checkstyle issues
* Add automated event call check
* Fix test
* Update javadoc
* Add `@see`
* Re-run actions
* Added LandPathNodeTypesRegistry.
* Added test for LandPathNodeTypesRegistry.
* Added block state to PathNodeTypeProvider.getPathNodeType.
* Made LandPathNodeTypesRegistry final, removed unnecessary NotNull.
* Changed putIfAbsent with put to align with other registries.
* Cleanup.
Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com>
* Removed unused import.
* Added possibility to specify the node type of block if the block is found in a neighbor position, improved documentation.
* Merged mixins cleanup.
* Changed CAPTURE_FAILEXCEPTION into CAPTURE_FAILHARD
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
* Specified some nullables, changed 2 parameter names.
* Added missing content registries tests, changed NODE_TYPES map to IdentityHashMap, improved docs.
* Moved PathNodeTypeProvider inside LandPathNodeTypesRegistry.
* Registry revised to make it possible to distinguish between blocks with dynamic and static node types, reduced LandPathNodeMakerMixin priority, applied suggested docs improvements.
* Changed INVOKE with shift, with INVOKE_ASSIGN.
* Merged all LandPathNodeTypesRegistry utility methods used to check the registration type into a single one.
* Inverted if sequence in LandPathNodeTypesRegistry.getPathNodeType, improved docs.
* Sealed PathNodeTypeProvider and made public, cleaned and simplified LandPathNodeTypesRegistry by removing useless mechanics.
* Improved docs.
* Improved docs (2).
Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com>
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
* Resource conditions: support all tags
* Minor improvements; deprecate old methods
* Fix build?
* Add more tests, throw on null condition
* Add more javadoc
* Javadoc fixes
* Allow sound instances to play custom audio streams
Adds a new interface FabricSoundInstance, which is injected into
vanilla's SoundInstance interface.
When loading an audio stream, the SoundSystem now calls
FabricSoundInstance.getAudioStream, allowing mods to provide their
own audio streams.
* Some post-review cleanup
- Manually add the client sources as an interface injection source set,
allowing us to put everything in the src/client dir (<3 modmuss50).
- Apply some formatting changes from apple502j.
* Document the empty sound and its usage in sounds.json
* Fix one remaining @literal -> @code
* Fix checkstyle issues
* Added line to Doc to prevent misconception
Added line because people probably want to use their GameEvent for the Warden too.
* Update SculkSensorFrequencyRegistry.java
* 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
* Added LandPathNodeTypesRegistry.
* Added test for LandPathNodeTypesRegistry.
* Added block state to PathNodeTypeProvider.getPathNodeType.
* Made LandPathNodeTypesRegistry final, removed unnecessary NotNull.
* Changed putIfAbsent with put to align with other registries.
* Cleanup.
Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com>
* Removed unused import.
* Added possibility to specify the node type of block if the block is found in a neighbor position, improved documentation.
* Merged mixins cleanup.
* Changed CAPTURE_FAILEXCEPTION into CAPTURE_FAILHARD
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
* Specified some nullables, changed 2 parameter names.
* Added missing content registries tests, changed NODE_TYPES map to IdentityHashMap, improved docs.
* Moved PathNodeTypeProvider inside LandPathNodeTypesRegistry.
Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com>
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
This adds `FabricScreenHandlerFactory` (interface-injected to `NamedScreenHandlerFactory`).
This also fixes a crash when passing `SimpleNamedScreenHandlerFactory` that wraps a `ExtendedScreenHandlerFactory`. The mixin now un-wraps the factory.