Перейти к содержимому
Mineforgian

Blueprint Executor

Executes building blueprints from JSON.

Загрузки
94
Подписчики
0
Обновлён
12 апреля 2026 г.
Лицензия
Apache-2.0

Опубликован 29 марта 2026 г.

Blueprint Executor

Blueprint Executor is a Fabric mod for Minecraft 1.21.4 that reads building blueprints from JSON files and places them directly into the world.

Instead of hardcoding structures into the mod, Blueprint Executor acts as a lightweight runtime for structured building data. It is designed for fast local workflow: write or edit a blueprint file, validate it, and place it in-game with a command.

This makes it useful for:

  • building prototyping
  • reusable structure templates
  • JSON-based structure workflows
  • local blueprint testing
  • future AI / LLM-assisted building pipelines

Current Features

  • Load blueprints from JSON files in config/blueprintexecutor/

  • Validate blueprint structure before placement

  • Place blueprints in the world with commands

  • Support for:

    • point
    • line
    • fill
  • Support for block properties through JSON

  • Support for rotation:

    • north
    • east
    • south
    • west
  • Rotation-aware handling for common properties such as:

    • facing
    • axis

Commands

/blueprint ping
/blueprint load <file>
/blueprint validate <file>
/blueprint place <file>
/blueprint place <file> <x> <y> <z>
/blueprint place <file> <x> <y> <z> <rotation>

Example Use

Put a blueprint JSON file into:

config/blueprintexecutor/

Then use:

/blueprint validate house.json
/blueprint place house.json 100 64 200 east

Blueprint Format

Blueprints are defined in JSON and currently support a simple structured format like this:

{
  "version": 1,
  "name": "example_building",
  "placements": [
    {
      "type": "fill",
      "block": "minecraft:white_concrete",
      "from": [0, 0, 0],
      "to": [4, 4, 4]
    },
    {
      "type": "point",
      "block": "minecraft:spruce_stairs",
      "at": [2, 1, 0],
      "properties": {
        "facing": "north",
        "half": "bottom"
      }
    }
  ]
}

Notes

This mod is currently focused on being a practical local blueprint executor rather than a full structure editor.

The goal is to keep the runtime simple, predictable, and easy to extend.


LLM Blueprint Pre-Prompt

Reserved for future prompt design.

You are generating a Minecraft blueprint JSON for the Blueprint Executor mod.

Your output must follow these rules exactly.

# Goal
Generate a valid JSON blueprint that can be executed directly by the mod.

# Required format
- Output JSON only
- Do not include markdown
- Do not include explanations
- Do not include comments
- Do not wrap the JSON in code fences

# Top-level structure
The JSON must contain:
- version
- name
- placements

# Supported placement types
Only use:
- point
- line
- fill

Do not use any unsupported placement type.

# Block IDs
- Always use full Minecraft block IDs
- Example: minecraft:white_concrete
- Do not use shortened names unless explicitly allowed

# Coordinates
- All coordinates must be integer arrays of length 3
- point uses:
  - at
- line uses:
  - from
  - to
- fill uses:
  - from
  - to

# Properties
- Only include properties when needed
- Properties must match real block state names and valid values
- Common examples:
  - facing
  - axis
  - half
  - open
  - powered
  - waterlogged

# Rotation awareness
The mod may rotate the blueprint at placement time.
So the blueprint should be authored in a clean default orientation.

# Building strategy
- Prefer larger structural placements over excessive single-block placements
- Use point only when necessary
- Prefer line and fill for walls, floors, beams, frames, and large repeated structure
- Keep the blueprint clean and efficient
- Avoid redundant overlapping placements unless intentional

# Coordinate and orientation rules
- Before generating, first determine the building's main extension axis
- Before generating, determine whether the roof slopes along the X axis or the Z axis
- Stair orientation must be decided from coordinate changes, not from a subjective assumption about which side is the front
- All stair facings must match the actual slope direction
- All log axis properties must match the real placement direction
- Doors must use correct upper/lower, facing, and hinge properties if doors are generated
- Windows, beams, and decorative blocks must not block doors or other required openings

# Height validation rules
- Plan the structure by layers before generating:
  - foundation layer
  - floor layer
  - wall layer
  - beam/frame layer
  - roof layer
- Every placement must use the correct y level for its intended layer
- Carefully verify:
  - front stair height
  - window height consistency
  - beam height consistency
  - continuous roof height progression
  - correct slab ridge height
- If the structure is symmetrical, mirrored parts must also match in height and position

# Roof-specific rule
- If the structure includes a roof, first map the height progression row by row or column by column before writing placements
- Do not generate roof geometry purely by intuition

# JSON quality requirements
- Keep the blueprint as compact as possible
- Do not repeat large areas that can be represented with fill or line
- Use clear and readable names
- Avoid unnecessary decorative micro-detail unless requested

# Validation requirements
Before finalizing the JSON, check:
- version is present
- name is present
- placements is non-empty
- every placement has a valid type
- every placement has a valid block id
- coordinates are complete and valid
- properties are only used when supported by the target block

# Known issues / additional constraints
- Prioritize outer shell, floors, windows, beams, stairs, and roof structure
- Do not generate furniture unless explicitly requested
- Avoid complex redstone block states unless explicitly requested
- Do not use unsupported placement types
- Prefer simpler block state combinations when possible
- Be careful with height errors; coordinate correctness is more important than decoration
- Be careful with roof stair orientation; determine the slope axis first
- If there is any conflict between appearance, orientation, and coordinates, prioritize correct coordinates and heights
- Do not create redundant overlapping placements unless they are intentional and safe
- Only include properties when they are truly necessary for correct placement

# Final self-check order
Before outputting the final JSON, verify in this order:
1. overall dimensions and structural completeness
2. door and window placement
3. beam, frame, and pillar heights
4. roof row/column continuity across x, y, and z
5. stair facing and slab ridge height
6. property validity for each target block

# Output target
Generate one complete blueprint JSON.

Known Issues / Design Notes

When using LLMs to generate blueprints, some problems still need further refinement, especially around:

  • placement consistency
  • coordinate planning
  • rotation-aware structure generation
  • valid block property selection
  • large structure decomposition
  • blueprint cleanliness and redundancy

This part is still being iterated on.


Status

Early but already usable for local blueprint-driven building workflows.


This mod updates weekly, maybe one or two times a week.

Ченджлог

1.2.0+mc1.21.4-2026-04-12Релиз1.21.4 · 12 апреля 2026 г.

Blueprint Executor 1.2.0

Overview

1.2.0 is a safety-focused release for Blueprint Executor.

This version expands the mod’s pre-placement analysis from simple overwrite counts into a more meaningful risk classification system, and introduces configurable placement blocking for dangerous operations.

The overall goal of this release is to make blueprint placement safer by default:

  • detect what kind of blocks may be overwritten
  • classify placement risk into multiple tiers
  • warn users more clearly
  • optionally block dangerous placements before they happen

Added

Risk tier analysis (风险等级分析)

  • Added multi-tier placement risk analysis

  • Replaced the old “replace count only” model with risk classification based on the type of block being overwritten

  • New risk tiers:

    • LOW
    • MEDIUM
    • HIGH
    • CRITICAL

Risk score summary (风险评分汇总)

  • Added a weighted placement risk score

  • Different block categories now contribute different amounts to the final score

  • Dry-run and preview now report:

    • low-risk replacements
    • medium-risk replacements
    • high-risk replacements
    • critical-risk replacements
    • total risk score
    • highest detected risk tier

Configurable safety policy (可配置安全策略)

  • Added safety.json configuration support
  • Safety policy is stored in:
config/blueprintexecutor/safety.json
  • Default options include:

    • blockHighRiskPlacement
    • blockCriticalRiskPlacement
    • warnHighRiskPlacement
    • warnCriticalRiskPlacement

Safety commands (安全策略命令)

Added:

/blueprint safety
/blueprint safety reload

These commands allow users to inspect and reload the active safety configuration without restarting the game.


Changed

Dry-run risk output improvements (空跑风险输出改进)

  • /blueprint dryrun now reports detailed risk summaries in addition to placement impact data

  • Dry-run can now distinguish between replacing:

    • ordinary building blocks
    • functional blocks
    • storage blocks
    • special or highly sensitive blocks

Preview risk output improvements (预览风险输出改进)

  • /blueprint preview now includes the same risk summary as dry-run
  • Preview is now more useful as a true “decision point” before placement

Placement warnings (放置警告改进)

  • /blueprint place now issues explicit warnings when a placement includes HIGH or CRITICAL risk targets
  • Warnings are configurable through the safety policy

Placement blocking (放置阻止机制)

  • Placement can now be blocked by safety policy before execution

  • By default:

    • HIGH risk placements are warned
    • CRITICAL risk placements are blocked

This means placements that would overwrite especially sensitive targets can now be stopped before any world changes are made.


Internal

New risk analysis structures (新增风险分析结构)

Added new internal components for safety evaluation:

  • RiskTier
  • PlacementRiskSummary
  • PlacementRiskAnalyzer

These structures allow the mod to reason about placement danger in a more realistic way than simple overwrite counts.

New safety configuration system (新增安全配置系统)

Added:

  • SafetyConfig
  • SafetyConfigManager

This creates a stable foundation for future safety features such as:

  • force placement
  • confirmation workflows
  • custom server-side placement policies

Default safety behavior

The default safety.json generated by this release behaves like this:

{
  "blockHighRiskPlacement": false,
  "blockCriticalRiskPlacement": true,
  "warnHighRiskPlacement": true,
  "warnCriticalRiskPlacement": true
}

This means:

  • HIGH risk placements are allowed, but warned
  • CRITICAL risk placements are warned and blocked

Risk model notes

The current risk model evaluates only blocks that would actually be replaced:

  • air targets are ignored
  • same-state targets are ignored
  • only real replacements are classified

The first implementation uses a practical category-based model:

  • normal building blocks are usually LOW
  • interactive or directional blocks are often MEDIUM
  • storage, automation, and redstone-related blocks are often HIGH
  • especially sensitive or special-purpose blocks are CRITICAL

Commands added in 1.2.0

/blueprint safety
/blueprint safety reload

Commands improved in 1.2.0

/blueprint dryrun <file>
/blueprint dryrun <file> <x> <y> <z> [rotation]
/blueprint preview <file>
/blueprint preview <file> <x> <y> <z> [rotation]
/blueprint place <file>
/blueprint place <file> <x> <y> <z> [rotation]

Recommended upgrade summary

1.3.0 is recommended because it turns Blueprint Executor into a significantly safer building tool.

This release adds:

  • risk-aware dry-run analysis
  • risk-aware preview output
  • configurable safety policy
  • automatic blocking for dangerous placement cases

The result is a workflow that is much less likely to accidentally overwrite valuable or sensitive blocks.

1.1.0+mc1.21.4-2026-04-09Релиз1.21.4 · 9 апреля 2026 г.

Blueprint Executor 1.1.0

Overview

1.1.0 is the first major usability update for Blueprint Executor. This release upgrades the mod from a basic blueprint placement prototype into a safer and more practical building tool.

The main focus of this version is planning, analysis, and rollback. Blueprints can now be inspected before placement, simulated without modifying the world, and reverted after execution.


Added

Blueprint analysis (蓝图分析)

  • Added /blueprint info <file>

  • Displays core blueprint metadata:

    • blueprint name
    • file name
    • version
    • placement count

Dry-run mode (空跑模式)

  • Added /blueprint dryrun <file>

  • Added /blueprint dryrun <file> <x> <y> <z> [rotation]

  • Allows players to simulate a placement without changing the world

  • Reports:

    • total planned block count
    • placement origin
    • rotation
    • bounding box (包围盒)
    • whether the blueprint contains air blocks

Undo support (撤销支持)

  • Added /blueprint undo
  • Reverts the most recent placement session
  • Every placement now records the affected blocks before writing them into the world

Changed

Placement pipeline refactor (放置流程重构)

  • Refactored blueprint placement from a direct-write model into a plan + apply model

  • Placements are now processed in two stages:

    1. generate a PlacementPlan (放置规划)
    2. apply that plan to the world

This change is the foundation for:

  • dry-run
  • undo
  • future preview support
  • future overwrite analysis
  • future UI integration

Command workflow improvements (命令工作流改进)

  • /blueprint place now uses the planned placement pipeline internally
  • Placement feedback is now more informative
  • Placement sessions are tracked for rollback

Internal

New internal structures (新增内部结构)

Added new internal data models to support analysis and rollback:

  • PlacementPlan
  • PlannedBlock
  • BlueprintAnalysis
  • PlacementSession
  • ChangedBlock
  • UndoManager

Codebase improvements (代码结构改进)

  • Separation between blueprint planning and world mutation is now much cleaner
  • Improved reuse of placement logic for future command expansion
  • Established a safer base for preview and session-based features

Notes

  • Undo currently supports the most recent placement session
  • Placement history is intentionally lightweight in this release
  • This version focuses on command-side safety and tooling rather than GUI features

Commands added in 1.1.0

/blueprint info <file>
/blueprint dryrun <file>
/blueprint dryrun <file> <x> <y> <z> [rotation]
/blueprint undo

Recommended upgrade summary

If you were using earlier prototype builds, 1.1.0 is the recommended upgrade because it adds:

  • safer placement workflow
  • pre-placement inspection
  • rollback capability
  • cleaner internal architecture for future expansion

Комментарии

Загружаем…