All versions
1.8.0
Release
Breximatica 1.8.03 months ago 6
Compatibility
Minecraft: Java Edition
1.18.2
Platform
Forge
Supported environments
Client-side
Client and server
Changes
Changelog — Breximatica v1.8.0 Visual & GUI Enhancements
- Solid Block Model Color Tinting Translucent block overlays are now tinted with the selected preset color (Cyan/Lime/Red) while preserving 60% of the original texture detail.
- Outlines Toggle Added Outlines: ON/OFF button. Combine with Solids toggle for wireframe-only, tinted-only, or both.
- Layer Up/Down Buttons Re-added - Layer / + Layer buttons to the Visuals column. Namespace Rename Full rename from schematichelper → Breximatica (packages, GUI class, config file, key bindings, translations). Block Orientation & Placement Engine
- Universal Block Rotation Look-towards rotations for doors, beds, fence gates, bells, 16-directional standing banners/signs, anvils (90° CCW offset). Multi-block filters: Automatically skips upper halves of doors/double plants and bed heads.
- Neighbor Click-Face Validation Wall-attached blocks (ladders, wall signs/banners/torches, tripwire hooks, end rods, shulker boxes, lightning rods): click facing.getOpposite(). Hoppers & cocoa beans: click facing direction. Buttons, levers, grindstones: UP for ceiling, DOWN for floor, facing.getOpposite() for walls. Standing torches & standing signs: restricted to floor placement (DOWN only). Sign Support
- Automatic Sign Text Auto-Fill When the autopilot places a sign and the SignEditScreen opens, the mod automatically fills in the text from the schematic and closes the screen instantly — no manual typing needed. Sign text is parsed from all three formats: .litematica (TileEntities), .schem (BlockEntities), and .nbt (nbt compound tags). JSON text components ({"text":"Hello"}) are automatically decoded to plain text. Sign text positions are correctly rotated when the schematic is rotated with rotateClockwise90(). Scaffolding & Supports
- Persistent Scaffolding Memory & 20s Delay Support blocks are tracked in config/breximatica.json — survives restarts and disconnects. 20-second minimum lifetime before cleanup — prevents place/break vibration loops. BFS connection validation: scaffolds used as bridges are preserved until destination blocks are built.
- Reach Range Validation Support blocks are only broken when the player is within reach distance. Out-of-range scaffolds stay in memory until the player gets closer — no blocks forgotten.
- Prioritized Horizontal Bridging Horizontal bridges and single-block attachments are tried before vertical pillars, reducing total blocks placed. Physics-Aware Placement
- Gravity-Affected Block Support (Sand, Gravel, Concrete Powder, Anvils) Detects FallingBlock instances and checks if the block below is air. If schematic has a block below: defers placement until the correct block below is built first. If schematic has air below (floating block): places a temporary scaffold underneath first.
- Hanging Lantern Ceiling Block Placement Detects LanternBlock with hanging=true and checks if the block above exists. If the ceiling block is missing: automatically places the correct schematic block from the upper layer first, even when building layer-by-layer. Lantern placement is deferred until the ceiling block is in place. isSupported() treats hanging lanterns without a ceiling as unsupported. Two-Phase Block Placement
- Potted Plant Support (Flower Pots) Blocks like potted_poppy, potted_oak_sapling, potted_cactus, etc. are now fully supported. Phase 1: Places an empty flower_pot at the target position. Phase 2: Right-clicks the empty pot with the correct flower/plant item (FlowerPotBlock.getContent()). New interactWithBlockAt() helper method for right-clicking existing blocks in the world. findNearestMissingBlock correctly identifies potted plants as missing targets and checks for FLOWER_POT in inventory.
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:oafcXmIg:to4EHuJW"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:oafcXmIg:to4EHuJW"
}

