MinersAdvantage

MinersAdvantage - Making mining easier...

File Details

MinersAdvantage 2.11.0+26.1.2-neoforge

  • R
  • Jun 1, 2026
  • 656.52 KB
  • 10
  • 26.1.2
  • NeoForge

File Name

MinersAdvantage_2.11.0+26.1.2-neoforge-2.11.0.jar

Supported Versions

  • 26.1.2

Curse Maven Snippet

NeoForge

implementation "curse.maven:minersadvantage-291972:8182418"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

2.11.0

  • Bump mod version to 2.11.0 for the first code/content change day commit.
  • Move bundled branding images into assets/minersadvantage/ and point Fabric/NeoForge mod metadata icon fields to the shared icon.png path.
  • Fix NeoForge config screen feature sub-screens not opening by removing reflective Cloth Config footer-button injection that prevented feature screens from rendering.
  • Add NeoForge outline preview renderer using ExtractBlockOutlineRenderStateEvent and addCustomRenderer, with reflective camera coordinate extraction for cross-version compatibility.
  • Fix NeoForge shapes (shaft, vent, excavation, veination, lumbination) being triggered on block click rather than block break by moving all carve-agent creation into a block-break listener.
  • Fix NeoForge shaft vs. vent routing so the block face hit at break time correctly determines vent (top/bottom face) vs. shaft (side face), using per-player remembered break-face state.
  • Fix NeoForge event bus rejection of abstract Event listener by introducing version-specific NeoForgeBreakEvents bridge classes with typed BlockEvent.BreakEvent (1.21.11) and BreakBlockEvent (26.1.2) handlers.
  • Harden reflective key category identifier resolution with constructor, named-factory, and fallback-category strategies for cross-version robustness.
  • Harden reflective network payload identifier construction with multi-strategy constructor/factory fallback chain for cross-version robustness.
  • Fix Fabric outline preview compatibility on 26.1.2 by supporting both LevelRenderEvents (poseStack) and legacy WorldRenderEvents (matrices) hook paths via a reflective context bridge.
  • Add scripts/run-gradle-java25.ps1 and route VS Code debug tasks through the wrapper so local Gradle runs consistently resolve with Java 25.
  • Align VS Code Gradle import and debug-task JVM selection to use the workspace Java 25 setting, preventing local Java 21 plugin-resolution failures.
  • Update TECHNICAL notes with Java 25 debug-task behavior and local environment override guidance.

2.10.0

  • Fix CI Gradle startup failure on Linux runners by removing the hardcoded local org.gradle.java.home path and relying on runner-provided JAVA_HOME.
  • Track Stonecutter node versions/*/gradle.properties files in git so CI receives required modstitch.platform values for all Fabric/NeoForge nodes.
  • Apply workspace-wide comment updates across Java sources and tests, and fix malformed comment syntax regressions in NeoForge/Fabric generation paths to restore full compile-matrix gate success.
  • Complete full-workspace optimization pass with shared helper extraction across client input, excavation and shaft shape placement, config-screen readonly entries, and test fixture setup; include structural cleanup and duplicate reduction across main/test/versioned source roots.
  • Add client-configurable preview outline foreground and see-through colors, persist them in client-config.toml, and expose both settings in the client config UI using alpha color fields.
  • Implement dual-pass shape outline rendering matching LiteMiner: translucent NO_DEPTH_TEST pass (occluded bounds visible through blocks) plus opaque depth-tested foreground pass using mc.renderBuffers().bufferSource() directly with Stonecutter-gated mc1/mc26 pipeline API paths.
  • Bump mod version to 2.10.0, update daily bump metadata, and advance Next Version tracking to 2.11.0.
  • Fix Fabric outline preview startup/runtime compatibility by replacing fragile LevelRenderer mixin targeting with a version-tolerant Fabric render event bridge.
  • Refine shape preview outline rendering by combining selected blocks into a merged voxel outline and drawing line passes against the combined shape.
  • Correct Excavation 3x3 targeting to use a strict one-layer plane oriented by the clicked face axis.
  • Add focused 3x3 orientation regression coverage for north/top/side face geometry expectations.
  • Expand shape parity test assertions to lock 3x3 face-axis offset membership and single-layer depth behavior.
  • Reorient remaining Excavation shapes to use hit-face driven depth with rotated tangent axes for north/south, top/bottom, and east/west interactions.
  • Migrate Excavation and Ventilation config models, runtime paths, and TOML keys from radius-based fields to explicit width/height/depth dimensions.
  • Rename Shaftanation config dimensions to width/height/depth for naming consistency and align defaults and UI bindings with the new field names.
  • Correct default Excavation dimensions to 3x3x3.
  • Update mining/config parity tests to validate the migrated width/height/depth signatures and defaults.
  • Adjust Shaftanation shaft-floor anchoring to use the playerFeetY + height - 1 threshold so high-origin tunnels preserve intended floor alignment.
  • Fix Shaftanation floor anchoring to allow origins below player feet to tunnel below foot level while still anchoring origins inside the shaft-height window.
  • Add Ventilation held-key outline preview for vertical-face targeting and include the origin block in the vent-height preview count.
  • Show selected Excavation/Shaft shape names on the HUD when shapes are cycled and when the corresponding mode keybind becomes active.
  • Add a new default Excavation Shapeless shape using connected 18-neighbor flood-fill ordering.
  • Add focused Shapeless helper and registry parity test coverage for default selection and traversal invariants.
  • Refresh README and TECHNICAL notes for shapeless default behavior and shape-system parity guidance.

2.9.0

  • Scaffold a new common Shape API package with registerable shape definitions, context contracts, processor interfaces, and registry helpers.
  • Extend client and server player-state sync models with selected Excavation and Shaftanation shape indexes.
  • Add initial root-level Shape API addon guide and cross-link it from README and TECHNICAL documentation.
  • Publish the standalone SHAPE_API.md addon-authoring reference with quickstart and troubleshooting guidance.
  • Add built-in Excavation and Shaftanation shape processor implementations and bootstrap registration at core startup.
  • Wire Excavation and Shaftanation runtime agent dispatch to consume per-player selected shape indexes during execution.
  • Fix NeoForge left-click Excavation shape-face propagation so all compile matrix nodes build cleanly.
  • Add focused shape registry/bootstrap parity tests covering built-in counts, index wrapping, and idempotent initialization.
  • Add client keybind actions for Excavation/Shaftanation shape cycling and sync selected shape index changes to the server.
  • Add held-key client shape preview rendering and align NeoForge hold/sync behavior with Fabric shape-selection input flow.
  • Replace held-key shape preview particles with true block-outline rendering through client highlight hooks.
  • Add mouse-wheel shape switching while Excavation/Shaftanation hold mode is active, with immediate state sync to the server.
  • Fix Fabric client startup crash from LevelRenderer mixin descriptor drift by moving outline preview hook registration to a version-tolerant Fabric render event bridge.
  • Align shape preview visuals by combining selected blocks into a merged voxel outline before drawing line passes.
  • Centralize shared shape dimension math for runtime and preview context building and add focused regression tests for that parity path.
  • Update keybinding parity tests to cover the new shape-cycling default bindings.
  • Refresh README and TECHNICAL documentation with shape-cycling and held-key preview parity notes.
  • Add a Technical manual in-game verification checklist for shape cycling, preview parity, and runtime execution checks.
  • Bump mod version to 2.9.0, add Next Version state tracking, and advance the daily bump metadata.
  • Harden git hook version-bump enforcement to require a real version increase when advancing the daily bump date.
  • Require version bumps to match expected Next Version and force state Next Version to advance past the bumped version.
  • Reorder pre-commit validators to run in this sequence: version-bump, optimization, docs, compile-matrix, changelog.
  • Relax README section validation by no longer requiring ## Supported Crops and ## Compatibility headings.

2.8.0

  • Remove excavation single-layer mode, including keybind/state/sync wiring, and always use configured vertical radius.
  • Remove Single Layer Excavation references from CurseForge documentation.
  • Make veination respect the shared blocks_per_tick limit instead of using a hardcoded per-agent cap.
  • Make ABORT_WORKERS clear active and queued agents immediately, not just worker-runtime state.
  • Respect gather_drops when relocating veination item drops so disabling drop gathering keeps items at their original block positions.
  • Make excavation veination fan-out trigger from connected exposed ore discovery instead of requiring the broken origin-matching block itself to be ore.
  • Consolidate veination fan-out logic into a shared agent helper and wire shaft/vent flows through the common path.
  • Make post-excavation auto-illumination target the carved excavation gap instead of a player-centered area.
  • Share connected-neighbor traversal helpers so excavation, lumbination, and veination all use the same 3x3 connectivity rule.
  • Fix excavation to keep single-layer mode tied only to the single-layer toggle and trigger auto-illumination after completion for any exit reason.
  • Bump mod version to 2.8.0 and advance the tracked daily bump date.
  • Center ILLUMINATION_AREA execution on the player's position instead of the targeted block while keeping area mode floor-placement behavior.
  • Centralize synced default construction through MAConfig_Defaults so SyncedClientConfig.defaults() no longer hard-codes per-feature values.
  • Canonicalize MAConfig_Defaults feature field names and expand missing entries (cultivation, excavation, pathanation, lumbination, shaftanation, substitution, ventilation).
  • Align illumination synced defaults to MAConfig_Defaults values, including lowestLightLevel = 1 and radius defaults (8, 4).
  • Fix shaft wall auto-illumination to check shaft-floor light levels instead of wall-target light levels.
  • Fix shaft wall auto-illumination left/right placement so wall modes follow the shaft-facing direction correctly.
  • Add focused regression coverage for shaft wall torch geometry and floor-light sampling.

2.7.0

  • Bump mod version to 2.7.0 and advance the tracked daily bump date.
  • Fix Cropination harvest execution to use vanilla block-break flow before replanting mature crops.
  • Keep Cropination scan expansion active from immature crop targets while harvesting only mature crop states.
  • Allow Cropination to run without nearby water for water-independent crops such as nether wart while keeping water-required crops gated.
  • Remove Cultivation block-limit cutoff so hydrated patch processing no longer stops at a fixed block ceiling.
  • Improve Cultivation floating-plant cleanup by combining replaceable-above break handling with delayed follow-up block updates.
  • Rename Lumbination use_shears_on_leaves mode to use_canopy_tool across runtime, config storage, and UI labels.
  • Allow excavation, shaftanation, and ventilation agents to fan out into veination when common.mine_veins is enabled and ore eligibility checks pass.
  • Remove veination queue caps so connected ore discovery and processing are no longer limited by a fixed block ceiling.
  • Capture the triggering tool stack for agent-driven veination fan-out so substitution-driven hand changes do not suppress ore chaining.
  • Fix AgentManager tick-time concurrent modification by deferring agent additions during iteration and flushing queued agents after the tick pass.
  • Cap veination distance settings to a maximum of 12 and treat deepslate/stone ore variants as a shared ore family during vein discovery.
  • Fix Pathanation to start from the clicked origin, follow player-facing horizontal direction, and only trigger/place on BlockTags.DIRT blocks.
  • Prevent Pathanation and Cultivation from processing under blocked headspace by sharing an Agent helper that requires air-or-replaceable blocks above the target.
  • Rework ventilation ladder/torch placement sequencing to carve first, place in reverse order, respect per-tick budgets, include origin ladders, and emit reliable placement sounds.

2.6.0

  • Remove excavation, shaftanation, and ventilation trigger block/tool restrictions so activation can start from arbitrary targets and held items.
  • Rework Lumbination into a logs-first then leaves-second harvest flow to stop interleaved trunk/canopy breaking.
  • Replace leaf flood-fill traversal with a bounded canopy candidate pass derived from trunk bounds to reduce neighboring-tree bleed.
  • Remove Lumbination's common block-limit cutoff so large trees do not stop mid-harvest and leave floating canopies.
  • Add ignore_player_placed_leaves Lumbination config wiring across defaults, TOML storage, policy sanitization, sync defaults, and config UI.
  • Restore Lumbination log/leaf parity guards: require a valid origin leaf, restrict fallback log matching to origin log type, and enforce origin leaf block matching.
  • Improve Lumbination sapling replanting to use detected trunk base targets, support all-or-nothing 2x2 planting, and delay planting until full tree harvest completion.
  • Change Lumbination sapling consumption order to inventory-first with shears-mode inventory-only consumption.
  • Fix captivation recent-drop detection to keep player-thrown items exempt for the full 160-tick cooldown window.
  • Restore captivation XP orb attraction so the magnet path now targets experience orbs again instead of item entities only.
  • Stop captivation from immediately re-pulling freshly dropped player items by honoring recent-drop ownership and pickup-delay signals.
  • Ignore newly dropped nearby items in captivation until drop ownership or pickup-delay windows have expired.
  • Restrict agent ticking to the active world dimension so cross-dimension agents do not progress on the wrong server tick.
  • Keep agent queues dimension-scoped so server ticks do not advance agents from unloaded or different worlds.
  • Route manual illumination placement through the clicked face, add a dedicated placement agent, and require a solid supporting face before consuming torches.
  • Tighten shaft auto-illumination to respect the configured light threshold, wait for carve light updates, and reject invalid torch supports.
  • Make manual illumination place torches at the clicked face target instead of offsetting blindly above the selected block.
  • Share torch survival validation between illumination and shaft agents so invalid supports do not consume inventory.
  • Complete runtime config-option parity wiring across Fabric and NeoForge event routes, including right/left click dispatch and server tick orchestration gates.
  • Make substitution switch tools on the initiating click instead of the following tick.
  • Stop manual torch placement from auto-triggering illumination placement bursts.
  • Require the shaft/vent hold state before right-click stone ventilation can start.
  • Restore the Fabric illumination keybind by sending an explicit client illumination action packet.
  • Apply excavation single-layer mode by collapsing the vertical radius only while that hold is active.
  • Route shaft/vent pickaxe block-break activation by hit face so horizontal faces start shafts and vertical faces start vents.
  • Rewrite ShaftanationAgent to dig horizontally in the player's facing direction instead of downward, with correct cross-section axis based on direction.
  • Rewrite ShaftanationAgent to dig horizontally in the player's facing direction instead of downward, with correct cross-section axis based on direction.
  • Rewrite VentilationAgent to dig a 1Ă—1 vertical column (up or down) from the triggered face, with per-block ladder placement that draws from player inventory.
  • Fix shaft floor height sitting one block too high by shifting the cross-section base down one block so the floor aligns with the player's foot level.
  • Fix shaft auto-illumination placing floor torches in mid-air for wall-placement modes by using WALL_TORCH blocks with correct facing instead of freestanding torches.
  • Fix shaft generation to anchor floor height to the player's feet and include the initial x/z layer when carving.
  • Restore shaft auto-illumination to carve first, then place torches from furthest to nearest using current block light checks.
  • Enforce synchronized common-feature behavior for veination, captivation, substitution, cultivation, illumination, pathanation, shaftanation, ventilation, excavation, and lumbination agents.
  • Add veination ore allowlist runtime checks and substitution ATTACK context support with entity-type-aware rule targeting.
  • Improve cropination replant/seed behavior and lumbination leaves/shears/durability/replant handling for closer legacy behavior alignment.
  • Update TECHNICAL documentation with the 2026-05-25 runtime parity sweep and cross-node compatibility caveat notes.
  • Clarify NeoForge 26.1.2 left-click routing notes in TECHNICAL parity caveat guidance.
  • Rework the Features tab into dedicated per-feature launcher rows with live status coloring, per-feature reset confirmation, and stable save/back behavior.
  • Migrate configuration to split MAClientRootConfig and MAServerRootConfig roots with TOML-backed persistence for client/server state.
  • Simplify player sync transport and policy flow to server-authoritative gameplay configuration with typed root snapshots.
  • Replace legacy config category wrappers with unified root-based UI bindings and remote-multiplayer authority lock messaging.
  • Add focused split-root coverage for TOML storage, sync core state, packet flow, and policy authority behavior.
  • Refresh README and TECHNICAL documentation for split-root config categories and multiplayer authority semantics.
  • Remove remaining legacy config compatibility paths (MAConfig facade, JSON cleanup branch, and SyncType.ClientConfig sync handling).
  • Migrate config UI dependency and screen implementation to Cloth Config for FMC parity.
  • Add workspace VS Code Java configuration sync setting for consistent local project import behavior.
  • Change default light level to 0 for auto illumination

2.5.0

  • Rework Veination discovery/runtime wiring to support AFTER-break origins, optional origin-state hints, and connected-vein queueing through a shared runtime service.
  • Add optional reflective Fabric Collective dig-speed callback registration so missing Collective dependencies do not break startup.
  • Align Veination defaults to harvest-without-sneak across synced defaults, legacy constructors, and policy/config plumbing.
  • Persist legacy global config to config/minersadvantage-client-config.json and load it for UI bootstrap, login sync seeding, and player state sync updates.
  • Reduce Fabric player-state sync spam by sending activation-state updates only when tracked toggle state changes.
  • Add Veination config parity tests for legacy constructor defaults and modifier clamping.
  • Refresh VS Code launch/task definitions for the full Fabric/NeoForge debug matrix and simplified Java environment handling.
  • Align workspace validation, hook setup, and documentation rules with stricter parity checks.
  • Trigger substitution on block-attack start instead of post-break so tool selection applies before mining completes.
  • Restrict substitution candidate selection to hotbar slots and switch held tool by selected slot change rather than stack swapping.
  • Add start-trigger de-duplication and activity tracking to avoid repeated queueing while mining or interacting continuously.
  • Improve switch-back timing so restore waits for break-target activity to end instead of reverting mid-action.

2.4.0

  • Rework substitution selection to autoswitch-style candidate ordering with multi-level ratings and deterministic tie-breaks.
  • Add action-aware substitution rule tables for BREAK/INTERACT with per-rule target and tool priorities.
  • Add boolean expression support (AND/OR/NOT) for target/tool rule matching and enforce per-rule enchant constraints (silk, fortune, mending).
  • Wire substitution runtime with active-hand context and synchronized rule propagation across policy/default/category config paths.
  • Expand README and TECHNICAL with substitution rule expression syntax and practical rule authoring examples.

2.3.0

  • Phase 3 parity rewrite is complete across all four nodes with documentation and verification signoff.
  • Add a full documentation standards guide and enforce README/TECHNICAL coverage checks in pre-commit.
  • Add tracked daily version-bump enforcement so mod_version changes are blocked more than once per day without an explicit override.

Milestone Completion:

  • ✅ M1: Traceability audit complete - Baseline matrix created
  • ✅ M2: Bootstrap complete - Both loaders initialize MinersAdvantageCore
  • ✅ M3: Keybindings & Client Input complete - Fabric and NeoForge client input wired across all four nodes
  • ✅ M4: Networking transport layer complete - component toggle, abort workers, player sync, feature dispatch, and SupremeVantage packet transport wired across Fabric and NeoForge
  • ✅ M5: Server events & dispatch complete - login/logout, level unload, entity load/join handling, and NeoForge tool-modification hook wired
  • ✅ M6: Config UI complete - shared Cloth Config screen implemented, Fabric ModMenu factory wired, NeoForge config screen extension point registered
  • ✅ M7: Assets/Localization migration complete - migrated en_us.json and ru_ru.json into modern resources and added rewrite keybinding/localization keys
  • ✅ M8: Documentation signoff complete - traceability matrix refreshed to current milestone status
  • ✅ M9: Verification/regression gate complete - chiseledBuild and targeted NeoForge test gates pass

2.2.0

  • Add final strict traceability audit matrix mapping all appendix anchors (A-E) to modern implementation references.
  • Add cross-feature policy enforcement coverage for common shared flags in PolicyCoreService tests.
  • Mark parity rewrite phases and documentation signoff as complete after Milestone 6 validation.
  • Add runtime cropination harvest action evaluation with maturity, replant, and durability cadence decisions.
  • Add hydration-aware cultivation planning and lumbination trunk/leaf/sapling execution plans.
  • Add captivation runtime decision gating for GUI restrictions and radius checks.
  • Add focused runtime tests for farming, harvest, and captivation parity slices.
  • Add illumination manual-placement decisions, torch depletion reporting, and richer utility runtime coverage.
  • Add substitution combat/mining policy decisions with primary-tool switch-back behavior.
  • Add typed synced-config payloads and server override enforcement for all modern feature configs, including Cultivation.
  • Expand config records to carry legacy parity fields for block lists, policy toggles, torch placement, and override-aware settings.
  • Add legacy-parity keybinding metadata and client input toggle handling for feature enablement, excavation modes, illumination actions, and abort flow.
  • Preserve SupremeVantage as a hidden code-driven reward path with modern packet and service coverage.

2.1.0

  • Reset repository into modernization workspace with legacy archive in releases/original.
  • Replace legacy build with Stonecutter and Modstitch Kotlin DSL foundation.
  • Add four-node version matrix scaffold for Fabric and NeoForge.
  • Introduce descriptor-driven component lifecycle and shared service modules.
  • Add initial deterministic unit tests for processing, geometry, substitution, illumination, policy, drop handling, and bootstrap registration.
  • Add CI and release workflows for all Stonecutter nodes.