Tags
Creators
Details
1.1.8+26.2
Compatibility
Required content
Changes
Refactored BUILDING HELPERS modules (Litematica-style package structure) Created new package com/mahidx7/forkclient/client/modules/building/ with 8 self-contained, Litematica-pattern module classes: Extracted from the monolith (ForkClientController.java, shrunk from 3,490 โ ~3,300 lines):
- GridOverlayModule โ grid/chunk gizmo rendering + cache
- ChunkBorderModule โ chunk border gizmo rendering + cache
- BuildHeightModule โ Y/limit/remaining widget text
- BlockMeasurementModule โ block-hit detection tick + widget text + its own state Made the 4 previously non-functional (toggle-only) modules functional:
- BlockPaletteModule โ tracks a building palette with color groups + favorites, persisted to config (palette.*); viewable via palette widget
- MaterialCalculatorModule โ counts block types in the measured region (reuses BlockMeasurementModule points) and displays totals; materials widget, recalculated via calculate()
- ShapePreviewModule โ renders live ghost previews (circle/sphere/cylinder/dome) at the player using Gizmos.line, with radius/shape-type settings; shape_preview widget
- BlueprintPreviewModule โ renders a wireframe blueprint box (with grid) at the player, width/height/depth settings; blueprint_preview widget Controller changes
- LevelRenderEvents.BEFORE_GIZMOS now dispatches to GridOverlayModule, ChunkBorderModule, ShapePreviewModule, BlueprintPreviewModule
- Tick handler delegates to BlockMeasurementModule.onTick()
- Widget line generation delegates to the modules (removed ~180 lines of inline logic)
- Added 4 new widgets (palette, materials, shape_preview, blueprint_preview) and their moduleโwidget mappings
- Added block-palette config save/load Fixed
- Fixed ResourceLocation โ renamed Identifier (net.minecraft.resources.Identifier) for this MC 26.2 mapping โ this was the compile error
- Removed unused imports/fields I introduced Note: The ArmorDurabilityConfigScreen and EntityCullingModule warnings in your report are pre-existing and unrelated to this task โ I left them untouched.
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:2hEMWpQc:EAAWq7PG"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:2hEMWpQc:EAAWq7PG"
}

