Files
RoadBuildMC/PLAN.md

1.4 KiB

RoadRunner Development Plan

Phase 1: The Foundation (Setup)

  • Initialize Project Boilerplate (Stonecutter/Architectury)
  • Configure Project Metadata (RoadRunner, com.bnair.roadrunner)
  • User: Install Java 21 and IntelliJ IDEA
  • User: Run ./gradlew build to verify setup

Phase 2: The Mathematician (Core Logic)

  • Implement BezierCurve class (Cubic Bezier math)
  • Implement RoadProfile data structure:
    • Lanes (Width, Type, Material)
    • Banking logic
    • Snapping logic (Tangents)
  • Create debug "Planner Item" to visualize curves with particles

Phase 3: The Architect (GUI & Blueprints)

  • Integrate Owo-lib for GUI
  • Create "Blueprint Planner" item
  • Implement Top-Down Map GUI (DrawContext)
  • Implement "Ghost" rendering for planned roads (WorldRenderEvents)

Phase 4: The Foreman (Survival Mechanics)

  • Create "Site Office" Block
  • Implement Resource Consumption logic
  • Implement "Virtual Crew" construction mechanic (Progressive building)
  • Add sound effects and particles for construction

Phase 5: The Civil Engineer (Advanced Features)

  • Terrain Mode: "Follow Terrain" vs "Cut & Fill"
  • Bridges and Tunnels automation
  • "Demolition Tool" with undo capability

Technical Decisions

  • Loader: Multi-loader (Fabric & NeoForge) via Architectury & Stonecutter
  • Language: Kotlin
  • GUI Lib: Owo-lib
  • Rendering: Fabric API / Architectury Rendering API