Smart MC Building Generator
Project Overview
The Smart MC Building Generator is an AI-powered tool that automatically generates Minecraft structures based on user prompts (e.g., "flat roof", "dark oak walls"). It combines data augmentation, 3D generative models, and Minecraft data format conversion to create 10x10x10 structures from single images or text prompts, exporting them as .schem
files.
๐จ๐ณ ็ฎไฝไธญๆ | ๐ฌ๐ง English
Key Features
- Data Loading & Parsing
โข Supports loading and parsing Minecraft.schem
files. - Data Augmentation
โข Generates diverse building variants via rotation and mirroring. - 3D Visualization
โข Preview structures as point clouds, colored cubes, or slice views. - Prompt-Driven Generation
โข Generate buildings from text prompts (e.g., "small house with a flat roof"). - Export Functionality
โข Save generated structures as.schem
files for direct use in Minecraft.
Dependencies
โข Python 3.8+
โข Core Libraries:
โข numpy
โข pyvista
โข nbtlib
โข torch
(for model training)
โข flask
(for web interface)
Installation:
pip install numpy pyvista nbtlib torch flask
Usage
1. Load & Parse Data
Place your .schem
file in the project directory and run:
from main import process_block_data
process_block_data("WoodHouse_3.schem")
2. Data Augmentation
Generate rotated/mirrored variants of existing structures:
from main import generate_rotated_and_mirrored_data
generate_rotated_and_mirrored_data()
3. Visualization
Preview structures using:
from main import preview_point_cloud, preview_cubes_with_colors, preview_slices
preview_point_cloud(output_data) # Point cloud view
preview_cubes_with_colors(output_data) # Colored cubes
preview_slices(output_data) # Slice view
4. Prompt-Based Generation
Generate structures from text prompts:
from main import generate_from_prompt
generate_from_prompt("A small house with a flat roof and dark oak walls")
5. Export to .schem
Save generated structures:
from main import save_as_schem
save_as_schem(house_data, "generated_house.schem")
6. Web Interface
Launch the interactive web server:
python main.py
Visit http://Not_created_yet
to generate buildings via prompts.
File Structure
MC_Building_Generator/
โโโ schem/ # put .schem files
โ โโโ WoodHouse_3.schem
โโโ npy/ # put .npy files
โ โโโ block_data_0.npy
โโโ main.py # Main entry point
โโโ block_data.txt # Parsed block data
โโโ metadata.txt # Metadata (dimensions, block IDs)
โโโ README.md # This document
Examples
- Load a
.schem
file:python main.py
- Generate from a prompt:
โข Prompt:A small house with a flat roof and dark oak walls
โข Output:generated_house.schem
Notes
- Ensure
.schem
files follow Minecraft's format specifications. - Use clear and specific prompts for optimal results.
- Augmented data is saved in
block_data_*.npy
files.
Roadmap
- Support more building types and sizes.
- Optimize generation speed and model accuracy.
- Develop a real-time preview interface.
Contact
For questions or feedback:
โข Email: [email protected]
โข GitHub: https://github.com/fallingstars123/MC-AI-BuildingGenerate
โข Discord: thomasw2004