Tags
Creators
Details
0.4.0
Compatibility
Required content
Changes
Added
-
Added
ToucanCrosshairCooldownIndicatorsfor reusable hand-oriented cooldown icons beside the crosshair.- Positions indicators according to the player’s physical arm.
- Automatically mirrors sprites on the right side.
- Fills recovery progress toward the crosshair.
- Stacks multiple visible indicators outward in registration order.
- Respects the vanilla crosshair attack-indicator setting and rendering state.
- Supports uniquely identified, removable registrations.
-
Added
ToucanSkyDomefor generating reusable position-only spherical dome vertex buffers for sky effects. -
Added
ToucanScaledAnimationClockfor discontinuity-safe, variable-speed animation timing. -
Added
ToucanPlayerSkinResolverfor non-blocking UUID-based player-skin resolution with:- Live-player skin reuse.
- Authenticated profile loading.
- UUID-based fallback skins.
- Bounded caching.
- Failed-lookup throttling.
-
Added cross-loader hovered-slot interaction routing with:
- Modifier-key snapshots.
- Deterministic handler ordering.
- Removable registrations.
- Explicit vanilla-click consumption.
- Slot, menu, carried-stack, and pointer context.
-
Added reusable visual-slot utilities for:
- Slot bounds and registration.
- Hover hit testing.
- Item, highlight, and count-label rendering.
- Modifier-aware amount scrolling.
- Source-stack reservation.
- Unnumbered preview icons.
- Hidden give-all sentinel handling.
- Bounded item tooltips.
- Component-key reveal hints.
-
Added progressive tooltip composition with:
- Compact and expanded alternatives.
- Lazy hidden-branch evaluation.
- Current keybinding hints.
- Custom predicates and key chords.
- Standard
1/5/10/100scroll instructions.
-
Added
ToucanItemStateCyclefor ordered component-backed item states with:- Forward and reverse wrapping.
- Enum support.
- Unknown-state recovery.
- Default-component removal.
-
Added
ToucanClientFeedbackfor standard action-bar messages and UI sounds for confirmed or rejected interactions. -
Added
ToucanLimitFeedbackfor reusable tick-based limit feedback. -
Added
ToucanModelPartAnchorsfor reusable model-part anchor calculations and cube access. -
Added
ToucanPostChainfor reusable post-processing chain management. -
Added
ToucanBoundedCache. -
Added
ToucanColorValuesfor loader-neutral RGB/ARGB packing and color parsing. -
Added
ToucanItemCustomDatahelpers. -
Added
ToucanSegmentAabbsfor generating segmented bounding boxes. -
Added
ToucanEntityLookuphelpers. -
Added vector stream codecs through
ToucanStreamCodecs. -
Added deterministic, allocation-free unit-float and signed mutable-random helpers to
ToucanRandom. -
Added double-precision smootherstep and clamping helpers to
ToucanEasing. -
Added optional NeoForge shader registration.
-
Added two-, three-, and four-component float uniform setters to
ToucanShaders. -
Added simplified NeoForge config-screen factory helpers.
-
Added supporting HUD, container-screen, model-part, and
GuiGraphicsmixins. -
Added tests covering the new interaction, tooltip, rendering, timing, random, caching, networking, state-cycle, skin-resolution, and crosshair-indicator APIs.
Changed
- Changed the project license from GNU GPL v3.0 to All Rights Reserved.
- Expanded the README with examples for player skins, progressive tooltips, item states, hovered-slot interactions, and sky-dome rendering.
- Expanded the API documentation to include the new client interaction, tooltip, rendering, animation, random, and crosshair cooldown APIs.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:dXwOQg6L:P94uBT4o"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:dXwOQg6L:P94uBT4o"
}


