Tags
Creators
Details
Licensed GPL-3.0-only
Published 3 months ago
Updated 5 days ago
All versions
1.0.0+mc26.2-neoforge
Release
CrowBar v1.0.0 (Minecraft 26.2, NeoForge)5 days ago 4
Compatibility
Minecraft: Java Edition
26.2
Platform
NeoForge
Supported environments
Client-side
Changes
CrowBar v1.0.0
CrowBar's 1.0.0 release ships native NeoForge and Fabric builds for every supported Minecraft range, with per-range jars split to handle Mojang's API renames across versions.
Added
NeoForge Builds
- Every Minecraft range ships a native NeoForge build next to its Fabric build.
- NeoForge builds are compiled against real class names, so Mojang's renames split support into five sets: Minecraft 1.21.6-1.21.8 (NeoForge 21.6+), 1.21.9-1.21.10 (NeoForge 21.9+), 1.21.11 (NeoForge 21.11+), 26.1.x (NeoForge 26.1), and 26.2 (NeoForge 26.2). The breaks are real API changes: keybind categories,
PlayerSkin, and waypoint APIs changed in 1.21.9, andResourceLocationwas renamed toIdentifierin 1.21.11. - Feature parity across loaders: claim and player locator bar rendering, waypoint keybinds, HUD overlays, experience-bar restoration, and the config screen (registered through NeoForge's settings-screen extension point instead of Mod Menu).
- Payload channels register as optional, so NeoForge clients can still join vanilla and Paper servers that do not run CrowBar plugins.
Fabric Builds
- Fabric builds cover Minecraft 1.21.6-1.21.8 with one jar and 1.21.9-1.21.11 with a second, since Fabric's intermediary names survive Mojang's renames but
KeyBinding.Categoryonly exists from 1.21.9 onward. - The 1.21.6-1.21.8 Fabric build required porting six API differences from the 1.21.9+ code: string-based keybind categories,
SkinTexturespackage relocation,YawProviderreplacingEntityTickProgress, and authlib/game-profile method name changes.
CurseForge
- CrowBar is now published to CurseForge (project 1667680) alongside Modrinth, with per-file game version tags for all nine jars.
Changed
Project Layout
- Each Minecraft range is split into
fabric/andneoforge/subprojects sharing one loader-agnosticcommonmodule, keeping gameplay logic identical across loaders. - The 1.21.9+ Fabric and NeoForge subprojects live together in
version21_9/, the 1.21.6-1.21.8 range inversion21_6/, and the 1.21.11-only NeoForge build inversion21/. - One Gradle invocation builds all nine artifacts; per-loader jars no longer drift between releases.
Fixed
- Action bar feedback on NeoForge rendered with continuously cycling colors because the overlay message was created with the vanilla rainbow animation flag enabled; toggle and status messages now render with their intended color.
Technical Changes
- NeoForge subprojects use ModDevGradle with per-range NeoForge versions (21.6.x, 21.9.x, 21.11.x, 26.1.x, 26.2.x) and require Java 25 to build the 26.x targets; Fabric subprojects stay on Loom.
- Mixin targets follow each version's API:
Guiextract render states on 26.1.x,Hud,LocatorBar, andContextualBaron 26.2.x. - Release automation publishes four Fabric and five NeoForge versions to Modrinth and CurseForge, and attaches all nine jars to the GitHub release.
Testing
- Verified the common module tests pass and all nine loader artifacts compile and package successfully.
- Confirmed each Modrinth and CurseForge listing resolves exactly its own jar via the asset patterns.
Downloads
CrowBar-1.21.6-1.21.8-1.0.0.jarfor Minecraft 1.21.6-1.21.8 (Fabric)CrowBar-1.21.6-1.21.8-neoforge-1.0.0.jarfor Minecraft 1.21.6-1.21.8 (NeoForge)CrowBar-1.21.9-1.21.10-neoforge-1.0.0.jarfor Minecraft 1.21.9-1.21.10 (NeoForge)CrowBar-1.21.x-1.0.0.jarfor Minecraft 1.21.9-1.21.11 (Fabric)CrowBar-1.21.x-neoforge-1.0.0.jarfor Minecraft 1.21.11 (NeoForge)CrowBar-26.1.x-1.0.0.jar/CrowBar-26.1.x-neoforge-1.0.0.jarfor Minecraft 26.1.xCrowBar-26.x-1.0.0.jar/CrowBar-26.2.x-neoforge-1.0.0.jarfor Minecraft 26.2
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:yP7IdsBH:utls6Rbs"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:yP7IdsBH:utls6Rbs"
}

