Skip to content

david-dorner/ProceduralCraft

Repository files navigation

ProceduralCraft

Procedural Blueprint Generator for Minecraft


What It Does

  • Generates structures from parameters (house, tower, castle, fountain, mountain base).
  • Shows a ghost preview, then applies as real blocks.
  • Works standalone. No dependencies on other mods.

Commands

The build commands share the signature [width] [length] [height] [floors] [seed]:

  • width (blocks, default 5) – bounded to 3–15.

  • length (blocks, default 5) – bounded to 3–15.

  • height (wall height in blocks, default 3) – bounded to 3–12. Roof height is automatically set one block above the walls.

  • floors (count, default 1) – bounded to 1–3. Requesting more than one floor requires at least three blocks of wall height per floor.

  • seed (optional long) – supply this at the end to request a deterministic build. Omit it to use the world RNG.

  • /genpreview [width] [length] [height] [floors] [seed] – swaps every touched block for tinted glass to show the resolved plan without committing real materials. Blocks that would be cleared (e.g., trees) are also replaced with tinted glass so you can see the footprint. Only one preview can exist per world; run /genclear or /genhouse to clear it before starting another.

  • /genclear – restores all blocks touched by the active preview using the states recorded when /genpreview ran, then drops the preview metadata.

  • /genapply – converts the active preview into real blocks using the stored plan, even if the ghost blocks were disturbed, and prepares an undo snapshot of the original terrain.

  • /genhouse [width] [length] [height] [floors] [seed] – builds the structure using the same plan that /genpreview would show. Any active preview in the world is cleared first so the build uses the live terrain.

  • /genundo – restores every block that was touched by the last /genhouse run in the same world, even if the player altered those blocks afterwards.

  • Safety rails: volume must remain under 20,480 blocks and total roof height must stay ≤13. Inputs that exceed these limits fail fast with an error message so players can adjust.

  • Each run prints a summary of the resolved plan, including the seed, footprint, and how many blocks were recorded for undo/preview.


Status at a Glance

  • Current focus: M1: Simple house with parameters in Creative
  • Latest release: None (work in progress)
  • Supported loaders: Fabric (dev)
  • Supported Minecraft: 1.20.x (target)

Milestones

  • M0: Fabric hello world. Command scaffold
  • M1: Simple house with parameters in Creative
  • M2: Preview layer in Creative (ghost), Apply, Undo
  • M3: Towers and basic castle composition (modules)
  • M4: Material counter and Survival resource gating
  • M5: Blueprint item UX, rotation, placement pacing over ticks
  • M6: Performance pass, chunk budgeter, regression seeds
  • M7: 1.0 Fabric release (Creative + Survival)
  • M8: NeoForge port beta (common core intact)
  • M9: 1.0 dual release (Fabric + NeoForge)

Phases / Checkpoints

Phase Description Status
1 Project setup and Fabric bootstrap ✅ DONE
2 Basic generation command (hut) ✅ DONE
3 Parameter system foundations 🟡 IN PROGRESS
4 Parameter catalog + engine modules ⏳ PLANNED
5 Preview architecture (IPreviewBuffer) ⏳ PLANNED
6 Creative UX (presets, safe placement) ⏳ PLANNED
7 Survival (blueprint item, resources) ⏳ PLANNED
8 Performance and pacing ⏳ PLANNED
9 NLP hooks (deferred) ⏳ PLANNED
10 Native acceleration hooks (optional) ⏳ PLANNED
11 NeoForge port ⏳ PLANNED
12 Packaging, docs, examples ⏳ PLANNED

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages