This project Simulates DEPS
.
├── src/
│ ├── minedojo_core/ # Core minedojo components (data, sim, tasks)
│ ├── gymnasium_env/ # Gymnasium environment wrapper
│ ├── models/ # Model implementations
│ ├── utils/ # Utility functions
│ └── __init__.py
├── configs/ # Configuration files
├── data/ # Data files and prompts
├── main.py # Main execution script
├── planner.py # Planning module
├── selector.py # Selection module
├── controller.py # Controller module
├── requirements.txt # Python dependencies
└── README.md
- Java Dependency Removal: Minimized Java dependencies outside Minecraft MDK
- Gymnasium Integration: Migrated from MineDojo to gymnasium environment
- Modular Design: Separated core components for better maintainability
- Configuration-based: Experiment configuration through YAML files
- Optimized Execution: Streamlined for research and experimentation
# Install dependencies
pip install -r requirements.txt
# Install in development mode
pip install -e .
# Run with default configuration
python main.py
# Run single task
python main.py eval.single_task=true eval.task_name=obtain_wooden_slab
# Run with custom configuration
python main.py --config-path configs --config-name custom
# Test core functionality
python -c "
import sys; sys.path.append('src')
from src.gymnasium_env import MineDojoEnv
from planner import Planner
from selector import Selector
print('All modules working correctly')
"
-
Clone and install:
git clone <repository> cd Simulator-master pip install -r requirements.txt
-
Test the installation:
python -c "from src.gymnasium_env import MineDojoEnv; print('✓ Installation successful')"
-
Run a simple task:
python main.py eval.single_task=true eval.task_name=obtain_wooden_slab
For planning functionality, you can use a local LLM:
# Set environment variables
export LLM_API_BASE="http://localhost:8000/v1"
export LLM_MODEL="local-llama3"
export LLM_API_KEY="DUMMY"
# Or edit data/openai_keys.txt
- main.py: Main entry point and experiment orchestration
- planner.py: LLM-based planning with local model support
- selector.py: Goal selection and horizon planning
- controller.py: Action execution and environment interaction
All experiments can be configured through YAML files in the configs/
directory.
The data/
directory contains:
- Task definitions and prompts
- Goal mappings and libraries
- Pre-computed embeddings
This project is designed for research in multi-task agents using large language models in Minecraft environments.