Initial project setup: RoadRunner (Multi-loader Stonecutter Template)

This commit is contained in:
bnair123
2025-12-31 00:45:01 +04:00
parent 32daa04478
commit 9a44e600ea
21 changed files with 833 additions and 0 deletions

38
PLAN.md Normal file
View File

@@ -0,0 +1,38 @@
# RoadRunner Development Plan
## Phase 1: The Foundation (Setup)
- [x] Initialize Project Boilerplate (Stonecutter/Architectury)
- [x] 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