Merge develop

Develop
This commit is contained in:
Max Robinson 2025-04-26 11:57:36 -05:00 committed by GitHub
commit d25e439d86
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
66 changed files with 43427 additions and 724 deletions

13
.gitignore vendored
View file

@ -15,4 +15,15 @@ services/viaproxy/saves.json
services/viaproxy/viaproxy.yml
tmp/
wandb/
experiments/
experiments/
andy_*.json
jill_*.json
src/models/logs/*
server_data/*
results/*
tasks/construction_tasks/test_multiagent_construction_tasks.json
tasks/construction_tasks/train_multiagent_construction_tasks.json
tasks/construction_tasks/test/**
tasks/construction_tasks/train/**
server_data*
**/.DS_Store

38
Dockerfile Normal file
View file

@ -0,0 +1,38 @@
# Specify a base image
# FROM ubuntu:22.04
FROM node:18
#Install some dependencies
RUN apt-get -y update
RUN apt-get -y install git
RUN apt-get -y install unzip
RUN apt-get -y install python3
RUN apt-get -y install python3-pip
RUN apt-get -y install python3-boto3
RUN apt-get -y install python3-tqdm
RUN apt-get -y install tmux
RUN git clone https://github.com/icwhite/mindcraft.git /mindcraft
WORKDIR /mindcraft
COPY ./server_data.zip /mindcraft
RUN unzip server_data.zip
RUN npm install
# Copy the rest of the application code to the working directory
RUN apt update
RUN apt install bash ca-certificates wget git -y # install first to avoid openjdk install bug
RUN apt install openjdk-17-jre-headless -y
# Install unzip
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
RUN unzip awscliv2.zip
RUN ./aws/install
VOLUME /data
EXPOSE 8000

View file

@ -2,7 +2,7 @@
Crafting minds for Minecraft with LLMs and [Mineflayer!](https://prismarinejs.github.io/mineflayer/#/)
[FAQ](https://github.com/kolbytn/mindcraft/blob/main/FAQ.md) | [Discord Support](https://discord.gg/mp73p35dzC) | [Video Tutorial](https://www.youtube.com/watch?v=gRotoL8P8D8) | [Blog Post](https://kolbynottingham.com/mindcraft/) | [Contributor TODO](https://github.com/users/kolbytn/projects/1)
[FAQ](https://github.com/kolbytn/mindcraft/blob/main/FAQ.md) | [Discord Support](https://discord.gg/mp73p35dzC) | [Video Tutorial](https://www.youtube.com/watch?v=gRotoL8P8D8) | [Blog Post](https://kolbynottingham.com/mindcraft/) | [Contributor TODO](https://github.com/users/kolbytn/projects/1) | [Paper Website](https://mindcraft-minecollab.github.io/index.html) | [MineCollab](https://github.com/kolbytn/mindcraft/blob/main/minecollab.md)
> [!Caution]
@ -30,6 +30,16 @@ Do not connect this bot to public servers with coding enabled. This project allo
If you encounter issues, check the [FAQ](https://github.com/kolbytn/mindcraft/blob/main/FAQ.md) or find support on [discord](https://discord.gg/mp73p35dzC). We are currently not very responsive to github issues.
## Tasks
Bot performance can be roughly evaluated with Tasks. Tasks automatically intialize bots with a goal to aquire specific items or construct predefined buildings, and remove the bot once the goal is achieved.
To run tasks, you need python, pip, and optionally conda. You can then install dependencies with `pip install -r requirements.txt`.
Tasks are defined in json files in the `tasks` folder, and can be run with: `python tasks/run_task_file.py --task_path=tasks/example_tasks.json`
For full evaluations, you will need to [download and install the task suite. Full instructions.](minecollab.md#installation)
## Model Customization
You can configure project details in `settings.js`. [See file.](settings.js)
@ -53,6 +63,7 @@ You can configure the agent's name, model, and prompts in their profile like `an
| `openrouter` | `OPENROUTER_API_KEY` | `openrouter/anthropic/claude-3.5-sonnet` | [docs](https://openrouter.ai/models) |
| `glhf.chat` | `GHLF_API_KEY` | `glhf/hf:meta-llama/Llama-3.1-405B-Instruct` | [docs](https://glhf.chat/user-settings/api) |
| `hyperbolic` | `HYPERBOLIC_API_KEY` | `hyperbolic/deepseek-ai/DeepSeek-V3` | [docs](https://docs.hyperbolic.xyz/docs/getting-started) |
| `vllm` | n/a | `vllm/llama3` | n/a |
If you use Ollama, to install the models used by default (generation and embedding), execute the following terminal command:
`ollama pull llama3.1 && ollama pull nomic-embed-text`

View file

@ -1,350 +0,0 @@
import argparse
import json
import shutil
import subprocess
import time
from datetime import datetime
import re
import sys
import os
import time
def read_settings(file_path):
"""Read and parse the settings.js file to get agent profiles."""
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
# Remove `export default` and trailing commas
content = re.sub(r'export\s+default', '', content)
content = re.sub(r',\s*(?=[}\]])', '', content)
# Remove JavaScript comments
content = re.sub(r'//.*', '', content)
# Remove trailing commas (e.g., before } or ])
content = re.sub(r',\s*(?=[}\]])', '', content)
# Strip leading and trailing whitespace
content = content.strip()
json_data = json.loads(content)
profiles = json_data['profiles']
## profiles is a list of strings like "./andy.json" and "./bob.json"
agent_names = [profile.split('/')[-1].split('.')[0] for profile in profiles]
return agent_names
def check_task_completion(agents):
"""Check memory.json files of all agents to determine task success/failure."""
for agent in agents:
memory_path = f"bots/{agent}/memory.json"
try:
with open(memory_path, 'r') as f:
memory = json.load(f)
# Check the last system message in turns
for turn in reversed(memory['turns']):
if turn['role'] == 'system' and 'code' in turn['content']:
# Extract completion code
if 'code : 2' in turn['content']:
return True # Task successful
elif 'code : 4' in turn['content']:
return False # Task failed
except (FileNotFoundError, json.JSONDecodeError) as e:
print(f"Error reading memory for agent {agent}: {e}")
continue
return False # Default to failure if no conclusive result found
def update_results_file(task_id, success_count, total_count, time_taken, experiment_results, results_filename):
"""Update the results file with current success ratio and time taken."""
success_ratio = success_count / total_count
with open(results_filename, 'w') as f: # 'w' mode overwrites the file each time
f.write(f"Task ID: {task_id}\n")
f.write(f"Experiments completed: {total_count}\n")
f.write(f"Successful experiments: {success_count}\n")
f.write(f"Success ratio: {success_ratio:.2f}\n")
f.write(f"Time taken for last experiment: {time_taken:.2f} seconds\n")
# Write individual experiment results
for i, result in enumerate(experiment_results, 1):
f.write(f"Experiment {i}: {'Success' if result['success'] else 'Failure'}, Time taken: {result['time_taken']:.2f} seconds\n")
# Write aggregated metrics
total_time = sum(result['time_taken'] for result in experiment_results)
f.write(f"\nAggregated metrics:\n")
f.write(f"Total experiments: {total_count}\n")
f.write(f"Total successful experiments: {success_count}\n")
f.write(f"Overall success ratio: {success_ratio:.2f}\n")
f.write(f"Total time taken: {total_time:.2f} seconds\n")
f.write(f"Average time per experiment: {total_time / total_count:.2f} seconds\n")
f.write(f"Last updated: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n")
def set_environment_variable_tmux_session(session_name, key, value):
"""Set an environment variable for the current process."""
subprocess.run(["tmux", "send-keys", "-t", session_name, f"export {key}={value}", "C-m"])
def launch_parallel_experiments(task_path,
num_exp,
exp_name,
num_agents=2,
model="gpt-4o",
num_parallel=1):
with open(task_path, 'r', encoding='utf-8') as file:
content = file.read()
json_data = json.loads(content)
task_ids = json_data.keys()
# split the task_ids into num_parallel groups
task_ids = list(task_ids)
task_ids_split = [task_ids[i::num_parallel] for i in range(num_parallel)]
servers = create_server_files("../server_data/", num_parallel)
date_time = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
experiments_folder = f"experiments/{exp_name}_{date_time}"
exp_name = f"{exp_name}_{date_time}"
# start wandb
os.makedirs(experiments_folder, exist_ok=True)
for i, server in enumerate(servers):
launch_server_experiment(task_path, task_ids_split[i], num_exp, server, experiments_folder, exp_name)
time.sleep(5)
def launch_server_experiment(task_path,
task_ids,
num_exp,
server,
experiments_folder,
exp_name="exp",
num_agents=2,
model="gpt-4o"):
"""
Launch a Minecraft server and run experiments on it.
@param task_path: Path to the task file
@param task_ids: IDs of the tasks to run
@param num_exp: Number of experiments to run
@param server: Tuple containing server path and port
@param experiments_folder: Folder to store experiment results
@param exp_name: Name of the experiment for wandb dataset
@param num_agents: Number of agents to run
@param model: Model to use for the agents
"""
server_path, server_port = server
edit_file(os.path.join(server_path, "server.properties"), {"server-port": server_port})
mindserver_port = server_port - 55916 + 8080
# set up server and agents
session_name = str(server_port - 55916)
if num_agents == 2:
agent_names = [f"andy_{session_name}", f"jill_{session_name}"]
models = [model] * 2
else:
agent_names = [f"andy_{session_name}", f"jill_{session_name}", f"bob_{session_name}"]
models = [model] * 3
make_profiles(agent_names, models)
# edit_file("settings.js", {"profiles": [f"./{agent}.json" for agent in agent_names]})
agent_profiles = [f"./{agent}.json" for agent in agent_names]
agent_profiles_str = f"\'[\"{agent_profiles[0]}\", \"{agent_profiles[1]}\"]\'"
print(agent_profiles_str)
launch_world(server_path, session_name="server_" + session_name, agent_names=agent_names)
subprocess.run(['tmux', 'new-session', '-d', '-s', session_name], check=True)
# set environment variables
set_environment_variable_tmux_session(session_name, "MINECRAFT_PORT", server_port)
set_environment_variable_tmux_session(session_name, "MINDSERVER_PORT", mindserver_port)
set_environment_variable_tmux_session(session_name, "PROFILES", agent_profiles_str)
script_content = ""
for task_id in task_ids:
cmd = f"node main.js --task_path {task_path} --task_id {task_id}"
cp_cmd = f"cp {agent_names[0]}.json {server_path}bots/{agent_names[0]}/profile.json"
for _ in range(num_exp):
script_content += f"{cmd}\n"
script_content += "sleep 2\n"
for agent in agent_names:
cp_cmd = f"cp bots/{agent}/memory.json {experiments_folder}/{task_id}_{agent}_{_}.json"
script_content += f"{cp_cmd}\n"
script_content += "sleep 1\n"
script_content += f"echo 'Uploading {experiments_folder}/{task_id}_{agent}_{_}.json to wandb'\n"
wandb_cmd = f"wandb artifact put {experiments_folder}/{task_id}_{agent}_{_}.json --name {exp_name}_{task_id}_{agent}_{_} --type dataset"
script_content += f"echo '{wandb_cmd}'\n"
script_content += f"{wandb_cmd}\n"
script_content += "sleep 1\n"
script_content += "sleep 1\n"
# Create a temporary shell script file
script_file = f"./tmp/experiment_script_{session_name}.sh"
script_dir = os.path.dirname(script_file)
os.makedirs(script_dir, exist_ok=True)
# Call the function before writing the script file
with open(script_file, 'w') as f:
f.write(script_content)
script_file_run = "bash " + script_file
# Execute the shell script using subprocess
subprocess.run(["tmux", "send-keys", "-t", session_name, script_file_run, "C-m"])
# subprocess.run(["tmux", "send-keys", "-t", session_name, f"/op {agent_names[0]}", "C-m"])
def make_profiles(agent_names, models):
assert len(agent_names) == len(models)
for index in range(len(agent_names)):
content = {"name": agent_names[index], "model": models[index], "modes": {"hunting": False}}
with open(f"{agent_names[index]}.json", 'w') as f:
json.dump(content, f)
def create_server_files(source_path, num_copies):
"""Create multiple copies of server files for parallel experiments."""
print("Creating server files...")
print(num_copies)
servers = []
for i in range(num_copies):
dest_path = f"../server_data_{i}/"
copy_server_files(source_path, dest_path)
print(dest_path)
edit_file(dest_path + "server.properties", {"server-port": 55916 + i})
# edit_server_properties_file(dest_path, 55916 + i)
servers.append((dest_path, 55916 + i))
return servers
def edit_file(file, content_dict):
try:
with open(file, 'r') as f:
lines = f.readlines()
with open(file, 'w') as f:
for line in lines:
for key, value in content_dict.items():
if line.startswith(key):
f.write(f"{key}={value}\n")
else:
f.write(line)
print(f"{file} updated with {content_dict}")
except Exception as e:
print(f"Error editing file {file}: {e}")
def clean_up_server_files(num_copies):
"""Delete server files from multiple locations."""
for i in range(num_copies):
dest_path = f"../server_data_{i}/"
delete_server_files(dest_path)
def copy_server_files(source_path, dest_path):
"""Copy server files to the specified location."""
try:
shutil.copytree(source_path, dest_path)
print(f"Server files copied to {dest_path}")
except Exception as e:
print(f"Error copying server files: {e}")
def delete_server_files(dest_path):
"""Delete server files from the specified location."""
try:
shutil.rmtree(dest_path)
print(f"Server files deleted from {dest_path}")
except Exception as e:
print(f"Error deleting server files: {e}")
def launch_world(server_path="../server_data/", agent_names=["andy", "jill"], session_name="server"):
"""Launch the Minecraft world."""
print(server_path)
cmd = f"cd {server_path} && java -jar server.jar"
subprocess.run(['tmux', 'new-session', '-d', '-s', session_name], check=True)
subprocess.run(["tmux", "send-keys", "-t", session_name, cmd, "C-m"])
for agent in agent_names:
subprocess.run(["tmux", "send-keys", "-t", session_name, f"/op {agent}", "C-m"])
time.sleep(5)
def kill_world(session_name="server"):
"""Kill the Minecraft world."""
subprocess.run(["tmux", "send-keys", "-t", session_name, "stop", "C-m"])
time.sleep(5)
subprocess.run(["tmux", "kill-session", "-t", session_name])
def detach_process(command):
"""
Launches a subprocess and detaches from it, allowing it to run independently.
Args:
command: A list of strings representing the command to execute, e.g., ['python', 'my_script.py'].
"""
try:
# Create a new process group so the child doesn't get signals intended for the parent.
# This is crucial for proper detachment.
kwargs = {}
if sys.platform == 'win32':
kwargs.update(creationflags=subprocess.CREATE_NEW_PROCESS_GROUP) # Windows specific
process = subprocess.Popen(command,
stdin=subprocess.PIPE, # Prevent stdin blocking
stdout=subprocess.PIPE, # Redirect stdout
stderr=subprocess.PIPE, # Redirect stderr
close_fds=True, # Close open file descriptors
**kwargs)
print(f"Process launched with PID: {process.pid}")
return process.pid # Return the PID of the detached process
except FileNotFoundError:
print(f"Error: Command not found: {command}")
return None
except Exception as e:
print(f"An error occurred: {e}")
return None
def main():
# edit_settings("settings.js", {"profiles": ["./andy.json", "./jill.json"], "port": 55917})
# edit_server_properties_file("../server_data/", 55917)
parser = argparse.ArgumentParser(description='Run Minecraft AI agent experiments')
parser.add_argument('--task_path', default="multiagent_crafting_tasks.json", help='Path to the task file')
parser.add_argument('--task_id', default=None, help='ID of the task to run')
parser.add_argument('--num_exp', default=1, type=int, help='Number of experiments to run')
parser.add_argument('--num_parallel', default=1, type=int, help='Number of parallel servers to run')
parser.add_argument('--exp_name', default="exp", help='Name of the experiment')
parser.add_argument('--wandb', action='store_true', help='Whether to use wandb')
parser.add_argument('--wandb-project', default="minecraft_experiments", help='wandb project name')
args = parser.parse_args()
if args.wandb:
import wandb
wandb.init(project=args.wandb_project, name=args.exp_name)
# kill all tmux session before starting
try:
subprocess.run(['tmux', 'kill-server'], check=True)
except:
print("No tmux session to kill")
# delete all server files
clean_up_server_files(args.num_parallel)
if args.task_id is None:
launch_parallel_experiments(args.task_path, num_exp=args.num_exp, exp_name=args.exp_name, num_parallel=args.num_parallel)
# servers = create_server_files("../server_data/", args.num_parallel)
# date_time = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
# experiments_folder = f"{args.exp_name}_{date_time}"
# os.makedirs(experiments_folder, exist_ok=True)
# for server in servers:
# launch_server_experiment(args.task_path, [args.task_id], args.num_exp, server, experiments_folder)
# time.sleep(5)
# run_experiment(args.task_path, args.task_id, args.num_exp)
if __name__ == "__main__":
main()

View file

@ -1,112 +0,0 @@
{
"debug_single_agent": {
"goal": "Just stand at a place and don't do anything",
"initial_inventory": {},
"type": "debug"
},
"debug_multi_agent": {
"goal": "Just stand at a place and don't do anything",
"agent_count": 2,
"initial_inventory": {
"0": {
"iron_ingot": 1
},
"1": {
"iron_ingot": 1
}
},
"type": "debug"
},
"debug_inventory_restriction": {
"goal": "Place 1 oak plank, then place 1 stone brick",
"initial_inventory": {
"oak_planks": 20
},
"type": "debug",
"restrict_to_inventory": true
},
"construction": {
"type": "construction",
"goal": "Build a house",
"initial_inventory": {
"oak_planks": 20
}
},
"techtree_1_shears_with_2_iron_ingot": {
"goal": "Build a shear.",
"initial_inventory": {
"iron_ingot": 1
},
"target": "shears",
"number_of_target": 1,
"type": "techtree",
"timeout": 60
},
"multiagent_techtree_1_stone_pickaxe": {
"conversation": "Let's collaborate to build a stone pickaxe",
"goal": "Build a stone pickaxe",
"agent_count": 2,
"initial_inventory": {
"0": {
"wooden_pickaxe": 1
},
"1": {
"wooden_axe": 1
}
},
"target": "stone_pickaxe",
"number_of_target": 1,
"type": "techtree",
"timeout": 300
},
"multiagent_techtree_1_shears": {
"goal": "Collaborate with other agents to build a shear.",
"conversation": "Let's collaborate to build a shear.",
"agent_count": 2,
"initial_inventory": {
"0": {
"iron_ingot": 1
},
"1": {
"iron_ingot": 1
}
},
"target": "shears",
"number_of_target": 1,
"type": "techtree",
"timeout": 60
},
"smelt_ingot": {
"goal": "Smelt 1 iron ingot and 1 copper ingot",
"agent_count": 1,
"initial_inventory": {
"furnace": 1,
"raw_iron": 1,
"raw_copper": 1,
"coal": 2
},
"target": "copper_ingot",
"number_of_target": 1,
"type": "techtree",
"timeout": 300
},
"multiagent_smelt_ingot": {
"conversation": "Let's collaborate to smelt ingots",
"goal": "Smelt 1 iron ingot and 1 copper ingot, use star emojis in every response",
"agent_count": 2,
"initial_inventory": {
"0": {
"furnace": 1,
"coal": 2
},
"1": {
"raw_iron": 1,
"raw_copper": 1
}
},
"target": "copper_ingot",
"number_of_target": 1,
"type": "techtree",
"timeout": 300
}
}

154
minecollab.md Normal file
View file

@ -0,0 +1,154 @@
# MineCollab
MineCollab is a versatile benchmark for assessing the embodied and collaborative communication abilities of agents across three unique types of tasks.
## Existing Task Types
### Cooking
At the beginning of a cooking task episode, the agents are initialized with a goal to make a meal, e.g. they need to make cake and bread.
The agents then need to coordinate the collection of ingredients through natural language communication (e.g. Andy collects wheat for the bread while Jill makes the cake) and combine them in a multi-step plan.
To assist them in collecting resources, agents are placed in a "cooking world" that possesses all of the items they need to complete the task, from livestock, to crops, to a smoker, furnace, and crafting table.
Following a popular test of collaboration in humans, we further introduce a ``Hell's Kitchen'' variant of the cooking tasks where each agent is given the recipes for a small subset of the items they need to cook and must communicate the instructions with the other teammates.
For example, if the task is to make a baked potato and a cake, one agent is given recipe for baked potato, but is required to bake the cake to complete the task, forcing them to ask their teammate for help in baking the potato.
Agents are evaluated on whether are successfully able to complete the set requirements to make the recipes.
The environment and objectives of the tasks are randomized every episode.
You can view the cooking task in action [here](https://www.youtube.com/shorts/FbNJ3cR_RWY).
### Construction
In the construction tasks, agents are directed to build structures from procedurally generated blueprints.
Blueprints can also be downloaded from the internet and read into our blueprint format - enabling agents to build anything from pyramids to the Eiffel Tower.
We choose evaluate primarily on our generated blueprints as they provide fine-grained control over task complexity, allowing us to systematically vary the depth of collaboration required---e.g. number of rooms in the interior of palace, or the amount and types of materials required for each room.
At the beginning of each episode, agents are initialized with the blueprint, materials (e.g. stone, wood, doors, carpets) in such a way that no agent has the full resources or the expertise in terms of the types of tools that can be used to process the resources and complete the entire blueprint.
For example, if the blueprint required a stone base and a wooden roof, one agent would be given access and the ability to manipulate stone, the other to wood.
Agents are evaluated via an edit distance based metric that judges how close their constructed building is to the blueprint and the metric reported is the average of those edit distance scores.
You can view the construction task in action [here](https://www.youtube.com/shorts/vuBycbn35Rw)
### Crafting
Crafting has long been the subject of Minecraft agent research---our crafting tasks encompass the entire breadth of items that are craftable in Minecraft including clothing, furniture, and tools.
At the beginning of each episode, the agents are initialized with a goal (e.g. make a bookshelf), different sets of resources (e.g. books and planks), and access to a crafting recipe, that is occasionally blocked.
To complete the task, the agents must: (1) communicate with each other what items are in their inventory; (2) share with each other the crafting recipe if necessary; and (3) give each other resources to successfully craft the item.
To make the crafting tasks more challenging, agents are given longer crafting objectives (e.g. crafting a compass which requires multiple steps).
%They are required to coordinate their actions by communicating their plans with each other as no
%we introduce longer crafting recipes (e.g. crafting a compass), and require the agents to communicate the plan to each other.
Once again, each of these components can be controlled to procedurally generate tasks.
You can view the crafting task in action [here](https://www.youtube.com/shorts/VMAyxwMKiBc).
## Installation
Please follow the installation docs in the README to install mindcraft. You can create a docker image using the Dockerfile.
Download the relevant task files and server data files, you can find the link [here](https://drive.google.com/drive/folders/1XygbitBBTsNO6q_doEiZHmdETpnyRmCS). The tasks files are for specifying the tasks to run and the server data is for allowing the models to launch the task in the correct world automatically. **Unzip the server_data.zip in the base `tasks/` folder**.
Then, set up your conda environment:
```
conda create --name mindcraft python=3.11
conda activate mindcraft
pip install -r requirements.txt
```
Then, you can run the evaluation_script **from the project root** using `python tasks/evaluation_script.py --task_path {your-task-path} --model {model you want to use}`.
If you want to run with vllm be sure to run with `--api vllm --url {your_url_for_vllm} --model {model_name}`, by default vllm will use http://127.0.0.1:8000/v1 as the url for quering the model!
When running with construction tasks, make sure to set the flag `--insecure_coding` so that the agents can be allowed to write freeform javascript code to complete the tasks. However, when using insecure coding it is highly recommended to use a docker container to avoid damage to your computer.
When running an experiment that requires more than 2 agents, use the `--num_agents` flag to match the number of agents in your task file. For example, if you are running a task file with 3 agents, use `--num_agents 3`.
Similarly, match the default prompt profile to the type of task. If you are running a crafting task use `--template_profile profiles/tasks/crafting_profile.json` to set that as the default profile. Similar for cooking and construction tasks.
In summary, to run two and three agent tasks on crafting on gpt-4o-mini you would run
```
python tasks/evaluation_script.py --task_path tasks/crafting_tasks/test_tasks/2_agent.json --model gpt-4o-mini --template_profile profiles/tasks/crafting_profile.json
python tasks/evaluation_script.py --task_path tasks/crafting_tasks/test_tasks/filtered_tasks_3_agents.json --model gpt-4o-mini --template_profile profiles/tasks/crafting_profile --num_agents 3
```
For cooking and construction
```
python tasks/evaluation_script.py --task_path {path_to_two_agent_cooking_tasks} --model gpt-4o-mini --template_profile profiles/tasks/cooking_profile.json
python tasks/evaluation_script.py --task_path {path_to_two_agent_construction_tasks} --model gpt-4o-mini --template_profile profiles/tasks/construction_profile.json --insecure_coding
```
When you launch the evaluation script, you will see the minecraft server being launched. If you want to join this world, you can connect to it on the port localhost:55916 the way you would a standard Minecraft world (go to single player -> direct connection -> type in localhost:55916) It may take a few minutes for everything to be properly loaded - as first the agents need to be added to the world and given the correct permissions to use cheats and add inventory. After about 5 minutes everything should be loaded and working. If you wish to kill the experiment run `tmux kill-server`. Sometimes there will be issues copying the files, if this happens you can run the python file twice.
## Installation (without tmux)
If you are on a machine that can't run tmux (like a Windows PC without WSL) or you don't care about doing evaluations only running tasks you can run the following script
```
python tasks/run_task_file.py --task_path=tasks/single_agent/crafting_train.json
```
## Using the Evaluation Script
When you launch with `python evaluation_script.py` a Minecraft server will be launched in the `server_0` tmux shell, while in the `0` tmux shell the `node main.js` command will be run. You can view the exact bash shell that is being created and executed in the `tmp/` directory.
### Evaluating Results
As you run, the evalaution script will evaluate the performance so far. It will also log all of the results you have collected into an experiments/ folder with entries like experiments/exp_04-21_16-16/results.txt which will contain the results of your experiments after you have finished running them. Furthermore it will contain individual task folders and the `memory.json` for each agent when the task ended. The `memory.json` is not the complete conversation, it is only the last 15 messages before the task terminated, as well as a message saying `Task ended with score: ` to report the score when the task ended. For crafting and cooking this score will be 0 or 1, for construction it will be a decimal representing the edit distance from the true blueprint.
### Running multiple worlds in parallel
You can use `--num_parallel` to run multiple Minecraft worlds in parallel. This will launch `n` tmux shells, claled `server_i` and shell `i`, where `i` corresponds to ith parallel world. It will also copy worlds into `server_data_i` as well. On an M3 Mac with 34 GB of RAM, we can normally support up to 4 parallel worlds. When running an open source model, it is more likely you will be constrained by the throughput and size of your GPU RAM. On a cluster of 8 H100s you can expect to run 4 experiments in parallel. However, for best performance it is advisable to only use one parallel world.
### Using an S3 Bucket to store files
To use S3 set the --s3 flag and the --bucket_name to use an s3 bucket to log all the files collected. It will also copy the /bots folder in this case with all of the files in there.
## Understanding Task Json
This is an example task json from the crafting tasks file.
```
"multiagent_crafting_pink_wool_full_plan__depth_0": {
"goal": "Collaborate with other agents to craft an pink_wool",
"conversation": "Let's work together to craft an pink_wool.",
"initial_inventory": {
"0": {
"pink_dye": 1
},
"1": {
"black_wool": 1
}
},
"agent_count": 2,
"target": "pink_wool",
"number_of_target": 1,
"type": "techtree",
"max_depth": 1,
"depth": 0,
"timeout": 300,
"blocked_actions": {
"0": [],
"1": []
},
"missing_items": [],
"requires_ctable": false
},
```
The "initial inventory" specifies what items will be given to the agents when they spawn in the world. The "target" indicates what the goal item is, while the "type" indicates that this a techtree or crafting task. Blocked actions specifies what actions are blocked and the timeout specifies the number of seconds until the agents run out of time to complete the task.
## Creating New Tasks
To create a new task, you simply need to set the initial inventory and the target item. For construction tasks, you can set a new blueprint. See examples of those in tasks/construction_tasks/
To create a task that relies on neither an inventory check or a blueprint check, you will need to design you own evaluation function. The examples for our existing evaluation functions can be found in src/agent/tasks/cooking_tasks.js CookingTaskValidator. For any further questions please contact me at i2white@ucsd.edu.
## Creating New Worlds
To add new worlds to the minecraft environment beyond the base Forest and Superflat worlds we have created, please (1) create a world in your version of Minecraft then (2) copy the world files into the server_data folder and (3) set server.properties file level-name to be the same as the name of the world you created.
## Evaluating New Models
To evaluate a new model on our tasks, please refer to the instructions on main README for adding models. If the model can be hosted through vllm, consider using the --vllm flag and instructions above for running that.

View file

@ -0,0 +1,42 @@
{
"name": "andy",
"model": "gpt-4o-mini",
"conversing": "You are a task-focused Minecraft bot named $NAME. You have to collaborate with other agents in the world to complete the current task \nFeel free to ask other agents questions and make a plan to achieve the goal. You can request them to give them some of their inventory items if required to complete the goal. You can see, move, mine, build, and interact with the world by using commands.\n$SELF_PROMPT Act human-like as if you were a typical Minecraft player, rather than an AI. Be very brief in your responses, don't apologize constantly, don't give instructions or make lists unless asked, and don't refuse requests. Don't pretend to act, use commands immediately when requested. Do NOT say this: 'Sure, I've stopped.', instead say this: 'Sure, I'll stop. !stop'. Do NOT say this: 'On my way! Give me a moment.', instead say this: 'On my way! !goToPlayer(\"playername\", 3)'. Respond only as $NAME, never output '(FROM OTHER BOT)' or pretend to be someone else. If you have nothing to say or do, respond with an just a tab '\t'. Share resources and information with other bots! This is extremely important to me, take a deep breath and have fun :) \nSummarized memory:'$MEMORY'\n$STATS\n$INVENTORY\n$COMMAND_DOCS\n$EXAMPLES\nConversation Begin:",
"modes": {
"cheat": false
},
"conversation_examples": [
[
{"role": "assistant", "content": "Alright I have the necessary materials to build, what needs to be done for the first level of the blueprint? !checkBlueprintLevel(0)"},
{"role": "system", "content": "Level 0 requires the following fixes:\n Place oak_door at X: 144, Y: -60, Z: -179"},
{"role": "assistant", "content": "I'll start by placing the oak_door at the specified coordinates. !newAction(\"Place oak_door at X: 144, Y: -60, Z: -179\")"},
{"role": "assistant", "content": "I've placed the oak_door. What's next? !checkBlueprintLevel(0)"},
{"role": "system", "content": "Level 0 is complete"}
],
[
{"role": "system", "content": "Level 2 is complete"},
{"role": "assistant", "content": "Great the last level is complete, let's check the whole blueprint just to be sure. !checkBlueprint"}
],
[
{"role": "user", "content": "philips: (FROM OTHER BOT) I've got stone. What about you?"},
{"role": "assistant", "content": "I have a door and planks. Great we have everything we need from the blueprint. Let's start building the first level! !checkBlueprintLevel(0)"},
{"role": "system", "content": "Level 0 requires the following fixes:\n Place stone at X:100, y: -60, Z:-179\n Place stone at X: 99, Y: -60, Z:-179\n Place stone at X: 98, Y:-60, Z:-179..."},
{"role": "assistant", "content": "Looks like the first level requires only stone, why don't you build that since you have stone?"},
{"role": "user", "content": "philips: (FROM OTHER BOT) Ok, let me see what needs to be done for level 0. !checkBlueprintLevel(0) "},
{"role": "system", "content": "Level 0 requires the following fixes:\n Place stone at X:100, y: -60, Z:-179\n Place stone at X: 99, Y: -60, Z:-179\n Place stone at X: 98, Y:-60, Z:-179..."},
{"role": "user", "content": "philips: (FROM OTHER BOT) Ok, since I have stone let me place the necessary blocks. !newAction(\"Place stone for level 0\")"},
{"role": "user", "content": "philips: (FROM OTHER BOT) I've placed the stone blocks for level 0. Let's check if it is done! !checkBlueprintLevel(0)"},
{"role": "user", "content": "philips: (FROM OTHER BOT) Since the blueprint for level 1 only needs stone, I'll start placing those. !newAction(\"Place stone blocks for level 1.\")"},
{"role": "assistant", "content": " I'll place the planks for level 2. !newAction(\"Place planks for level 2.\")"}
],
[
{"role": "assistant", "content": "I need 30 stones to build level 1 of blueprint, but I only have 20. Can you pass me some stones if you have any?"},
{"role": "user", "content": "philips: (FROM OTHER BOT) Sure, I'll pass you 10 stones. !givePlayer(\"fujibayashi\", \"stone\", 10)"},
{"role": "assistant", "content": "I've received the stones, let me start placing them. !newAction(\"Place stone for level 1\")"}
]
]
}

View file

@ -0,0 +1,11 @@
{
"name": "andy",
"model": "claude-3-5-sonnet-latest",
"modes": {
"hunting": false,
"item_collecting": true,
"elbow_room": false
},
"conversing": "You are a task-focused Minecraft bot named $NAME. You have to collaborate with other agents in the world to complete the current task \nFeel free to ask other agents questions and make a plan to achieve the goal. You can request them to give them some of their inventory items if required to complete the goal. General Searching Tips:\n- You will be spawned in a farm with many crops and animals nearby. The farm area is extensive - search thoroughly for needed resources (with searchForBlocks parameters like 64,128,256)\n There is a chest nearby with valuable items. Along with the chest, a crafting table, fully fueled furnace and fully fueled smoker with coal are also available nearby which you can use to your advantage. On top of this plants like mushrooms, wheat, carrots, beetroots, pumpkins, potatoes are also present nearby.\nCollaboration tips - Divide tasks efficiently between agents for faster completion\n- Communicate your plan and progress clearly. You can see, move, mine, build, and interact with the world by using commands.\n$SELF_PROMPT Act human-like as if you were a typical Minecraft player, rather than an AI. Be very brief in your responses, don't apologize constantly, don't give instructions or make lists unless asked, and don't refuse requests. Don't pretend to act, use commands immediately when requested. Do NOT say this: 'Sure, I've stopped.', instead say this: 'Sure, I'll stop. !stop'. Do NOT say this: 'On my way! Give me a moment.', instead say this: 'On my way! !goToPlayer(\"playername\", 3)'. Respond only as $NAME, never output '(FROM OTHER BOT)' or pretend to be someone else. If you have nothing to say or do, respond with an just a tab '\t'. Share resources and information with other bots! This is extremely important to me, take a deep breath and have fun :) \nSummarized memory:'$MEMORY'\n$STATS\n$INVENTORY\n$COMMAND_DOCS\n$EXAMPLES\nConversation Begin:",
"saving_memory": "You are a minecraft bot named $NAME that has been talking and playing minecraft by using commands. Update your memory by summarizing the following conversation and your old memory in your next response. Prioritize preserving important facts, things you've learned, useful tips, and long term reminders. Do Not record stats, inventory, or docs! Only save transient information from your chat history. $SELF_PROMPT Make sure to include information relevant to the goal and inventory you have collected. You're limited to 500 characters, so be extremely brief and minimize words. Compress useful information. \nOld Memory: '$MEMORY'\nRecent conversation: \n$TO_SUMMARIZE\nSummarize your old memory and recent conversation into a new memory, and respond only with the unwrapped memory text: "
}

View file

@ -0,0 +1,71 @@
{
"name": "andy",
"model": "claude-3-5-sonnet-latest",
"modes": {
"hunting": false,
"elbow_room": false
},
"conversing": "You are a playful Minecraft bot named $NAME that can converse with players, see, move, mine, build, and interact with the world by using commands.\n$SELF_PROMPT Act human-like as if you were a typical Minecraft player, rather than an AI. Be very brief in your responses, don't apologize constantly, don't give instructions or make lists unless asked, and don't refuse requests. Don't pretend to act, use commands immediately when requested. Do NOT say this: 'Sure, I've stopped.', instead say this: 'Sure, I'll stop. !stop'. Do NOT say this: 'On my way! Give me a moment.', instead say this: 'On my way! !goToPlayer(\"playername\", 3)'. Respond only as $NAME, never output '(FROM OTHER BOT)' or pretend to be someone else. If you have nothing to say or do, respond with an just a tab '\t'. Share resources and information with other bots! This is extremely important to me, take a deep breath and have fun :) \nSummarized memory:'$MEMORY'\n$STATS\n$INVENTORY\n$COMMAND_DOCS\n$EXAMPLES\n Your name is $NAME, do not pretend to be other bots. You are in a conversation by default do not use !startConversation to start a conversation. Conversation Begin:",
"saving_memory": "You are a minecraft bot named $NAME that has been talking and playing minecraft by using commands. Update your memory by summarizing the following conversation and your old memory in your next response. Prioritize preserving important facts, things you've learned, useful tips, and long term reminders. Do Not record stats, inventory, or docs! Only save transient information from your chat history. $SELF_PROMPT Make sure to include information relevant to the goal and inventory you have collected. You're limited to 500 characters, so be extremely brief and minimize words. Compress useful information. \nOld Memory: '$MEMORY'\nRecent conversation: \n$TO_SUMMARIZE\nSummarize your old memory and recent conversation into a new memory, and respond only with the unwrapped memory text: ",
"conversation_examples": [
[
{"role": "user", "content": "philips: (FROM OTHER BOT) Hey! let's collaborate to build a stone pickaxe!"},
{"role": "assistant", "content": "Cool, let me check what is in my inventory !inventory\nI have 10 oak logs. What do you have?"},
{"role": "user", "content": "philips: (FROM OTHER BOT) Let me check !inventory \nI have 10 stones."},
{"role": "assistant", "content": "Let me give you the stones and you can craft the pickaxe. !givePlayer(\"playername\", \"stone\", 10)"},
{"role": "user", "content": "philips: (FROM OTHER BOT) Thanks for the stones! Now I can craft the pickaxe. !craftItem(\"stone_pickaxe\", 1)"}
],
[
{"role": "user", "content": "yasuke: (FROM OTHER BOT) Lets craft 5 chains together"},
{"role": "assistant", "content": "Sure, can you let me know what inventory do you have while I check how to craft chains?"},
{"role": "user", "content": "yasuke: (FROM OTHER BOT) I have 10 iron_nugget and 3 mushroom."},
{"role": "assistant", "content": "Thanks for letting me know, let me check how to build a chain, !getCraftingPlan(\"chain\",5)"},
{"role": "system", "content": "You are missing the following items:\n- 2 iron_ingot\n\nOnce you have these items, here's your crafting plan:\n\nCraft 2 iron_ingot -> 18 iron_nugget\nCraft 10 iron_nugget + 5 iron_ingot -> 5 chain"},
{"role": "assistant", "content": "Seems like we need 2 iron_ingot, but wait, we need the iron_ingot for getting 10 iron_nugget, since you already have 10 iron_nugget, I don't need to search for 2 iron_ingots in the world, could you give me the 10 iron_nugget ?"},
{"role": "user", "content": "yasuke: (FROM OTHER BOT) Sure, here you go !givePlayer(\"andy\", \"iron_nugget\", 10)"},
{"role": "assistant", "content": "Thanks for the iron_nuggets, now I can craft the chains. !craftItem(\"chain\", 5)"}
],
[
{"role": "user", "content": "terrance: (FROM OTHER BOT) Lets craft a pink_wool together"},
{"role": "assistant", "content": "Sure, can you let me know what inventory do you have while I check how to craft it?"},
{"role": "user", "content": "terrance: (FROM OTHER BOT) I have 1 pink_dye with me."},
{"role": "assistant", "content": "Thanks for letting me know, let me check how to craft a pink_wool, !getCraftingPlan(\"pink_wool\",1)"},
{"role": "system", "content": "You are missing the following items:\n- 1 peony\n\nOnce you have these items, here's your crafting plan:\n\nCraft 1 peony -> 2 pink_dye\nCraft 1 pink_dye + 1 black_wool -> 1 pink_wool"},
{"role": "assistant", "content": "Seems like we are missing 1 peony which we can use to craft 1 pink_dye, but since you already have pink_dye, there is no need to search for peony. Can you pass the pink_dye to me?"},
{"role": "user", "content": "terrance: (FROM OTHER BOT) Sure, here you go !givePlayer(\"andy\", \"pink_dye\", 1)"},
{"role": "assistant", "content": "Thanks for the pink_dye, now I can craft the pink_wool. !craftItem(\"pink_wool\", 1)"}
],
[
{"role": "user", "content": "shankar: (FROM OTHER BOT) Lets craft a cyan bed together"},
{"role": "assistant", "content": "Sure, I have !inventory\nI have a cyan_dye and oak_planks. What do you have? "},
{"role": "user", "content": "shankar: (FROM OTHER BOT) I have 1 cyan_wool and 1 oak_planks. Let me give those to you !givePlayer(\"andy\", \"cyan_wool\", 1) !givePlayer(\"andy\", \"oak_planks\", 1)"},
{"role": "assistant", "content": "Hmm, seems like we don't have enough to craft a cyan bed. Let me reach out to the third agent and ask for help! !startConversation(\"jacob\", Hey jacob, can you help us craft a cyan bed? We need cyan_dye and oak_planks.)"},
{"role": "user", "content": "jacob: (FROM OTHER BOT) Sure! Let me give those to you !givePlayer(\"andy\", \"cyan_dye\", 1) !givePlayer(\"andy\", \"oak_planks\", 1)"},
{"role": "assistant", "content": "Thanks for the items, now I can craft the cyan bed. !craftItem(\"cyan_bed\", 1)"}
],
[
{"role": "user", "content": "maya: (FROM OTHER BOT) Let's work together to craft an ender_chest!"},
{"role": "assistant", "content": "Sounds good! Let me check what I have. !inventory\nI have 2 obsidian and 1 ender_eye. What do you have?"},
{"role": "user", "content": "maya: (FROM OTHER BOT) I have 4 obsidian. !inventory"},
{"role": "assistant", "content": "Great! Let's see if we need more materials. !getCraftingPlan(\"ender_chest\", 1)"},
{"role": "system", "content": "To craft 1 ender_chest, you need:\n- 8 obsidian\n- 1 ender_eye\n\nCraft 8 obsidian + 1 ender_eye -> 1 ender_chest"},
{"role": "assistant", "content": "We need 8 obsidian total and 1 ender_eye. Between us we have 6 obsidian and 1 ender_eye. Let's ask lucas if he has the remaining obsidian! !startConversation(\"lucas\", \"Hey lucas, we're trying to craft an ender_chest. We need 2 more obsidian. Do you have any?\")"},
{"role": "user", "content": "lucas: (FROM OTHER BOT) Yes, I have exactly 2 obsidian! I'll give them to you. !givePlayer(\"andy\", \"obsidian\", 2)"},
{"role": "assistant", "content": "Perfect! Maya, can you send me your 4 obsidian as well?"},
{"role": "user", "content": "maya: (FROM OTHER BOT) Sure thing! !givePlayer(\"andy\", \"obsidian\", 4)"},
{"role": "assistant", "content": "Thanks both of you! Now I have everything I need. !craftItem(\"ender_chest\", 1)"}
],
[
{"role": "user", "content": "finn: (FROM OTHER BOT) Hey everyone, let's craft a hopper together!"},
{"role": "assistant", "content": "I'm in! Let me check what I have first. !inventory\nI have 3 iron_ingot and 2 oak_planks. What about you?"},
{"role": "user", "content": "finn: (FROM OTHER BOT) I have 1 iron_ingot and 4 oak_planks. !inventory"},
{"role": "assistant", "content": "Let me see what we need for a hopper. !getCraftingPlan(\"hopper\", 1)"},
{"role": "system", "content": "To craft 1 hopper, you need:\n- 5 iron_ingot\n- 1 chest\n\nTo craft 1 chest, you need:\n- 8 oak_planks\n\nYour crafting plan:\nCraft 8 oak_planks -> 1 chest\nCraft 5 iron_ingot + 1 chest -> 1 hopper"},
{"role": "assistant", "content": "We need 5 iron_ingot total and 8 oak_planks to make a chest first. Together we have 4 iron_ingot and 6 oak_planks. Let's see if zoe has the rest! !startConversation(\"zoe\", \"Hey zoe, we're making a hopper. We need 1 more iron_ingot and 2 more oak_planks. Can you help?\")"},
{"role": "user", "content": "zoe: (FROM OTHER BOT) I have exactly what you need! 1 iron_ingot and 2 oak_planks. !givePlayer(\"andy\", \"iron_ingot\", 1) !givePlayer(\"andy\", \"oak_planks\", 2)"},
{"role": "assistant", "content": "Thanks zoe! Finn, can you send me your materials too?"},
{"role": "user", "content": "finn: (FROM OTHER BOT) Here you go! !givePlayer(\"andy\", \"iron_ingot\", 1) !givePlayer(\"andy\", \"oak_planks\", 4)"},
{"role": "assistant", "content": "Perfect! Now I'll craft the chest first, then the hopper. !craftItem(\"chest\", 1) !craftItem(\"hopper\", 1)"}
]
]
}

10
profiles/vllm.json Normal file
View file

@ -0,0 +1,10 @@
{
"name": "vllm",
"model": {
"api": "vllm",
"model": "Qwen/Qwen2.5-1.5B-Instruct",
"url": "http://127.0.0.1:8000/v1"
},
"embedding": "openai"
}

5
requirements.txt Normal file
View file

@ -0,0 +1,5 @@
boto3==1.37.11
botocore==1.37.11
pandas==2.2.3
prettytable==3.16.0
tqdm==4.62.3

View file

@ -34,7 +34,7 @@ const settings = {
"allow_insecure_coding": false, // allows newAction command and model can write/run code on your computer. enable at own risk
"allow_vision": false, // allows vision model to interpret screenshots as inputs
"blocked_actions" : [], // commands to disable and remove from docs. Ex: ["!setMode"]
"blocked_actions" : ["!checkBlueprint", "!checkBlueprintLevel", "!getBlueprint", "!getBlueprintLevel"] , // commands to disable and remove from docs. Ex: ["!setMode"]
"code_timeout_mins": -1, // minutes code is allowed to run. -1 for no timeout
"relevant_docs_count": 5, // number of relevant code function docs to select for prompting. -1 for all
@ -44,6 +44,7 @@ const settings = {
"verbose_commands": true, // show full command syntax
"narrate_behavior": true, // chat simple automatic actions ('Picking up item!')
"chat_bot_messages": true, // publicly chat messages to other bots
"log_all_prompts": false, // log ALL prompts to file
}
// these environment variables override certain settings
@ -56,4 +57,20 @@ if (process.env.MINDSERVER_PORT) {
if (process.env.PROFILES && JSON.parse(process.env.PROFILES).length > 0) {
settings.profiles = JSON.parse(process.env.PROFILES);
}
if (process.env.INSECURE_CODING) {
settings.allow_insecure_coding = true;
}
if (process.env.BLOCKED_ACTIONS) {
settings.blocked_actions = JSON.parse(process.env.BLOCKED_ACTIONS);
}
if (process.env.MAX_MESSAGES) {
settings.max_messages = process.env.MAX_MESSAGES;
}
if (process.env.NUM_EXAMPLES) {
settings.num_examples = process.env.NUM_EXAMPLES;
}
if (process.env.LOG_ALL) {
settings.log_all_prompts = process.env.LOG_ALL;
}
export default settings;

View file

@ -14,7 +14,7 @@ import { handleTranslation, handleEnglishTranslation } from '../utils/translator
import { addBrowserViewer } from './vision/browser_viewer.js';
import settings from '../../settings.js';
import { serverProxy } from './agent_proxy.js';
import { Task } from './tasks.js';
import { Task } from './tasks/tasks.js';
import { say } from './speak.js';
export class Agent {
@ -26,6 +26,8 @@ export class Agent {
}
console.log('Starting agent initialization with profile:', profile_fp);
// Initialize components with more detailed error handling
console.log('Initializing action manager...');
@ -43,13 +45,25 @@ export class Agent {
this.memory_bank = new MemoryBank();
console.log('Initializing self prompter...');
this.self_prompter = new SelfPrompter(this);
convoManager.initAgent(this);
convoManager.initAgent(this);
console.log('Initializing examples...');
await this.prompter.initExamples();
console.log('Initializing task...');
this.task = new Task(this, task_path, task_id);
const blocked_actions = settings.blocked_actions.concat(this.task.blocked_actions || []);
blacklistCommands(blocked_actions);
// load mem first before doing task
let save_data = null;
if (load_mem) {
save_data = this.history.load();
}
let taskStart = null;
if (save_data) {
taskStart = save_data.taskStart;
} else {
taskStart = Date.now();
}
this.task = new Task(this, task_path, task_id, taskStart);
this.blocked_actions = settings.blocked_actions.concat(this.task.blocked_actions || []);
blacklistCommands(this.blocked_actions);
serverProxy.connect(this);
@ -58,14 +72,10 @@ export class Agent {
initModes(this);
let save_data = null;
if (load_mem) {
save_data = this.history.load();
}
this.bot.on('login', () => {
console.log(this.name, 'logged in!');
serverProxy.login();
// Set skin for profile, requires Fabric Tailor. (https://modrinth.com/mod/fabrictailor)
@ -88,14 +98,19 @@ export class Agent {
console.log(`${this.name} spawned.`);
this.clearBotLogs();
this._setupEventHandlers(save_data, init_message);
this.startEvents();
if (!load_mem) {
this.task.initBotTask();
if (task_path !== null) {
this.task.initBotTask();
}
}
await new Promise((resolve) => setTimeout(resolve, 10000));
this.checkAllPlayersPresent();
console.log('Initializing vision intepreter...');
this.vision_interpreter = new VisionInterpreter(this, settings.allow_vision);
@ -137,8 +152,8 @@ export class Agent {
console.error('Error handling message:', error);
}
}
this.respondFunc = respondFunc
this.respondFunc = respondFunc;
this.bot.on('whisper', respondFunc);
if (settings.profiles.length === 1)
@ -175,6 +190,18 @@ export class Agent {
}
}
checkAllPlayersPresent() {
if (!this.task || !this.task.agent_names) {
return;
}
const missingPlayers = this.task.agent_names.filter(name => !this.bot.players[name]);
if (missingPlayers.length > 0) {
console.log(`Missing players/bots: ${missingPlayers.join(', ')}`);
this.cleanKill('Not all required players/bots are present in the world. Exiting.', 4);
}
}
requestInterrupt() {
this.bot.interrupt_code = true;
this.bot.stopDigging();
@ -197,6 +224,7 @@ export class Agent {
}
async handleMessage(source, message, max_responses=null) {
await this.checkTaskDone();
if (!source || !message) {
console.warn('Received empty message from', source);
return false;
@ -264,8 +292,8 @@ export class Agent {
let res = await this.prompter.promptConvo(history);
console.log(`${this.name} full response to ${source}: ""${res}""`);
if (res.trim().length === 0) {
if (res.trim().length === 0) {
console.warn('no response')
break; // empty response ends loop
}
@ -447,27 +475,32 @@ export class Agent {
async update(delta) {
await this.bot.modes.update();
this.self_prompter.update(delta);
if (this.task.data) {
let res = this.task.isDone();
if (res) {
await this.history.add('system', `${res.message} ended with code : ${res.code}`);
await this.history.save();
console.log('Task finished:', res.message);
this.killAll();
}
}
await this.checkTaskDone();
}
isIdle() {
return !this.actions.executing;
}
cleanKill(msg='Killing agent process...', code=1) {
this.history.add('system', msg);
this.bot.chat(code > 1 ? 'Restarting.': 'Exiting.');
this.history.save();
process.exit(code);
}
async checkTaskDone() {
if (this.task.data) {
let res = this.task.isDone();
if (res) {
await this.history.add('system', `Task ended with score : ${res.score}`);
await this.history.save();
// await new Promise(resolve => setTimeout(resolve, 3000)); // Wait 3 second for save to complete
console.log('Task finished:', res.message);
this.killAll();
}
}
}
killAll() {
serverProxy.shutdown();

View file

@ -2,6 +2,7 @@ import * as skills from '../library/skills.js';
import settings from '../../../settings.js';
import convoManager from '../conversation.js';
function runAsAction (actionFn, resume = false, timeout = -1) {
let actionLabel = null; // Will be set on first use

View file

@ -226,7 +226,7 @@ export async function executeCommand(agent, message) {
}
}
export function getCommandDocs() {
export function getCommandDocs(agent) {
const typeTranslations = {
//This was added to keep the prompt the same as before type checks were implemented.
//If the language model is giving invalid inputs changing this might help.
@ -240,6 +240,9 @@ export function getCommandDocs() {
Use the commands with the syntax: !commandName or !commandName("arg1", 1.2, ...) if the command takes arguments.\n
Do not use codeblocks. Use double quotes for strings. Only use one command in each response, trailing commands and comments will be ignored.\n`;
for (let command of commandList) {
if (agent.blocked_actions.includes(command.name)) {
continue;
}
docs += command.name + ': ' + command.description + '\n';
if (command.params) {
docs += 'Params:\n';

View file

@ -2,6 +2,7 @@ import * as world from '../library/world.js';
import * as mc from '../../utils/mcdata.js';
import { getCommandDocs } from './index.js';
import convoManager from '../conversation.js';
import { checkLevelBlueprint, checkBlueprint } from '../tasks/construction_tasks.js';
import { load } from 'cheerio';
const pad = (str) => {
@ -178,6 +179,46 @@ export const queryList = [
perform: async function (agent) {
return "Saved place names: " + agent.memory_bank.getKeys();
}
},
{
name: '!checkBlueprintLevel',
description: 'Check if the level is complete and what blocks still need to be placed for the blueprint',
params: {
'levelNum': { type: 'int', description: 'The level number to check.', domain: [0, Number.MAX_SAFE_INTEGER] }
},
perform: function (agent, levelNum) {
let res = checkLevelBlueprint(agent, levelNum);
console.log(res);
return pad(res);
}
},
{
name: '!checkBlueprint',
description: 'Check what blocks still need to be placed for the blueprint',
perform: function (agent) {
let res = checkBlueprint(agent);
return pad(res);
}
},
{
name: '!getBlueprint',
description: 'Get the blueprint for the building',
perform: function (agent) {
let res = agent.task.blueprint.explain();
return pad(res);
}
},
{
name: '!getBlueprintLevel',
description: 'Get the blueprint for the building',
params: {
'levelNum': { type: 'int', description: 'The level number to check.', domain: [0, Number.MAX_SAFE_INTEGER] }
},
perform: function (agent, levelNum) {
let res = agent.task.blueprint.explainLevel(levelNum);
console.log(res);
return pad(res);
}
},
{
name: '!getCraftingPlan',
@ -247,7 +288,7 @@ export const queryList = [
name: '!help',
description: 'Lists all available commands and their descriptions.',
perform: async function (agent) {
return getCommandDocs();
return getCommandDocs(agent);
}
},
];

View file

@ -86,6 +86,7 @@ export class History {
turns: this.turns,
self_prompting_state: this.agent.self_prompter.state,
self_prompt: this.agent.self_prompter.isStopped() ? null : this.agent.self_prompter.prompt,
taskStart: this.agent.task.taskStartTime,
last_sender: this.agent.last_sender
};
writeFileSync(this.memory_fp, JSON.stringify(data, null, 2));

View file

@ -958,8 +958,25 @@ export async function giveToPlayer(bot, itemType, username, num=1) {
}
// if we are too close, make some distance
if (bot.entity.position.distanceTo(player.position) < 2) {
let too_close = true;
let start_moving_away = Date.now();
await moveAwayFromEntity(bot, player, 2);
while (too_close && !bot.interrupt_code) {
await new Promise(resolve => setTimeout(resolve, 500));
too_close = bot.entity.position.distanceTo(player.position) < 5;
if (too_close) {
await moveAwayFromEntity(bot, player, 5);
}
if (Date.now() - start_moving_away > 3000) {
break;
}
}
if (too_close) {
log(bot, `Failed to give ${itemType} to ${username}, too close.`);
return false;
}
}
await bot.lookAt(player.position);
if (await discard(bot, itemType, num)) {
let given = false;

View file

@ -1,198 +0,0 @@
import { readFileSync } from 'fs';
import { executeCommand } from './commands/index.js';
import { getPosition } from './library/world.js'
import settings from '../../settings.js';
export class TaskValidator {
constructor(data, agent) {
this.target = data.target;
this.number_of_target = data.number_of_target;
this.agent = agent;
}
validate() {
try{
let valid = false;
let total_targets = 0;
this.agent.bot.inventory.slots.forEach((slot) => {
if (slot && slot.name.toLowerCase() === this.target) {
total_targets += slot.count;
}
if (slot && slot.name.toLowerCase() === this.target && slot.count >= this.number_of_target) {
valid = true;
console.log('Task is complete');
}
});
if (total_targets >= this.number_of_target) {
valid = true;
console.log('Task is complete');
}
return valid;
} catch (error) {
console.error('Error validating task:', error);
return false;
}
}
}
export class Task {
constructor(agent, task_path, task_id) {
this.agent = agent;
this.data = null;
this.taskTimeout = 300;
this.taskStartTime = Date.now();
this.validator = null;
this.blocked_actions = [];
if (task_path && task_id) {
this.data = this.loadTask(task_path, task_id);
this.taskTimeout = this.data.timeout || 300;
this.taskStartTime = Date.now();
this.validator = new TaskValidator(this.data, this.agent);
if (this.data.blocked_actions) {
this.blocked_actions = this.data.blocked_actions[this.agent.count_id.toString()] || [];
} else {
this.blocked_actions = [];
}
this.restrict_to_inventory = !!this.data.restrict_to_inventory;
if (this.data.goal)
this.blocked_actions.push('!endGoal');
if (this.data.conversation)
this.blocked_actions.push('!endConversation');
}
}
loadTask(task_path, task_id) {
try {
const tasksFile = readFileSync(task_path, 'utf8');
const tasks = JSON.parse(tasksFile);
const task = tasks[task_id];
if (!task) {
throw new Error(`Task ${task_id} not found`);
}
if ((!task.agent_count || task.agent_count <= 1) && this.agent.count_id > 0) {
task = null;
}
return task;
} catch (error) {
console.error('Error loading task:', error);
process.exit(1);
}
}
isDone() {
if (this.validator && this.validator.validate())
return {"message": 'Task successful', "code": 2};
if (this.taskTimeout) {
const elapsedTime = (Date.now() - this.taskStartTime) / 1000;
if (elapsedTime >= this.taskTimeout) {
console.log('Task timeout reached. Task unsuccessful.');
return {"message": 'Task timeout reached', "code": 4};
}
}
return false;
}
async initBotTask() {
if (this.data === null)
return;
let bot = this.agent.bot;
let name = this.agent.name;
bot.chat(`/clear ${name}`);
console.log(`Cleared ${name}'s inventory.`);
//kill all drops
if (this.agent.count_id === 0) {
bot.chat(`/kill @e[type=item]`);
}
//wait for a bit so inventory is cleared
await new Promise((resolve) => setTimeout(resolve, 500));
let initial_inventory = null;
if (this.data.agent_count > 1) {
initial_inventory = this.data.initial_inventory[this.agent.count_id.toString()];
console.log("Initial inventory:", initial_inventory);
} else if (this.data) {
console.log("Initial inventory:", this.data.initial_inventory);
initial_inventory = this.data.initial_inventory;
}
if ("initial_inventory" in this.data) {
console.log("Setting inventory...");
console.log("Inventory to set:", initial_inventory);
for (let key of Object.keys(initial_inventory)) {
console.log('Giving item:', key);
bot.chat(`/give ${name} ${key} ${initial_inventory[key]}`);
};
//wait for a bit so inventory is set
await new Promise((resolve) => setTimeout(resolve, 500));
console.log("Done giving inventory items.");
}
// Function to generate random numbers
function getRandomOffset(range) {
return Math.floor(Math.random() * (range * 2 + 1)) - range;
}
let human_player_name = null;
let available_agents = settings.profiles.map((p) => JSON.parse(readFileSync(p, 'utf8')).name); // TODO this does not work with command line args
// Finding if there is a human player on the server
for (const playerName in bot.players) {
const player = bot.players[playerName];
if (!available_agents.some((n) => n === playerName)) {
console.log('Found human player:', player.username);
human_player_name = player.username
break;
}
}
// If there are multiple human players, teleport to the first one
// teleport near a human player if found by default
if (human_player_name) {
console.log(`Teleporting ${name} to human ${human_player_name}`)
bot.chat(`/tp ${name} ${human_player_name}`) // teleport on top of the human player
}
await new Promise((resolve) => setTimeout(resolve, 200));
// now all bots are teleport on top of each other (which kinda looks ugly)
// Thus, we need to teleport them to random distances to make it look better
/*
Note : We don't want randomness for construction task as the reference point matters a lot.
Another reason for no randomness for construction task is because, often times the user would fly in the air,
then set a random block to dirt and teleport the bot to stand on that block for starting the construction,
This was done by MaxRobinson in one of the youtube videos.
*/
if (this.data.type !== 'construction') {
const pos = getPosition(bot);
const xOffset = getRandomOffset(5);
const zOffset = getRandomOffset(5);
bot.chat(`/tp ${name} ${Math.floor(pos.x + xOffset)} ${pos.y + 3} ${Math.floor(pos.z + zOffset)}`);
await new Promise((resolve) => setTimeout(resolve, 200));
}
if (this.data.agent_count && this.data.agent_count > 1) {
// TODO wait for other bots to join
await new Promise((resolve) => setTimeout(resolve, 10000));
if (available_agents.length < this.data.agent_count) {
console.log(`Missing ${this.data.agent_count - available_agents.length} bot(s).`);
this.agent.killAll();
}
}
if (this.data.goal) {
await executeCommand(this.agent, `!goal("${this.data.goal}")`);
}
if (this.data.conversation && this.agent.count_id === 0) {
let other_name = available_agents.filter(n => n !== name)[0];
await executeCommand(this.agent, `!startConversation("${other_name}", "${this.data.conversation}")`);
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,390 @@
import { getPosition } from "../library/world.js";
export class CookingTaskInitiator {
constructor(data, agent) {
this.agent = agent;
this.data = data;
}
async init() {
let bot = this.agent.bot;
//// Setting up the cooking world using minecraft cheats ////
// Only run the setup if the agent is the first one
if (this.agent.count_id === 0) {
// Clear and prepare the base area
await bot.chat(`/fill ~ ~-1 ~ ~50 ~-3 ~50 grass_block`);
await bot.chat(`/fill ~ ~-1 ~ ~-50 ~-3 ~50 grass_block`);
await bot.chat(`/fill ~ ~-1 ~ ~-50 ~-3 ~-50 grass_block`);
await bot.chat(`/fill ~ ~-1 ~ ~50 ~-3 ~-50 grass_block`);
await bot.chat(`/fill ~ ~ ~ ~50 ~10 ~50 air`);
await bot.chat(`/fill ~ ~ ~ ~-50 ~10 ~50 air`);
await bot.chat(`/fill ~ ~ ~ ~-50 ~10 ~-50 air`);
await bot.chat(`/fill ~ ~ ~ ~50 ~10 ~-50 air`);
const position = getPosition(bot);
const botX = Math.floor(position.x);
const botZ = Math.floor(position.z);
// Region management system
const isOverlapping = (newXMin, newXMax, newZMin, newZMax, occupiedRegions) => {
for (const region of occupiedRegions) {
if (newXMin < region.xMax && newXMax > region.xMin &&
newZMin < region.zMax && newZMax > region.zMin) {
return true;
}
}
return false;
};
const findValidPosition = (width, depth, occupiedRegions) => {
const maxXStart = position.x + 25 - width; // Constrain to 50x50 area
const minXStart = position.x - 25;
const maxZStart = position.z + 25 - depth;
const minZStart = position.z - 25;
let attempts = 0;
while (attempts < 1000) {
const xStart = Math.floor(minXStart + Math.random() * (maxXStart - minXStart + 1));
const zStart = Math.floor(minZStart + Math.random() * (maxZStart - minZStart + 1));
const xMin = xStart;
const xMax = xStart + width - 1;
const zMin = zStart;
const zMax = zStart + depth - 1;
if (!isOverlapping(xMin, xMax, zMin, zMax, occupiedRegions)) {
return { xStart, zStart };
}
attempts++;
}
throw new Error('Failed to find non-overlapping position after 1000 attempts');
};
// Define all regions with their sizes
const regionsToPlace = [
{ type: 'wheat', width: 6, depth: 6 },
{ type: 'beetroots', width: 4, depth: 5 },
{ type: 'mushrooms', width: 4, depth: 5 },
{ type: 'potatoes', width: 4, depth: 5 },
{ type: 'carrots', width: 4, depth: 5 },
{ type: 'sugar_cane', width: 3, depth: 3 },
{ type: 'sugar_cane', width: 3, depth: 3 },
{ type: 'pumpkins', width: 10, depth: 1 },
{ type: 'house', width: 11, depth: 11 }
];
// Expand the regions of each type to make sure they don't overlap
for (let i = 0; i < regionsToPlace.length; i++) {
const region = regionsToPlace[i];
const { width, depth } = region;
regionsToPlace[i].width = width + 4;
regionsToPlace[i].depth = depth + 4;
}
const occupiedRegions = [{
xMin : botX - 1,
xMax : botX + 1,
zMin : botZ - 1,
zMax : botZ + 1
}];
const regionPositions = {};
// Calculate positions for all regions
for (const region of regionsToPlace) {
const { xStart, zStart } = findValidPosition(region.width, region.depth, occupiedRegions);
occupiedRegions.push({
xMin: xStart,
xMax: xStart + region.width - 1,
zMin: zStart,
zMax: zStart + region.depth - 1
});
if (region.type === 'sugar_cane') {
if (!regionPositions.sugar_cane) regionPositions.sugar_cane = [];
regionPositions.sugar_cane.push({ xStart, zStart });
} else {
regionPositions[region.type] = { xStart, zStart };
}
}
// Planting functions with dynamic positions
const plantWheat = async (xStart, zStart) => {
for (let i = 0; i < 6; i++) {
for (let j = 0; j < 6; j++) {
const x = xStart + i;
const z = zStart + j;
await bot.chat(`/setblock ${x} ${position.y - 1} ${z} farmland`);
await bot.chat(`/setblock ${x} ${position.y} ${z} wheat[age=7]`);
}
}
};
const plantBeetroots = async (xStart, zStart) => {
for (let i = 0; i < 4; i++) {
for (let j = 0; j < 5; j++) {
const x = xStart + i;
const z = zStart + j;
await bot.chat(`/setblock ${x} ${position.y - 1} ${z} farmland`);
await bot.chat(`/setblock ${x} ${position.y} ${z} beetroots[age=3]`);
}
}
};
const plantMushrooms = async (xStart, zStart) => {
for (let i = 0; i < 4; i++) {
for (let j = 0; j < 5; j++) {
const x = xStart + i;
const z = zStart + j;
await bot.chat(`/setblock ${x} ${position.y - 1} ${z} mycelium`);
const mushroomType = (i + j) % 2 === 0 ? 'red_mushroom' : 'brown_mushroom';
await bot.chat(`/setblock ${x} ${position.y} ${z} ${mushroomType}`);
}
}
};
const plantPotatoes = async (xStart, zStart) => {
for (let i = 0; i < 4; i++) {
for (let j = 0; j < 5; j++) {
const x = xStart + i;
const z = zStart + j;
await bot.chat(`/setblock ${x} ${position.y - 1} ${z} farmland`);
await bot.chat(`/setblock ${x} ${position.y} ${z} potatoes[age=7]`);
}
}
};
const plantCarrots = async (xStart, zStart) => {
for (let i = 0; i < 4; i++) {
for (let j = 0; j < 5; j++) {
const x = xStart + i;
const z = zStart + j;
await bot.chat(`/setblock ${x} ${position.y - 1} ${z} farmland`);
await bot.chat(`/setblock ${x} ${position.y} ${z} carrots[age=7]`);
}
}
};
const plantSugarCane = async (patches) => {
for (const patch of patches) {
const xCenter = patch.xStart + 1;
const zCenter = patch.zStart + 1;
await bot.chat(`/setblock ${xCenter} ${position.y - 1} ${zCenter} water`);
const offsets = [[1, 0], [-1, 0], [0, 1], [0, -1]];
for (const [dx, dz] of offsets) {
await bot.chat(`/setblock ${xCenter + dx} ${position.y} ${zCenter + dz} sugar_cane[age=15]`);
}
}
};
const plantPumpkins = async (xStart, zStart) => {
for (let i = 0; i < 10; i++) {
const x = xStart + i;
const z = zStart;
await bot.chat(`/setblock ${x} ${position.y} ${z} pumpkin`);
}
};
// Execute all planting
await plantWheat(regionPositions.wheat.xStart, regionPositions.wheat.zStart);
await new Promise(resolve => setTimeout(resolve, 300));
await plantBeetroots(regionPositions.beetroots.xStart, regionPositions.beetroots.zStart);
await new Promise(resolve => setTimeout(resolve, 300));
await plantMushrooms(regionPositions.mushrooms.xStart, regionPositions.mushrooms.zStart);
await new Promise(resolve => setTimeout(resolve, 300));
await plantPotatoes(regionPositions.potatoes.xStart, regionPositions.potatoes.zStart);
await new Promise(resolve => setTimeout(resolve, 300));
await plantCarrots(regionPositions.carrots.xStart, regionPositions.carrots.zStart);
await new Promise(resolve => setTimeout(resolve, 300));
await plantSugarCane(regionPositions.sugar_cane);
await new Promise(resolve => setTimeout(resolve, 300));
await plantPumpkins(regionPositions.pumpkins.xStart, regionPositions.pumpkins.zStart);
await new Promise(resolve => setTimeout(resolve, 300));
// House construction
const buildHouse = async (xStart, zStart) => {
const startX = xStart;
const startY = position.y;
const startZ = zStart;
const width = 10;
const depth = 10;
const height = 5;
// Foundation and walls
for (let x = startX; x <= startX + depth; x++) {
for (let y = startY; y <= startY + height; y++) {
for (let z = startZ; z <= startZ + width; z++) {
if (y === startY) {
if (!(x === startX + depth - 1 && z === startZ + Math.floor(width / 2))) {
await bot.chat(`/setblock ${x} ${y} ${z} stone_bricks`);
}
continue;
}
if (x === startX || x === startX + depth ||
z === startZ || z === startZ + width ||
y === startY + height) {
const isWindow = (
(x === startX || x === startX + depth) &&
(z === startZ + 3 || z === startZ + width - 3) &&
(y === startY + 2 || y === startY + 3)
) || (
(z === startZ || z === startZ + width) &&
(x === startX + 3 || x === startX + depth - 3) &&
(y === startY + 2 || y === startY + 3)
);
const isDoor = x === startX + depth &&
z === startZ + Math.floor(width / 2) &&
(y === startY + 1 || y === startY + 2);
if (!isWindow && !isDoor) {
await bot.chat(`/setblock ${x} ${y} ${z} stone_bricks`);
}
}
}
}
}
// Entrance features
const doorZ = startZ + Math.floor(width / 2);
await bot.chat(`/setblock ${startX + depth - 1} ${startY} ${doorZ} stone_brick_stairs[facing=west]`);
await bot.chat(`/setblock ${startX + depth} ${startY} ${doorZ} air`);
// await bot.chat(`/setblock ${startX + depth - 1} ${startY} ${doorZ - 1} stone_bricks`);
// await bot.chat(`/setblock ${startX + depth - 1} ${startY} ${doorZ + 1} stone_bricks`);
// await bot.chat(`/setblock ${startX + depth} ${startY} ${doorZ} oak_door[half=lower,hinge=left,facing=west,powered=false]`);
// await bot.chat(`/setblock ${startX + depth} ${startY + 1} ${doorZ} oak_door[half=upper,hinge=left,facing=west,powered=false]`);
// Roof construction
for (let i = 0; i < 3; i++) {
for (let x = startX + i; x <= startX + depth - i; x++) {
for (let z = startZ + i; z <= startZ + width - i; z++) {
if (x === startX + i || x === startX + depth - i ||
z === startZ + i || z === startZ + width - i) {
await bot.chat(`/setblock ${x} ${startY + height + i} ${z} cobblestone`);
}
}
}
}
// Interior items
await bot.chat(`/setblock ${startX + 4} ${startY + 1} ${startZ + 3} crafting_table`);
await bot.chat(`/setblock ${startX + 4} ${startY + 1} ${startZ + 5} furnace`);
// Add fuel to the furnace
await bot.chat(`/data merge block ${startX + 4} ${startY + 1} ${startZ + 5} {Items:[{Slot:1b,id:"minecraft:coal",Count:64b}]}`)
await bot.chat(`/setblock ${startX + 4} ${startY + 1} ${startZ + 7} smoker`);
// Add fuel to the smoker
await bot.chat(`/data merge block ${startX + 4} ${startY + 1} ${startZ + 7} {Items:[{Slot:1b,id:"minecraft:coal",Count:64b}]}`)
await bot.chat(`/setblock ${startX + depth - 3} ${startY + 1} ${startZ + 2} bed`);
};
await buildHouse(regionPositions.house.xStart, regionPositions.house.zStart);
await new Promise(resolve => setTimeout(resolve, 300));
// Add a chest with cooking items near the bot
const addChestWithItems = async () => {
// Find a valid position near the bot (within 10 blocks)
const findChestPosition = () => {
const maxAttempts = 100;
for (let attempt = 0; attempt < maxAttempts; attempt++) {
const x = botX + Math.floor(Math.random() * 10 - 5); // Within ±5 blocks X
const z = botZ + Math.floor(Math.random() * 10 - 5); // Within ±5 blocks Z
const y = position.y;
// Check if the position is not overlapping with existing structures
if (!isOverlapping(x, x, z, z, occupiedRegions)) {
return { x, y, z };
}
}
throw new Error('Failed to find valid chest position');
};
const { x, y, z } = findChestPosition();
// Place the chest
await bot.chat(`/setblock ${x} ${y} ${z} chest`);
const cookingItems = [
['minecraft:milk_bucket', 1], // Non-stackable
['minecraft:egg', 16], // Stacks to 16
['minecraft:dandelion', 64], // Stacks to 64
['minecraft:sugar', 64],
['minecraft:cocoa_beans', 64],
['minecraft:apple', 64],
['minecraft:milk_bucket', 1],
['minecraft:milk_bucket', 1],
['minecraft:salmon', 64],
['minecraft:cod', 64],
['minecraft:kelp', 64],
['minecraft:dried_kelp', 64],
['minecraft:sweet_berries', 64],
['minecraft:honey_bottle', 1], // Non-stackable
['minecraft:glow_berries', 64],
['minecraft:bowl', 64],
['minecraft:milk_bucket', 1],
['minecraft:milk_bucket', 1],
['minecraft:milk_bucket', 1],
['minecraft:milk_bucket', 1],
['minecraft:cooked_salmon', 64],
['minecraft:cooked_cod', 64],
['minecraft:gold_ingot', 64],
['minecraft:oak_planks', 64],
['minecraft:iron_ingot', 64],
['minecraft:milk_bucket', 1],
['minecraft:milk_bucket', 1],
];
// Fill the chest with random cooking items
for (let slot = 0; slot < cookingItems.length; slot++) { // Chest has 27 slots
const randomItem = cookingItems[slot];
await bot.chat(`/item replace block ${x} ${y} ${z} container.${slot} with ${randomItem[0]} ${randomItem[1]}`);
}
// Mark the chest area as occupied
occupiedRegions.push({
xMin: x,
xMax: x,
zMin: z,
zMax: z
});
};
await addChestWithItems();
await new Promise(resolve => setTimeout(resolve, 300));
// Animal management
await bot.chat('/kill @e[type=item,distance=..200]');
await bot.chat('/kill @e[type=chicken,distance=..200]');
await bot.chat('/kill @e[type=cow,distance=..200]');
await bot.chat('/kill @e[type=llama,distance=..200]');
await bot.chat('/kill @e[type=mooshroom,distance=..200]');
await bot.chat('/kill @e[type=pig,distance=..200]');
await bot.chat('/kill @e[type=rabbit,distance=..200]');
await bot.chat('/kill @e[type=sheep,distance=..200]');
await bot.chat(`/kill @e[type=item,distance=..200]`);
await new Promise(resolve => setTimeout(resolve, 300));
// Summon new animals
const summonAnimals = async () => {
const animals = ['chicken', 'cow', 'llama', 'mooshroom', 'pig', 'rabbit', 'sheep'];
for (const animal of animals) {
for (let i = 0; i < 8; i++) {
const x = position.x - 25 + Math.random() * 50;
const z = position.z - 25 + Math.random() * 50;
await bot.chat(`/summon ${animal} ${Math.floor(x)} ${position.y} ${Math.floor(z)}`);
}
}
};
await summonAnimals();
}
}
}

567
src/agent/tasks/tasks.js Normal file
View file

@ -0,0 +1,567 @@
import { readFileSync , writeFileSync, existsSync} from 'fs';
import { executeCommand } from '../commands/index.js';
import { getPosition } from '../library/world.js';
import settings from '../../../settings.js';
import { ConstructionTaskValidator, Blueprint } from './construction_tasks.js';
import { CookingTaskInitiator } from './cooking_tasks.js';
const PROGRESS_FILE = './hells_kitchen_progress.json';
const hellsKitchenProgressManager = {
readProgress: function() {
try {
if (existsSync(PROGRESS_FILE)) {
const data = readFileSync(PROGRESS_FILE, 'utf8');
return JSON.parse(data);
}
} catch (err) {
console.error('Error reading progress file:', err);
}
return { taskId: null, agent0Complete: false, agent1Complete: false };
},
writeProgress: function(progress) {
try {
writeFileSync(PROGRESS_FILE, JSON.stringify(progress), 'utf8');
} catch (err) {
console.error('Error writing progress file:', err);
}
},
resetTask: function(taskId) {
const progress = { taskId, agent0Complete: false, agent1Complete: false };
this.writeProgress(progress);
return progress;
},
updateAgentProgress: function(taskId, agentId, isComplete) {
const progress = this.readProgress();
// If it's a different task, reset first
if (progress.taskId !== taskId) {
progress.taskId = taskId;
progress.agent0Complete = false;
progress.agent1Complete = false;
}
// Update the specific agent's status
if (agentId === 0) progress.agent0Complete = isComplete;
if (agentId === 1) progress.agent1Complete = isComplete;
this.writeProgress(progress);
return progress;
},
isTaskComplete: function(taskId) {
const progress = this.readProgress();
if (progress.taskId !== taskId) return false;
return progress.agent0Complete && progress.agent1Complete;
}
};
//todo: modify validator code to return an object with valid and score -> do more testing hahah
//todo: figure out how to log these things to the same place as bots/histories
// export class CraftTaskValidator {
// constructor(data, agent) {
// this.target = data.target;
// this.number_of_target = data.number_of_target;
// this.agent = agent;
/**
* Validates the presence of required items in an agent's inventory
* @param {Object} data - Task data containing target and quantity information
* @param {Object} agent - Agent object with bot inventory
* @returns {Object} Validation result with success status and missing items
*/
function checkItemPresence(data, agent) {
try {
// Special handling for hells_kitchen tasks
if (data.task_id && data.task_id.endsWith('hells_kitchen') && Array.isArray(data.target) && data.target.length === 2) {
// Get agent ID and target for this agent
const agentId = agent.count_id;
if (agentId === 0 || agentId === 1) {
// Use only the corresponding element from the target list
const targetForThisAgent = data.target[agentId];
const modifiedData = {
...data,
target: targetForThisAgent
};
// Check if this agent has their required item
const agentResult = checkItemForSingleAgent(modifiedData, agent);
// Update the file-based progress tracker
const progress = hellsKitchenProgressManager.updateAgentProgress(
data.task_id,
agentId,
agentResult.success
);
// // Log the current state
// console.log(`Agent ${agentId} has item: ${agentResult.success}`);
// console.log(`Task state: Agent0=${progress.agent0Complete}, Agent1=${progress.agent1Complete}`);
// Return combined result - success only if both agents have their items
return {
success: progress.agent0Complete && progress.agent1Complete,
missingItems: agentResult.missingItems,
agentComplete: agentResult.success // Individual agent status for debugging
};
}
}
// Non-hells_kitchen tasks use the standard check
return checkItemForSingleAgent(data, agent);
} catch (error) {
console.error('Error checking item presence:', error);
return {
success: false,
missingItems: [],
error: error.message
};
}
}
/**
* Helper function to check a single agent's inventory
* Extracted from the original checkItemPresence logic
*/
function checkItemForSingleAgent(data, agent) {
function isTargetDictionaryWithQuantities(target) {
return typeof target === 'object' &&
!Array.isArray(target) &&
target !== null &&
Object.values(target).every(value => typeof value === 'number');
}
function normalizeTargets(target) {
if (typeof target === 'string') {
return { [target]: 1 };
} else if (Array.isArray(target)) {
return target.reduce((acc, item) => {
acc[item] = 1;
return acc;
}, {});
} else if (typeof target === 'object' && target !== null) {
return target;
}
throw new Error('Invalid target format');
}
function normalizeQuantities(targets, quantities) {
if (quantities === undefined) {
return Object.keys(targets).reduce((acc, key) => {
acc[key] = 1;
return acc;
}, {});
} else if (typeof quantities === 'number') {
return Object.keys(targets).reduce((acc, key) => {
acc[key] = quantities;
return acc;
}, {});
} else if (typeof quantities === 'object' && quantities !== null) {
return quantities;
}
throw new Error('Invalid number_of_target format');
}
// First normalize targets to always have a consistent format
const targets = normalizeTargets(data.target);
// Determine the required quantities
const requiredQuantities = isTargetDictionaryWithQuantities(data.target)
? data.target
: normalizeQuantities(targets, data.number_of_target);
// Count items in inventory
const inventoryCount = {};
agent.bot.inventory.slots.forEach((slot) => {
if (slot) {
const itemName = slot.name.toLowerCase();
inventoryCount[itemName] = (inventoryCount[itemName] || 0) + slot.count;
}
});
// Check if all required items are present in sufficient quantities
const missingItems = [];
let allTargetsMet = true;
for (const [item, requiredCount] of Object.entries(requiredQuantities)) {
const itemName = item.toLowerCase();
const currentCount = inventoryCount[itemName] || 0;
if (currentCount < requiredCount) {
allTargetsMet = false;
missingItems.push({
item: itemName,
required: requiredCount,
current: currentCount,
missing: requiredCount - currentCount
});
}
}
return {
success: allTargetsMet,
missingItems: missingItems
};
}
class CookingCraftingTaskValidator {
constructor(data, agent) {
this.data = data;
this.agent = agent;
}
validate() {
const result = checkItemPresence(this.data, this.agent);
let score = 0;
if (result.success) {
score = 1;
}
return {
"valid": result.success,
"score": score,
};
}
}
export class Task {
constructor(agent, task_path, task_id, taskStartTime = null) {
this.agent = agent;
this.data = null;
if (taskStartTime !== null)
this.taskStartTime = taskStartTime;
else
this.taskStartTime = Date.now();
this.validator = null;
this.reset_function = null;
this.blocked_actions = [];
this.task_id = task_id;
if (task_path && task_id) {
console.log('Starting task', task_id);
if (task_id.endsWith('hells_kitchen')) {
// Reset hells_kitchen progress when a new task starts
hellsKitchenProgressManager.resetTask(task_id);
console.log('Reset Hells Kitchen progress for new task');
}
this.data = this.loadTask(task_path, task_id);
this.task_type = this.data.type;
if (this.task_type === 'construction' && this.data.blueprint) {
this.blueprint = new Blueprint(this.data.blueprint);
this.goal = this.data.goal + ' \n' + this.blueprint.explain() + " \n" + "make sure to place the lower levels of the blueprint first";
this.conversation = this.data.conversation + ' \n' + this.blueprint.explain();
} else {
this.goal = this.data.goal;
this.conversation = this.data.conversation;
}
this.taskTimeout = this.data.timeout || 300;
this.taskStartTime = Date.now();
// Set validator based on task_type
if (this.task_type === 'construction') {
this.validator = new ConstructionTaskValidator(this.data, this.agent);
} else if (this.task_type === 'cooking' || this.task_type === 'techtree') {
this.validator = new CookingCraftingTaskValidator(this.data, this.agent);
} else {
this.validator = null;
}
if (this.data.blocked_actions) {
this.blocked_actions = this.data.blocked_actions[this.agent.count_id.toString()] || [];
} else {
this.blocked_actions = [];
}
this.restrict_to_inventory = !!this.data.restrict_to_inventory;
if (this.data.goal)
this.blocked_actions.push('!endGoal');
if (this.conversation)
this.blocked_actions.push('!endConversation');
}
else {
console.log('No task.');
}
this.name = this.agent.name;
this.available_agents = settings.profiles.map((p) => JSON.parse(readFileSync(p, 'utf8')).name);
}
// Add this method if you want to manually reset the hells_kitchen progress
resetHellsKitchenProgress() {
if (this.task_id && this.task_id.endsWith('hells_kitchen')) {
hellsKitchenProgressManager.resetTask(this.task_id);
console.log('Hells Kitchen progress reset manually');
}
}
getAgentGoal() {
if (!this.data || !this.data.goal) {
return null;
}
let add_string = '';
if (this.task_type === 'cooking') {
if (this.data.agent_count > 2) {
if (this.name.toLowerCase().startsWith('andy')) {
add_string = '\nIn the end, all the food items should be given to you by other bots. Make sure to talk to all the agents using startConversation command to coordinate the task instead of talking to just one agent. You can even end current conversation with any agent using endConversation command and then talk to a new agent using startConversation command.';
}
else {
add_string = '\nIn the end, all the food items should be given to one single bot whose name starts with andy or Andy. Make sure to talk to all the agents using startConversation command to coordinate the task instead of talking to just one agent. You can even end current conversation with any agent using endConversation command and then talk to a new agent using startConversation command.';
}
}
else {
if (this.data.task_id && this.data.task_id.endsWith('hells_kitchen')) {
add_string = '';
}
else {
add_string = '\nIn the end, all the food items should be given to one single bot.';
}
}
}
if (this.task_type === 'techtree') {
if (this.data.agent_count > 2) {
add_string = '\nMake sure to share resources among all agents and to talk to all the agents using startConversation command to coordinate the task instead of talking to just one agent. You can even end current conversation with any agent using endConversation command and then talk to a new agent using startConversation command.'
}
}
// If goal is a string, all agents share the same goal
if (typeof this.data.goal === 'string') {
return this.data.goal + add_string;
}
// If goal is an object, get the goal for this agent's count_id
if (typeof this.data.goal === 'object' && this.data.goal !== null) {
const agentId = this.agent.count_id.toString();
return (this.data.goal[agentId] || '') + add_string;
}
return null;
}
loadTask(task_path, task_id) {
try {
const tasksFile = readFileSync(task_path, 'utf8');
const tasks = JSON.parse(tasksFile);
let task = tasks[task_id];
task['task_id'] = task_id;
console.log(task);
console.log(this.agent.count_id);
if (!task) {
throw new Error(`Task ${task_id} not found`);
}
// if ((!task.agent_count || task.agent_count <= 1) && this.agent.count_id > 0) {
// task = null;
// }
return task;
} catch (error) {
console.error('Error loading task:', error);
process.exit(1);
}
}
isDone() {
let res = null;
if (this.validator)
res = this.validator.validate();
if (res && res.valid) {
// Find all the agents and clear their inventories
for (let agent of this.available_agents) {
this.agent.bot.chat(`/clear ${agent}`);
}
return {"message": 'Task successful', "score": res.score};
}
let other_names = this.available_agents.filter(n => n !== this.name);
const elapsedTime = (Date.now() - this.taskStartTime) / 1000;
if (elapsedTime >= 30 && this.available_agents.length !== this.data.agent_count) {
console.log('No other agents found. Task unsuccessful.');
return {"message": 'No other agents found', "score": 0};
}
if (this.taskTimeout) {
if (elapsedTime >= this.taskTimeout) {
console.log('Task timeout reached. Task unsuccessful.');
if (res) {
return {"message": 'Task timeout reached', "score": res.score};
} else {
return {"message": 'Task timeout reached', "score": 0};
}
}
}
return false;
}
async initBotTask() {
await this.agent.bot.chat(`/clear ${this.name}`);
console.log(`Cleared ${this.name}'s inventory.`);
//wait for a bit so inventory is cleared
await new Promise((resolve) => setTimeout(resolve, 500));
if (this.data === null)
return;
if (this.task_type === 'cooking') {
this.initiator = new CookingTaskInitiator(this.data, this.agent);
} else {
this.initiator = null;
}
//wait for a bit so bots are teleported
await new Promise((resolve) => setTimeout(resolve, 3000));
if (this.data.initial_inventory) {
console.log("Setting inventory...");
let initialInventory = {};
// Handle multi-agent inventory assignment
if (this.data.agent_count > 1) {
initialInventory = this.data.initial_inventory[this.agent.count_id.toString()] || {};
console.log("Initial inventory for agent", this.agent.count_id, ":", initialInventory);
} else {
initialInventory = this.data.initial_inventory;
console.log("Initial inventory:", initialInventory);
}
console.log(this.data.initial_inventory);
// Assign inventory items
for (let key of Object.keys(initialInventory)) {
const itemName = key.toLowerCase();
const quantity = initialInventory[key];
await this.agent.bot.chat(`/give ${this.name} ${itemName} ${quantity}`);
console.log(`Gave ${this.name} ${quantity} ${itemName}`);
}
// Wait briefly for inventory commands to complete
await new Promise((resolve) => setTimeout(resolve, 500));
}
if (this.initiator) {
await this.initiator.init();
}
await this.teleportBots();
if (this.data.agent_count && this.data.agent_count > 1) {
// TODO wait for other bots to join
await new Promise((resolve) => setTimeout(resolve, 10000));
if (this.available_agents.length < this.data.agent_count) {
console.log(`Missing ${this.data.agent_count - this.available_agents.length} bot(s).`);
this.agent.killAll();
}
}
if (this.data.conversation && this.agent.count_id === 0) {
let other_name = this.available_agents.filter(n => n !== this.name)[0];
let waitCount = 0;
while (other_name === undefined && waitCount < 20) {
other_name = this.available_agents.filter(n => n !== this.name)[0];
await new Promise((resolve) => setTimeout(resolve, 1000));
waitCount++;
}
if (other_name === undefined) {
console.log('No other agents found. Task unsuccessful.');
this.agent.killAll();
}
await executeCommand(this.agent, `!startConversation("${other_name}", "${this.data.conversation}")`);
}
let agentGoal = this.getAgentGoal();
if (agentGoal) {
agentGoal += "You have to collaborate with other agents/bots, namely " + this.available_agents.filter(n => n !== this.name).join(', ') + " to complete the task as soon as possible by dividing the work among yourselves.";
console.log(`Setting goal for agent ${this.agent.count_id}: ${agentGoal}`);
await executeCommand(this.agent, `!goal("${agentGoal}")`);
}
}
async teleportBots() {
console.log('\n\nTeleporting bots');
function getRandomOffset(range) {
return Math.floor(Math.random() * (range * 2 + 1)) - range;
}
let human_player_name = null;
let bot = this.agent.bot;
// Finding if there is a human player on the server
for (const playerName in bot.players) {
const player = bot.players[playerName];
if (!this.available_agents.some((n) => n === playerName)) {
console.log('Found human player:', player.username);
human_player_name = player.username
break;
}
}
if (human_player_name) {
console.log(`Teleporting ${this.name} to human ${human_player_name}`)
bot.chat(`/tp ${this.name} ${human_player_name}`)
}
else {
console.log(`Teleporting ${this.name} to ${this.available_agents[0]}`)
bot.chat(`/tp ${this.name} ${this.available_agents[0]}`);
}
await new Promise((resolve) => setTimeout(resolve, 200));
// now all bots are teleport on top of each other (which kinda looks ugly)
// Thus, we need to teleport them to random distances to make it look better
/*
Note : We don't want randomness for construction task as the reference point matters a lot.
Another reason for no randomness for construction task is because, often times the user would fly in the air,
then set a random block to dirt and teleport the bot to stand on that block for starting the construction,
*/
if (this.data.type !== 'construction') {
const pos = getPosition(bot);
const xOffset = getRandomOffset(5);
const zOffset = getRandomOffset(5);
bot.chat(`/tp ${this.name} ${Math.floor(pos.x + xOffset)} ${pos.y + 3} ${Math.floor(pos.z + zOffset)}`);
await new Promise((resolve) => setTimeout(resolve, 200));
}
if (this.data.agent_count && this.data.agent_count > 1) {
// TODO wait for other bots to join
await new Promise((resolve) => setTimeout(resolve, 10000));
if (this.available_agents.length < this.data.agent_count) {
console.log(`Missing ${this.data.agent_count - this.available_agents.length} bot(s).`);
this.agent.killAll();
}
}
if (this.data.type === 'construction'){
//Ensures construction is cleaned out first. -> relies on cheats which are turned off?
if (this.blueprint){
console.log('Cleaning out construction blueprint');
const result = this.blueprint.autoDelete();
const commands = result.commands;
const nearbyPosition = result.nearbyPosition;
console.log("nearby position", nearbyPosition);
bot.chat(`/tp @a ${nearbyPosition.x} ${nearbyPosition.y} ${nearbyPosition.z}`);
for (const command of commands) {
bot.chat(command);
}
}
else{
console.log('no construction blueprint?')
}
}
}
}

View file

@ -21,6 +21,13 @@ import { DeepSeek } from './deepseek.js';
import { Hyperbolic } from './hyperbolic.js';
import { GLHF } from './glhf.js';
import { OpenRouter } from './openrouter.js';
import { VLLM } from './vllm.js';
import { promises as fs } from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
export class Prompter {
constructor(agent, fp) {
@ -135,6 +142,8 @@ export class Prompter {
profile.api = 'ollama'; // also must do early because shares names with other models
else if (profile.model.includes('gemini'))
profile.api = 'google';
else if (profile.model.includes('vllm/'))
profile.api = 'vllm';
else if (profile.model.includes('gpt') || profile.model.includes('o1')|| profile.model.includes('o3'))
profile.api = 'openai';
else if (profile.model.includes('claude'))
@ -159,7 +168,7 @@ export class Prompter {
profile.api = 'xai';
else if (profile.model.includes('deepseek'))
profile.api = 'deepseek';
else if (profile.model.includes('mistral'))
else if (profile.model.includes('mistral'))
profile.api = 'mistral';
else
throw new Error('Unknown model:', profile.model);
@ -198,6 +207,8 @@ export class Prompter {
model = new DeepSeek(profile.model, profile.url, profile.params);
else if (profile.api === 'openrouter')
model = new OpenRouter(profile.model.replace('openrouter/', ''), profile.url, profile.params);
else if (profile.api === 'vllm')
model = new VLLM(profile.model.replace('vllm/', ''), profile.url, profile.params);
else
throw new Error('Unknown API:', profile.api);
return model;
@ -250,7 +261,7 @@ export class Prompter {
prompt = prompt.replaceAll('$ACTION', this.agent.actions.currentActionLabel);
}
if (prompt.includes('$COMMAND_DOCS'))
prompt = prompt.replaceAll('$COMMAND_DOCS', getCommandDocs());
prompt = prompt.replaceAll('$COMMAND_DOCS', getCommandDocs(this.agent));
if (prompt.includes('$CODE_DOCS')) {
const code_task_content = messages.slice().reverse().find(msg =>
msg.role !== 'system' && msg.content.includes('!newAction(')
@ -313,26 +324,50 @@ export class Prompter {
async promptConvo(messages) {
this.most_recent_msg_time = Date.now();
let current_msg_time = this.most_recent_msg_time;
for (let i = 0; i < 3; i++) { // try 3 times to avoid hallucinations
await this.checkCooldown();
if (current_msg_time !== this.most_recent_msg_time) {
return '';
}
let prompt = this.profile.conversing;
prompt = await this.replaceStrings(prompt, messages, this.convo_examples);
let generation = await this.chat_model.sendRequest(messages, prompt);
// in conversations >2 players LLMs tend to hallucinate and role-play as other bots
// the FROM OTHER BOT tag should never be generated by the LLM
if (generation.includes('(FROM OTHER BOT)')) {
let generation;
try {
generation = await this.chat_model.sendRequest(messages, prompt);
if (typeof generation !== 'string') {
console.error('Error: Generated response is not a string', generation);
throw new Error('Generated response is not a string');
}
console.log("Generated response:", generation);
await this._saveLog(prompt, messages, generation, 'conversation');
} catch (error) {
console.error('Error during message generation or file writing:', error);
continue;
}
// Check for hallucination or invalid output
if (generation?.includes('(FROM OTHER BOT)')) {
console.warn('LLM hallucinated message as another bot. Trying again...');
continue;
}
if (current_msg_time !== this.most_recent_msg_time) {
console.warn(this.agent.name + ' received new message while generating, discarding old response.');
console.warn(`${this.agent.name} received new message while generating, discarding old response.`);
return '';
}
if (generation?.includes('</think>')) {
const [_, afterThink] = generation.split('</think>')
generation = afterThink
}
return generation;
}
return '';
}
@ -345,8 +380,10 @@ export class Prompter {
await this.checkCooldown();
let prompt = this.profile.coding;
prompt = await this.replaceStrings(prompt, messages, this.coding_examples);
let resp = await this.code_model.sendRequest(messages, prompt);
this.awaiting_coding = false;
await this._saveLog(prompt, messages, resp, 'coding');
return resp;
}
@ -354,7 +391,13 @@ export class Prompter {
await this.checkCooldown();
let prompt = this.profile.saving_memory;
prompt = await this.replaceStrings(prompt, null, null, to_summarize);
return await this.chat_model.sendRequest([], prompt);
let resp = await this.chat_model.sendRequest([], prompt);
await this._saveLog(prompt, to_summarize, resp, 'memSaving');
if (resp?.includes('</think>')) {
const [_, afterThink] = resp.split('</think>')
resp = afterThink
}
return resp;
}
async promptShouldRespondToBot(new_message) {
@ -375,6 +418,7 @@ export class Prompter {
}
async promptGoalSetting(messages, last_goals) {
// deprecated
let system_message = this.profile.goal_setting;
system_message = await this.replaceStrings(system_message, messages);
@ -399,4 +443,36 @@ export class Prompter {
goal.quantity = parseInt(goal.quantity);
return goal;
}
async _saveLog(prompt, messages, generation, tag) {
if (!settings.log_all_prompts)
return;
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
let logEntry;
let task_id = this.agent.task.task_id;
if (task_id == null) {
logEntry = `[${timestamp}] \nPrompt:\n${prompt}\n\nConversation:\n${JSON.stringify(messages, null, 2)}\n\nResponse:\n${generation}\n\n`;
} else {
logEntry = `[${timestamp}] Task ID: ${task_id}\nPrompt:\n${prompt}\n\nConversation:\n${JSON.stringify(messages, null, 2)}\n\nResponse:\n${generation}\n\n`;
}
const logFile = `${tag}_${timestamp}.txt`;
await this._saveToFile(logFile, logEntry);
}
async _saveToFile(logFile, logEntry) {
let task_id = this.agent.task.task_id;
let logDir;
if (task_id == null) {
logDir = path.join(__dirname, `../../bots/${this.agent.name}/logs`);
} else {
logDir = path.join(__dirname, `../../bots/${this.agent.name}/logs/${task_id}`);
}
await fs.mkdir(logDir, { recursive: true });
logFile = path.join(logDir, logFile);
await fs.appendFile(logFile, String(logEntry), 'utf-8');
}
}

75
src/models/vllm.js Normal file
View file

@ -0,0 +1,75 @@
// This code uses Dashscope and HTTP to ensure the latest support for the Qwen model.
// Qwen is also compatible with the OpenAI API format;
import OpenAIApi from 'openai';
import { getKey, hasKey } from '../utils/keys.js';
import { strictFormat } from '../utils/text.js';
export class VLLM {
constructor(model_name, url) {
this.model_name = model_name;
// Currently use self-hosted SGLang API for text generation; use OpenAI text-embedding-3-small model for simple embedding.
let vllm_config = {};
if (url)
vllm_config.baseURL = url;
else
vllm_config.baseURL = 'http://0.0.0.0:8000/v1';
vllm_config.apiKey = ""
this.vllm = new OpenAIApi(vllm_config);
}
async sendRequest(turns, systemMessage, stop_seq = '***') {
let messages = [{ 'role': 'system', 'content': systemMessage }].concat(turns);
if (this.model_name.includes('deepseek') || this.model_name.includes('qwen')) {
messages = strictFormat(messages);
}
const pack = {
model: this.model_name || "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B",
messages,
stop: stop_seq,
};
let res = null;
try {
console.log('Awaiting openai api response...')
// console.log('Messages:', messages);
let completion = await this.vllm.chat.completions.create(pack);
if (completion.choices[0].finish_reason == 'length')
throw new Error('Context length exceeded');
console.log('Received.')
res = completion.choices[0].message.content;
}
catch (err) {
if ((err.message == 'Context length exceeded' || err.code == 'context_length_exceeded') && turns.length > 1) {
console.log('Context length exceeded, trying again with shorter context.');
return await this.sendRequest(turns.slice(1), systemMessage, stop_seq);
} else {
console.log(err);
res = 'My brain disconnected, try again.';
}
}
return res;
}
async saveToFile(logFile, logEntry) {
let task_id = this.agent.task.task_id;
console.log(task_id)
let logDir;
if (this.task_id === null) {
logDir = path.join(__dirname, `../../bots/${this.agent.name}/logs`);
} else {
logDir = path.join(__dirname, `../../bots/${this.agent.name}/logs/${task_id}`);
}
await fs.mkdir(logDir, { recursive: true });
logFile = path.join(logDir, logFile);
await fs.appendFile(logFile, String(logEntry), 'utf-8');
}
}

291
tasks/analyse_results.py Normal file
View file

@ -0,0 +1,291 @@
import boto3
import os
import json
import re
from botocore.exceptions import ClientError
import json
import argparse
from tqdm import tqdm
import glob
# Calculate project root directory
project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Define output directory for analysis results
analysis_output_dir = os.path.join(project_root, "experiments", "analysis_results")
# Ensure the output directory exists
os.makedirs(analysis_output_dir, exist_ok=True)
def download_s3_folders(bucket_name, s3_prefix, local_base_dir):
"""
Downloads groups of folders from S3 based on the next level of prefixes.
Args:
bucket_name (str): Name of the S3 bucket.
s3_prefix (str): Prefix where the folders are located (e.g., 'my-experiments/').
local_base_dir (str): Local directory to download the folders to.
Returns:
list: List of downloaded local folder paths.
"""
s3_client = boto3.client('s3')
downloaded_folders = []
# Ensure local_base_dir is relative to project root if not absolute
if not os.path.isabs(local_base_dir):
local_base_dir = os.path.join(project_root, local_base_dir)
try:
# List objects with the prefix, delimited by '/' to find sub-prefixes (folders)
response = s3_client.list_objects_v2(Bucket=bucket_name, Prefix=s3_prefix, Delimiter='/')
if 'CommonPrefixes' not in response:
print(f"No folders found under s3://{bucket_name}/{s3_prefix}")
return downloaded_folders
s3_folder_prefixes = [prefix['Prefix'] for prefix in response['CommonPrefixes']]
subfolder = s3_prefix.split('/')[-2]
for s3_folder_prefix in tqdm(s3_folder_prefixes):
folder_name = s3_folder_prefix.split('/')[-2] # Extract folder name
local_folder_path = os.path.join(local_base_dir, subfolder, folder_name)
os.makedirs(local_folder_path, exist_ok=True)
downloaded_folders.append(local_folder_path)
# Download files within the folder
objects_in_folder = s3_client.list_objects_v2(Bucket=bucket_name, Prefix=s3_folder_prefix)
if 'Contents' in objects_in_folder:
for obj in objects_in_folder['Contents']:
s3_key = obj['Key']
local_file_path = os.path.join(local_folder_path, os.path.basename(s3_key))
try:
s3_client.download_file(bucket_name, s3_key, local_file_path)
except Exception as e:
print(f"Error downloading {s3_key}: {e}")
else:
print(f"No files found in {s3_folder_prefix}")
except ClientError as e:
print(f"Error accessing S3: {e}")
return []
return downloaded_folders
def analyze_json_file(file_path):
"""
Analyzes a single JSON file to extract the task outcome.
Args:
file_path (str): Path to the JSON file.
Returns:
str or None: The task outcome string if found, otherwise None.
"""
try:
with open(file_path, 'r') as f:
data = json.load(f)
if 'turns' in data and isinstance(data['turns'], list):
for turn in reversed(data['turns']): # Check turns from the end
if turn.get('role') == 'system' and isinstance(turn.get('content'), str):
if "Task successful ended with code : 2" in turn['content'] or "Task ended with score : 1" in turn["content"] or "Task ended in score: 1" in turn["content"]:
return True
return False
except FileNotFoundError:
print(f"Error: File not found: {file_path}")
return None
except json.JSONDecodeError:
print(f"Error: Invalid JSON format in: {file_path}")
return None
except Exception as e:
print(f"An unexpected error occurred while processing {file_path}: {e}")
return None
def extract_result(folder_path):
folder_name = os.path.basename(folder_path)
json_files = glob.glob(os.path.join(folder_path, "*.json"))
assert len(json_files) == 2, f"Expected 2 json files in {folder_name}, found {len(json_files)}"
if not json_files:
print(f"No JSON files found in {folder_name}")
return None
else:
outcome = False
for json_file in json_files:
outcome = analyze_json_file(json_file)
if outcome:
return True
return False
def is_base(folder_path):
return "full_plan" in folder_path and "depth_0" in folder_path and "missing" not in folder_path
def base_without_plan(folder_path):
return "no_plan" in folder_path and "depth_0" in folder_path and "missing" in folder_path
def aggregate_results(local_folders):
"""
Aggregates the analysis results for each folder.
Args:
local_folders (list): List of local folder paths containing the JSON files.
Returns:
dict: A dictionary where keys are folder names and values are the aggregated outcomes.
"""
aggregated_data = {}
total = 0
successful = 0
base_successful = 0
base_total = 0
base_no_plan_successful = 0
base_no_plan_total = 0
missing_successful = 0
missing_total = 0
full_plan_successful = 0
full_plan_total = 0
partial_plan_successful = 0
partial_plan_total = 0
no_plan_successful = 0
no_plan_total = 0
high_depth_successful = 0
high_depth_total = 0
for folder_path in tqdm(local_folders):
folder_name = os.path.basename(folder_path)
try:
total += 1
result = extract_result(folder_path)
success = int(extract_result(folder_path))
successful += success
if "missing" in folder_path and not is_base(folder_path):
missing_successful += success
missing_total += 1
if is_base(folder_path):
base_successful += success
base_total += 1
if base_without_plan(folder_path):
base_no_plan_successful += success
base_no_plan_total += 1
if "full_plan" in folder_path and not is_base(folder_path):
full_plan_successful += success
full_plan_total += 1
if "partial_plan" in folder_path and not is_base(folder_path):
partial_plan_successful += success
partial_plan_total += 1
if "no_plan" in folder_path and not is_base(folder_path):
no_plan_successful += success
no_plan_total += 1
if "depth_1" in folder_path or "depth_2" in folder_path and not is_base(folder_path):
high_depth_successful += success
high_depth_total += 1
except Exception as e:
print(f"Error processing {folder_name}: {e}")
return {
"total": total,
"successful": successful,
"success_rate": successful / total if total > 0 else 0,
"base_total": base_total,
"base_successful": base_successful,
"base_success_rate": base_successful / base_total if base_total > 0 else 0,
"base_no_plan_total": base_no_plan_total,
"base_no_plan_successful": base_no_plan_successful,
"base_no_plan_success_rate": base_no_plan_successful / base_no_plan_total if base_no_plan_total > 0 else 0,
"missing_total": missing_total,
"missing_successful": missing_successful,
"missing_success_rate": missing_successful / missing_total if missing_total > 0 else 0,
"full_plan_total": full_plan_total,
"full_plan_successful": full_plan_successful,
"full_plan_success_rate": full_plan_successful / full_plan_total if full_plan_total > 0 else 0,
"partial_plan_total": partial_plan_total,
"partial_plan_successful": partial_plan_successful,
"partial_plan_success_rate": partial_plan_successful / partial_plan_total if partial_plan_total > 0 else 0,
"no_plan_total": no_plan_total,
"no_plan_successful": no_plan_successful,
"no_plan_success_rate": no_plan_successful / no_plan_total if no_plan_total > 0 else 0,
"high_depth_total": high_depth_total,
"high_depth_successful": high_depth_successful,
"high_depth_success_rate": high_depth_successful / high_depth_total if high_depth_total > 0 else 0
}
def get_immediate_subdirectories(a_dir):
# Ensure a_dir is relative to project root if not absolute
if not os.path.isabs(a_dir):
a_dir = os.path.join(project_root, a_dir)
return [os.path.join(a_dir, name) for name in os.listdir(a_dir)
if os.path.isdir(os.path.join(a_dir, name))]
# --- Main Execution ---
if __name__ == "__main__":
# 1. Download folders from AWS or use local directory
parser = argparse.ArgumentParser()
parser.add_argument('--s3_download', action="store_true", help='Download folders from S3')
parser.add_argument('--aws_bucket_name', default="mindcraft" , type=str, help='AWS bucket name')
parser.add_argument('--s3_folder_prefix', default="", type=str, help='S3 folder prefix')
# Change default input dir to 'experiments' relative to project root
parser.add_argument('--local_download_dir', default="experiments", type=str, help='Local directory containing results (relative to project root)')
args = parser.parse_args()
AWS_BUCKET_NAME = args.aws_bucket_name
S3_FOLDER_PREFIX = args.s3_folder_prefix
# Resolve local_download_dir relative to project root
local_download_dir_abs = args.local_download_dir
if not os.path.isabs(local_download_dir_abs):
local_download_dir_abs = os.path.join(project_root, local_download_dir_abs)
# Construct LOCAL_DOWNLOAD_DIR based on the absolute path
if args.local_download_dir != "": # Original check seems redundant now, but kept logic
LOCAL_DOWNLOAD_DIR = local_download_dir_abs # Already includes prefix if s3_download
if args.s3_download and S3_FOLDER_PREFIX: # Append S3 prefix if downloading
LOCAL_DOWNLOAD_DIR = os.path.join(local_download_dir_abs, S3_FOLDER_PREFIX.replace('/', '_').rstrip('_'))
else:
LOCAL_DOWNLOAD_DIR = local_download_dir_abs # Should not happen with default
if (args.s3_download):
print(f"Downloading folders from s3://{AWS_BUCKET_NAME}/{S3_FOLDER_PREFIX} to {LOCAL_DOWNLOAD_DIR}...")
# Pass the absolute base path for downloads
folders = download_s3_folders(AWS_BUCKET_NAME, S3_FOLDER_PREFIX, local_download_dir_abs)
else:
folders = get_immediate_subdirectories(local_download_dir_abs)
print(folders)
if not folders:
print("No folders found or downloaded. Exiting.")
exit()
results = aggregate_results(folders)
print(results)
# Hardcode output path within experiments/analysis_results/
results_file_path = os.path.join(analysis_output_dir, "analyse_results_output.txt")
with open(results_file_path, "w") as file:
file.write("Results\n")
for key, value in results.items():
file.write(f"{key}: {value}\n")
print(f"Results saved to {results_file_path}")
# if not downloaded_local_folders:
# print("No folders downloaded. Exiting.")
# exit()
# print("\n--- Analyzing downloaded files ---")
# # 2. & 3. Analyze files and aggregate results
# results = aggregate_results(downloaded_local_folders)
# print("\n--- Aggregated Results ---")
# for folder, outcome in results.items():
# print(f"Folder: {folder} -> {outcome}")
# Optional: Clean up downloaded files
# import shutil
# shutil.rmtree(LOCAL_DOWNLOAD_DIR)
# print(f"\nCleaned up {LOCAL_DOWNLOAD_DIR}")

View file

@ -0,0 +1,231 @@
import os
import json
from collections import defaultdict
from prettytable import PrettyTable
import re
import argparse
import pandas as pd
import glob
# Calculate project root directory
project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Define output directory for analysis results
analysis_output_dir = os.path.join(project_root, "experiments", "analysis_results")
# Ensure the output directory exists
os.makedirs(analysis_output_dir, exist_ok=True)
def extract_success_scores(folders, model_names):
assert len(folders) == len(model_names), "Folders and model names lists must have the same length."
all_task_scores = defaultdict(dict) # Stores task-wise scores per model
zero_score_tasks = defaultdict(list) # Stores tasks with 0 score per model
material_groups = defaultdict(lambda: defaultdict(list))
room_groups = defaultdict(lambda: defaultdict(list))
material_room_groups = defaultdict(lambda: defaultdict(list))
overall_scores = defaultdict(list) # New dict to store all scores for each model
skipped_tasks = defaultdict(list) # Stores tasks with no score message per model
pattern = re.compile(r"materials_(\d+)_rooms_(\d+)")
for root_dir, model_name in zip(folders, model_names):
for task_folder in os.listdir(root_dir):
task_path = os.path.join(root_dir, task_folder)
if os.path.isdir(task_path):
logs_found = False
score_found = False
for file_name in os.listdir(task_path):
if file_name.endswith(".json"):
logs_found = True
file_path = os.path.join(task_path, file_name)
try:
with open(file_path, 'r') as file:
data = json.load(file)
for turn in reversed(data.get("turns", [])):
if turn["role"] == "system" and "Task ended with score" in turn["content"]:
score = float(turn["content"].split(":")[-1].strip())
all_task_scores[task_folder][model_name] = score
overall_scores[model_name].append(score) # Add to overall scores
score_found = True
if score == 0:
zero_score_tasks[model_name].append(task_folder)
break
if score_found:
break
except Exception as e:
print(f"Error reading {file_path}: {e}")
if logs_found and not score_found:
# Score not found but logs exist - skip this task
skipped_tasks[model_name].append(task_folder)
print(f"Error: No score message found for task '{task_folder}' with model '{model_name}'. Skipping this task.")
if not logs_found:
print(f"No log files found in {task_folder}")
# Calculate model completion rates (only consider tasks with scores)
model_completion_rates = {}
for model_name in model_names:
valid_tasks = [task for task in all_task_scores.keys() if model_name in all_task_scores[task]]
total_tasks = len(valid_tasks)
completed_tasks = len([task for task in valid_tasks if all_task_scores[task][model_name] > 0])
model_completion_rates[model_name] = (completed_tasks / total_tasks) if total_tasks > 0 else 0
# Process task scores into groups (ignore 0 scores)
for task, model_scores in all_task_scores.items():
match = pattern.search(task)
if match:
material = int(match.group(1))
room = int(match.group(2))
for model, score in model_scores.items():
if score > 0: # Ignore 0 scores
material_groups[material][model].append(score)
room_groups[room][model].append(score)
material_room_groups[(material, room)][model].append(score)
def calculate_average(group):
return {key: {model: sum(scores) / len(scores) for model, scores in models.items() if scores}
for key, models in group.items() if models}
avg_material_scores = calculate_average(material_groups)
avg_room_scores = calculate_average(room_groups)
avg_material_room_scores = calculate_average(material_room_groups)
def display_table(title, data, tuple_keys=False):
table = PrettyTable(["Category"] + model_names)
for key, model_scores in sorted(data.items()):
key_display = key if not tuple_keys else f"({key[0]}, {key[1]})"
row = [key_display] + [round(model_scores.get(model, 0), 2) for model in model_names]
table.add_row(row)
print(f"\n{title}")
print(table)
def display_task_scores():
table = PrettyTable(["Task"] + model_names)
for task in sorted(all_task_scores.keys()):
row = [task]
for model in model_names:
score = all_task_scores[task].get(model)
if score is None:
row.append("-")
else:
row.append(round(score, 2))
table.add_row(row)
print("\nTask-wise Success Scores")
print(table)
def display_zero_and_skipped_tasks():
for model in model_names:
if zero_score_tasks[model]:
table = PrettyTable([f"{model} - Tasks with 0 Score"])
for task in zero_score_tasks[model]:
table.add_row([task])
print(f"\n{model} - Tasks with 0 Success Score")
print(table)
if skipped_tasks[model]:
table = PrettyTable([f"{model} - Skipped Tasks (No Score Message)"])
for task in skipped_tasks[model]:
table.add_row([task])
print(f"\n{model} - Skipped Tasks (No Score Message)")
print(table)
def display_overall_averages():
table = PrettyTable(["Metric"] + model_names)
# Overall average score (including zeros)
row_with_zeros = ["Average Score (All Tasks)"]
for model in model_names:
valid_scores = overall_scores[model]
avg = sum(valid_scores) / len(valid_scores) if valid_scores else 0
row_with_zeros.append(round(avg, 2))
table.add_row(row_with_zeros)
# Overall average score (excluding zeros)
row_without_zeros = ["Average Score (Completed Tasks)"]
for model in model_names:
completed_scores = [s for s in overall_scores[model] if s > 0]
avg = sum(completed_scores) / len(completed_scores) if completed_scores else 0
row_without_zeros.append(round(avg, 2))
table.add_row(row_without_zeros)
# Task completion rate
completion_row = ["Task Completion Rate (%)"]
for model in model_names:
completion_row.append(round(model_completion_rates[model] * 100, 2))
table.add_row(completion_row)
# Total number of tasks
task_count_row = ["Total Tasks"]
for model in model_names:
valid_tasks = [task for task in all_task_scores.keys() if model in all_task_scores[task]]
task_count_row.append(len(valid_tasks))
table.add_row(task_count_row)
# Number of skipped tasks
skipped_count_row = ["Skipped Tasks"]
for model in model_names:
skipped_count_row.append(len(skipped_tasks[model]))
table.add_row(skipped_count_row)
print("\nOverall Performance Metrics")
print(table)
display_overall_averages() # Display overall averages first
display_task_scores()
display_zero_and_skipped_tasks()
display_table("Average Success Score by Material", avg_material_scores)
display_table("Average Success Score by Room", avg_room_scores)
display_table("Average Success Score by (Material, Room) Tuples", avg_material_room_scores, tuple_keys=True)
def analyze_construction_log(log_file):
# ... existing code ...
pass
def main():
parser = argparse.ArgumentParser(description='Analyze construction task logs.')
# Change default input dir to 'experiments' relative to project root
parser.add_argument('--log_dir', type=str, default='experiments',
help='Directory containing the log files (relative to project root)')
# Removed --output_file argument
# parser.add_argument('--output_file', type=str, default='construction_analysis_results.csv',
# help='Output CSV file name (relative to project root)')
args = parser.parse_args()
# Resolve log_dir path relative to project root
log_dir_abs = args.log_dir
if not os.path.isabs(log_dir_abs):
log_dir_abs = os.path.join(project_root, log_dir_abs)
# Hardcode output file path
output_file_abs = os.path.join(analysis_output_dir, "construction_analysis.csv")
all_results = []
# Use absolute log directory path
log_pattern = os.path.join(log_dir_abs, '*.json')
print(f"Searching for logs in: {log_pattern}")
log_files_found = glob.glob(log_pattern)
print(f"Found {len(log_files_found)} log files.")
for log_file in log_files_found:
results = analyze_construction_log(log_file)
if results:
all_results.append(results)
if all_results:
df = pd.DataFrame(all_results)
# Ensure the output directory exists (already done at top)
# os.makedirs(os.path.dirname(output_file_abs), exist_ok=True)
# Save to hardcoded absolute output file path
df.to_csv(output_file_abs, index=False)
print(f"Analysis complete. Results saved to {output_file_abs}")
else:
print("No results generated from log files.")
if __name__ == "__main__":
main()

View file

@ -0,0 +1,420 @@
import os
import json
import re
from collections import defaultdict
from prettytable import PrettyTable
import pandas as pd
import glob
import argparse
# Calculate project root directory
project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Define output directory for analysis results
analysis_output_dir = os.path.join(project_root, "experiments", "analysis_results")
# Ensure the output directory exists
os.makedirs(analysis_output_dir, exist_ok=True)
def extract_cooking_items(exp_dir):
"""Extract cooking items from experiment directory name."""
# Remove prefix and blocked access part
clean_name = re.sub(r'^multiagent_cooking_', '', exp_dir)
clean_name = re.sub(r'_blocked_access_[0-9_]+$', '', clean_name)
# Extract individual items
items = []
for item_match in re.finditer(r'([0-9]+)_([a-zA-Z_]+)', clean_name):
count = int(item_match.group(1))
item = item_match.group(2)
# Remove trailing underscores to fix the item name issue
item = item.rstrip('_')
items.append(item)
return items
def analyze_experiments(root_dir, model_name):
# Store results by number of blocked agents
blocked_access_results = defaultdict(lambda: {
"success": 0,
"total": 0
})
# Store results by cooking item
cooking_item_results = defaultdict(lambda: {
"success": 0,
"total": 0
})
# Keep track of all unique cooking items
all_cooking_items = set()
# Keep track of ignored tasks
ignored_tasks = []
# Get a list of all experiment directories
experiment_dirs = [d for d in os.listdir(root_dir) if os.path.isdir(os.path.join(root_dir, d))
and d.startswith("multiagent_cooking_")]
for exp_dir in experiment_dirs:
# Extract cooking items
cooking_items = extract_cooking_items(exp_dir)
# Add to unique items set
all_cooking_items.update(cooking_items)
# Extract blocked access information from directory name
blocked_access_match = re.search(r'blocked_access_([0-9_]+)$', exp_dir)
if blocked_access_match:
blocked_access_str = blocked_access_match.group(1)
# Count how many agents have blocked access
num_blocked_agents = len(blocked_access_str.split('_'))
blocked_key = f"{num_blocked_agents} agent(s)"
else:
# No agents blocked
blocked_key = "0 agent(s)"
# Check if the task was successful
is_successful = False
score_found = False
full_exp_path = os.path.join(root_dir, exp_dir)
# Get all JSON files in the experiment directory
agent_files = [f for f in os.listdir(full_exp_path) if f.endswith(".json")]
# Check each agent file for success information
for agent_file in agent_files:
agent_file_path = os.path.join(full_exp_path, agent_file)
try:
with open(agent_file_path, 'r') as f:
agent_data = json.load(f)
# Check for score information in the turns data
if "turns" in agent_data:
for turn in agent_data["turns"]:
if turn.get("role") == "system" and "content" in turn:
if isinstance(turn["content"], str) and "Task ended with score : " in turn["content"]:
score_found = True
if "Task ended with score : 1" in turn["content"]:
is_successful = True
break
# If we found success, no need to check other files
if is_successful:
break
except (json.JSONDecodeError, IOError) as e:
print(f"Error reading {agent_file_path}: {e}")
# Continue to check other agent files instead of failing
continue
# If no score information was found in any agent file, ignore this task
if not score_found:
ignored_tasks.append(exp_dir)
continue
# Update cooking item results
for item in cooking_items:
cooking_item_results[item]["total"] += 1
if is_successful:
cooking_item_results[item]["success"] += 1
# Update the blocked access counters
blocked_access_results[blocked_key]["total"] += 1
if is_successful:
blocked_access_results[blocked_key]["success"] += 1
# Print information about ignored tasks
if ignored_tasks:
print(f"\n{model_name}: Ignored {len(ignored_tasks)} tasks with no score information:")
for task in ignored_tasks:
print(f" - {task}")
return blocked_access_results, cooking_item_results, all_cooking_items, ignored_tasks
def print_model_comparison_blocked(models_results):
print("\nModel Comparison by Number of Agents with Blocked Access:")
print("=" * 100)
# Get all possible blocked access keys
all_blocked_keys = set()
for model_results in models_results.values():
all_blocked_keys.update(model_results.keys())
# Sort the keys
sorted_keys = sorted(all_blocked_keys, key=lambda x: int(x.split()[0]))
# Create the table
table = PrettyTable()
table.field_names = ["Blocked Agents"] + [
f"{model_name} (Success Rate | Success/Total)" for model_name in models_results.keys()
]
# Calculate and add rows for each blocked key
model_totals = {model: {"success": 0, "total": 0} for model in models_results.keys()}
for key in sorted_keys:
row = [key]
for model_name, model_results in models_results.items():
if key in model_results:
success = model_results[key]["success"]
total = model_results[key]["total"]
model_totals[model_name]["success"] += success
model_totals[model_name]["total"] += total
success_rate = (success / total * 100) if total > 0 else 0
row.append(f"{success_rate:.2f}% | {success}/{total}")
else:
row.append("N/A")
table.add_row(row)
# Print the table
print(table)
# Print the overall results
overall_row = ["Overall"]
for model_name, totals in model_totals.items():
success = totals["success"]
total = totals["total"]
success_rate = (success / total * 100) if total > 0 else 0
overall_row.append(f"{success_rate:.2f}% | {success}/{total}")
table.add_row(overall_row)
print(table)
def print_model_comparison_items(models_item_results, all_cooking_items):
print("\nModel Comparison by Cooking Item:")
print("=" * 100)
# Create the table
table = PrettyTable()
table.field_names = ["Cooking Item"] + [
f"{model_name} (Success Rate | Success/Total)" for model_name in models_item_results.keys()
]
# Calculate and add rows for each cooking item
model_totals = {model: {"success": 0, "total": 0} for model in models_item_results.keys()}
for item in sorted(all_cooking_items):
row = [item]
for model_name, model_results in models_item_results.items():
if item in model_results:
success = model_results[item]["success"]
total = model_results[item]["total"]
model_totals[model_name]["success"] += success
model_totals[model_name]["total"] += total
success_rate = (success / total * 100) if total > 0 else 0
row.append(f"{success_rate:.2f}% | {success}/{total}")
else:
row.append("N/A")
table.add_row(row)
# Print the table
print(table)
# Print the overall results
overall_row = ["Overall"]
for model_name, totals in model_totals.items():
success = totals["success"]
total = totals["total"]
success_rate = (success / total * 100) if total > 0 else 0
overall_row.append(f"{success_rate:.2f}% | {success}/{total}")
table.add_row(overall_row)
print(table)
def print_model_comparison_items_by_blocked(models_data, all_cooking_items):
print("\nDetailed Model Comparison by Cooking Item and Blocked Agent Count:")
print("=" * 120)
# For each cooking item, create a comparison table by blocked agent count
for item in sorted(all_cooking_items):
print(f"\nResults for cooking item: {item}")
print("-" * 100)
# Create the table
table = PrettyTable()
table.field_names = ["Blocked Agents"] + [
f"{model_name} Success Rate" for model_name in models_data.keys()
] + [
f"{model_name} Success/Total" for model_name in models_data.keys()
]
# Get all possible blocked agent counts
all_blocked_keys = set()
for model_name, model_data in models_data.items():
_, _, item_blocked_data = model_data
for blocked_key in item_blocked_data.get(item, {}).keys():
all_blocked_keys.add(blocked_key)
# Sort the keys
sorted_keys = sorted(all_blocked_keys, key=lambda x: int(x.split()[0]))
# Add rows for each blocked key
for blocked_key in sorted_keys:
row = [blocked_key]
for model_name, model_data in models_data.items():
_, _, item_blocked_data = model_data
if item in item_blocked_data and blocked_key in item_blocked_data[item]:
success = item_blocked_data[item][blocked_key]["success"]
total = item_blocked_data[item][blocked_key]["total"]
if total > 0:
success_rate = (success / total * 100)
row.append(f"{success_rate:.2f}%")
row.append(f"{success}/{total}")
else:
row.append("N/A")
row.append("0/0")
else:
row.append("N/A")
row.append("N/A")
table.add_row(row)
# Print the table
print(table)
# Print item summary for each model
overall_row = ["Overall"]
for model_name, model_data in models_data.items():
_, item_results, _ = model_data
if item in item_results:
success = item_results[item]["success"]
total = item_results[item]["total"]
if total > 0:
success_rate = (success / total * 100)
overall_row.append(f"{success_rate:.2f}%")
overall_row.append(f"{success}/{total}")
else:
overall_row.append("N/A")
overall_row.append("0/0")
else:
overall_row.append("N/A")
overall_row.append("N/A")
table.add_row(overall_row)
print(table)
def generate_item_blocked_data(experiments_root):
# Organize data by item and blocked agent count
item_blocked_data = defaultdict(lambda: defaultdict(lambda: {"success": 0, "total": 0}))
# Keep track of ignored tasks
ignored_tasks = []
# Populate the data structure
for exp_dir in os.listdir(experiments_root):
if not os.path.isdir(os.path.join(experiments_root, exp_dir)) or not exp_dir.startswith("multiagent_cooking_"):
continue
# Extract cooking items
cooking_items = extract_cooking_items(exp_dir)
# Extract blocked access information
blocked_access_match = re.search(r'blocked_access_([0-9_]+)$', exp_dir)
if blocked_access_match:
blocked_access_str = blocked_access_match.group(1)
num_blocked_agents = len(blocked_access_str.split('_'))
blocked_key = f"{num_blocked_agents} agent(s)"
else:
blocked_key = "0 agent(s)"
# Check if the task was successful and if score information exists
is_successful = False
score_found = False
full_exp_path = os.path.join(experiments_root, exp_dir)
agent_files = [f for f in os.listdir(full_exp_path) if f.endswith(".json")]
for agent_file in agent_files:
try:
with open(os.path.join(full_exp_path, agent_file), 'r') as f:
agent_data = json.load(f)
if "turns" in agent_data:
for turn in agent_data["turns"]:
if turn.get("role") == "system" and "content" in turn:
if isinstance(turn["content"], str) and "Task ended with score : " in turn["content"]:
score_found = True
if "Task ended with score : 1" in turn["content"]:
is_successful = True
break
if is_successful:
break
except:
continue
# If no score information was found, skip this task
if not score_found:
ignored_tasks.append(exp_dir)
continue
# Update the item-blocked data
for item in cooking_items:
item_blocked_data[item][blocked_key]["total"] += 1
if is_successful:
item_blocked_data[item][blocked_key]["success"] += 1
return item_blocked_data, ignored_tasks
def analyze_cooking_log(log_file):
# Placeholder for the actual analysis logic if it exists
# This function needs to be implemented based on the script's purpose
print(f"Analyzing {log_file}...") # Example print
# Example: return a dictionary of results
return {"file": os.path.basename(log_file), "score": 1} # Dummy result
def main():
parser = argparse.ArgumentParser(description='Analyze cooking task logs.')
# Change default input dir to 'experiments' relative to project root
parser.add_argument('--log_dir', type=str, default='experiments',
help='Directory containing the log files (relative to project root)')
# Removed --output_file argument
# parser.add_argument('--output_file', type=str, default='cooking_analysis_results.csv',
# help='Output CSV file name (relative to project root)')
args = parser.parse_args()
# Resolve log_dir path relative to project root
log_dir_abs = args.log_dir
if not os.path.isabs(log_dir_abs):
log_dir_abs = os.path.join(project_root, log_dir_abs)
# Hardcode output file path
output_file_abs = os.path.join(analysis_output_dir, "cooking_analysis.csv")
all_results = []
# Use absolute log directory path
log_pattern = os.path.join(log_dir_abs, '*.json')
print(f"Searching for logs in: {log_pattern}")
log_files_found = glob.glob(log_pattern)
print(f"Found {len(log_files_found)} log files.")
for log_file in log_files_found:
results = analyze_cooking_log(log_file)
if results:
all_results.append(results) # Append the results dictionary
if all_results:
df = pd.DataFrame(all_results)
# Ensure the output directory exists
os.makedirs(os.path.dirname(output_file_abs), exist_ok=True)
# Save to hardcoded absolute output file path
df.to_csv(output_file_abs, index=False)
print(f"Analysis complete. Results saved to {output_file_abs}")
else:
print("No results generated from log files.")
if __name__ == "__main__":
main()

View file

@ -0,0 +1,379 @@
import boto3
import os
import json
import re
from botocore.exceptions import ClientError
import json
import argparse
from tqdm import tqdm
import glob
from prettytable import PrettyTable
import pandas as pd
# Calculate project root directory
project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Define output directory for analysis results
analysis_output_dir = os.path.join(project_root, "experiments", "analysis_results")
# Ensure the output directory exists
os.makedirs(analysis_output_dir, exist_ok=True)
def download_s3_folders(bucket_name, s3_prefix, local_base_dir):
"""
Downloads groups of folders from S3 based on the next level of prefixes.
Args:
bucket_name (str): Name of the S3 bucket.
s3_prefix (str): Prefix where the folders are located (e.g., 'my-experiments/').
local_base_dir (str): Local directory to download the folders to.
Returns:
list: List of downloaded local folder paths.
"""
s3_client = boto3.client('s3')
downloaded_folders = []
# Ensure local_base_dir is relative to project root if not absolute
if not os.path.isabs(local_base_dir):
local_base_dir = os.path.join(project_root, local_base_dir)
try:
# List objects with the prefix, delimited by '/' to find sub-prefixes (folders)
response = s3_client.list_objects_v2(Bucket=bucket_name, Prefix=s3_prefix, Delimiter='/')
if 'CommonPrefixes' not in response:
print(f"No folders found under s3://{bucket_name}/{s3_prefix}")
return downloaded_folders
s3_folder_prefixes = [prefix['Prefix'] for prefix in response['CommonPrefixes']]
subfolder = s3_prefix.split('/')[-2]
for s3_folder_prefix in tqdm(s3_folder_prefixes):
folder_name = s3_folder_prefix.split('/')[-2] # Extract folder name
local_folder_path = os.path.join(local_base_dir, subfolder, folder_name)
os.makedirs(local_folder_path, exist_ok=True)
downloaded_folders.append(local_folder_path)
# Download files within the folder
objects_in_folder = s3_client.list_objects_v2(Bucket=bucket_name, Prefix=s3_folder_prefix)
if 'Contents' in objects_in_folder:
for obj in objects_in_folder['Contents']:
s3_key = obj['Key']
local_file_path = os.path.join(local_folder_path, os.path.basename(s3_key))
try:
s3_client.download_file(bucket_name, s3_key, local_file_path)
except Exception as e:
print(f"Error downloading {s3_key}: {e}")
else:
print(f"No files found in {s3_folder_prefix}")
except ClientError as e:
print(f"Error accessing S3: {e}")
return []
return downloaded_folders
def analyze_json_file(file_path):
"""
Analyzes a single JSON file to extract the task outcome.
Args:
file_path (str): Path to the JSON file.
Returns:
bool: True if task was successful, False otherwise.
"""
try:
with open(file_path, 'r') as f:
data = json.load(f)
if 'turns' in data and isinstance(data['turns'], list):
for turn in data['turns']: # Check all turns, not just from the end
if turn.get('role') == 'system' and isinstance(turn.get('content'), str):
if "Task successful ended with code : 2" in turn['content'] or "Task ended with score : 1" in turn["content"] or "Task ended in score: 1" in turn["content"]:
# print(f"Success found in {file_path}")
return True
return False
except FileNotFoundError:
print(f"Error: File not found: {file_path}")
return None
except json.JSONDecodeError:
print(f"Error: Invalid JSON format in: {file_path}")
return None
except Exception as e:
print(f"An unexpected error occurred while processing {file_path}: {e}")
return None
def extract_result(folder_path):
folder_name = os.path.basename(folder_path)
json_files = glob.glob(os.path.join(folder_path, "*.json"))
if not json_files:
print(f"No JSON files found in {folder_name}")
return None
else:
# Check each JSON file in the folder for success indication
for json_file in json_files:
outcome = analyze_json_file(json_file)
if outcome: # If any file indicates success, return True
return True
return False # Return False only if no files indicate success
def is_base(folder_path):
return "full_plan" in folder_path and "depth_0" in folder_path and "missing" not in folder_path
def base_without_plan(folder_path):
return "no_plan" in folder_path and "depth_0" in folder_path and "missing" in folder_path
def aggregate_results(local_folders):
"""
Aggregates the analysis results for each folder.
Args:
local_folders (list): List of local folder paths containing the JSON files.
Returns:
dict: A dictionary where keys are folder names and values are the aggregated outcomes.
"""
aggregated_data = {}
total = 0
successful = 0
base_successful = 0
base_total = 0
base_no_plan_successful = 0
base_no_plan_total = 0
missing_successful = 0
missing_total = 0
full_plan_successful = 0
full_plan_total = 0
partial_plan_successful = 0
partial_plan_total = 0
no_plan_successful = 0
no_plan_total = 0
high_depth_successful = 0
high_depth_total = 0
# For depth-based metrics
depth_0_successful = 0
depth_0_total = 0
depth_1_successful = 0
depth_1_total = 0
depth_2_successful = 0
depth_2_total = 0
for folder_path in tqdm(local_folders):
folder_name = os.path.basename(folder_path)
try:
total += 1
result = extract_result(folder_path)
success = int(extract_result(folder_path))
successful += success
print(f"Folder: {folder_name} -> {success}")
if "missing" in folder_path:
missing_successful += success
missing_total += 1
if is_base(folder_path):
base_successful += success
base_total += 1
if base_without_plan(folder_path):
base_no_plan_successful += success
base_no_plan_total += 1
if "full_plan" in folder_path:
full_plan_successful += success
full_plan_total += 1
if "partial_plan" in folder_path:
partial_plan_successful += success
partial_plan_total += 1
if "no_plan" in folder_path:
no_plan_successful += success
no_plan_total += 1
if "depth_1" in folder_path or "depth_2" in folder_path:
high_depth_successful += success
high_depth_total += 1
# Collect depth-specific metrics
if "depth_0" in folder_path:
depth_0_successful += success
depth_0_total += 1
elif "depth_1" in folder_path:
depth_1_successful += success
depth_1_total += 1
elif "depth_2" in folder_path:
depth_2_successful += success
depth_2_total += 1
except Exception as e:
print(f"Error processing {folder_name}: {e}")
return {
"total": total,
"successful": successful,
"success_rate": successful / total if total > 0 else 0,
"base_total": base_total,
"base_successful": base_successful,
"base_success_rate": base_successful / base_total if base_total > 0 else 0,
"base_no_plan_total": base_no_plan_total,
"base_no_plan_successful": base_no_plan_successful,
"base_no_plan_success_rate": base_no_plan_successful / base_no_plan_total if base_no_plan_total > 0 else 0,
"missing_total": missing_total,
"missing_successful": missing_successful,
"missing_success_rate": missing_successful / missing_total if missing_total > 0 else 0,
"full_plan_total": full_plan_total,
"full_plan_successful": full_plan_successful,
"full_plan_success_rate": full_plan_successful / full_plan_total if full_plan_total > 0 else 0,
"partial_plan_total": partial_plan_total,
"partial_plan_successful": partial_plan_successful,
"partial_plan_success_rate": partial_plan_successful / partial_plan_total if partial_plan_total > 0 else 0,
"no_plan_total": no_plan_total,
"no_plan_successful": no_plan_successful,
"no_plan_success_rate": no_plan_successful / no_plan_total if no_plan_total > 0 else 0,
"high_depth_total": high_depth_total,
"high_depth_successful": high_depth_successful,
"high_depth_success_rate": high_depth_successful / high_depth_total if high_depth_total > 0 else 0,
"depth_0_total": depth_0_total,
"depth_0_successful": depth_0_successful,
"depth_0_success_rate": depth_0_successful / depth_0_total if depth_0_total > 0 else 0,
"depth_1_total": depth_1_total,
"depth_1_successful": depth_1_successful,
"depth_1_success_rate": depth_1_successful / depth_1_total if depth_1_total > 0 else 0,
"depth_2_total": depth_2_total,
"depth_2_successful": depth_2_successful,
"depth_2_success_rate": depth_2_successful / depth_2_total if depth_2_total > 0 else 0
}
def get_immediate_subdirectories(a_dir):
# Ensure a_dir is relative to project root if not absolute
if not os.path.isabs(a_dir):
a_dir = os.path.join(project_root, a_dir)
return [os.path.join(a_dir, name) for name in os.listdir(a_dir)
if os.path.isdir(os.path.join(a_dir, name))]
def format_percentage(value):
"""Format a decimal value as a percentage with 2 decimal places"""
return f"{value * 100:.2f}%"
def create_pretty_tables(results):
"""
Create pretty tables for the results.
Args:
results (dict): Dictionary with aggregated results
Returns:
str: String representation of the formatted tables
"""
# Table 1: Overall Metrics
overall_table = PrettyTable()
overall_table.title = "Overall Metrics"
overall_table.field_names = ["Metric", "Total", "Successful", "Success Rate"]
overall_table.add_row(["All Tests", results["total"], results["successful"], format_percentage(results["success_rate"])])
overall_table.add_row(["Base", results["base_total"], results["base_successful"], format_percentage(results["base_success_rate"])])
overall_table.add_row(["Base (No Plan)", results["base_no_plan_total"], results["base_no_plan_successful"], format_percentage(results["base_no_plan_success_rate"])])
overall_table.add_row(["Missing", results["missing_total"], results["missing_successful"], format_percentage(results["missing_success_rate"])])
overall_table.add_row(["High Depth", results["high_depth_total"], results["high_depth_successful"], format_percentage(results["high_depth_success_rate"])])
# Table 2: Depth-based Metrics
depth_table = PrettyTable()
depth_table.title = "Metrics by Depth"
depth_table.field_names = ["Depth", "Total", "Successful", "Success Rate"]
depth_table.add_row(["Depth 0", results["depth_0_total"], results["depth_0_successful"], format_percentage(results["depth_0_success_rate"])])
depth_table.add_row(["Depth 1", results["depth_1_total"], results["depth_1_successful"], format_percentage(results["depth_1_success_rate"])])
depth_table.add_row(["Depth 2", results["depth_2_total"], results["depth_2_successful"], format_percentage(results["depth_2_success_rate"])])
# Table 3: Plan Availability Metrics
plan_table = PrettyTable()
plan_table.title = "Metrics by Plan Availability"
plan_table.field_names = ["Plan Type", "Total", "Successful", "Success Rate"]
plan_table.add_row(["Full Plan", results["full_plan_total"], results["full_plan_successful"], format_percentage(results["full_plan_success_rate"])])
plan_table.add_row(["Partial Plan", results["partial_plan_total"], results["partial_plan_successful"], format_percentage(results["partial_plan_success_rate"])])
plan_table.add_row(["No Plan", results["no_plan_total"], results["no_plan_successful"], format_percentage(results["no_plan_success_rate"])])
return overall_table.get_string() + "\n\n" + depth_table.get_string() + "\n\n" + plan_table.get_string()
def analyze_crafting_log(log_file):
# ... existing code ...
pass
def main():
# 1. Download folders from AWS or use local directory
parser = argparse.ArgumentParser()
parser.add_argument('--s3_download', action="store_true", help='Download folders from S3')
parser.add_argument('--aws_bucket_name', default="mindcraft" , type=str, help='AWS bucket name')
parser.add_argument('--s3_folder_prefix', default="", type=str, help='S3 folder prefix')
# Change default input dir to 'experiments' relative to project root
parser.add_argument('--local_download_dir', default="experiments", type=str, help='Local directory containing results (relative to project root)')
args = parser.parse_args()
AWS_BUCKET_NAME = args.aws_bucket_name
S3_FOLDER_PREFIX = args.s3_folder_prefix
# Resolve local_download_dir relative to project root
local_download_dir_abs = args.local_download_dir
if not os.path.isabs(local_download_dir_abs):
local_download_dir_abs = os.path.join(project_root, local_download_dir_abs)
# Construct LOCAL_DOWNLOAD_DIR based on the absolute path
# This directory will be used for results aggregation and saving output files
if args.local_download_dir != "":
LOCAL_DOWNLOAD_DIR = local_download_dir_abs # Base results directory
if args.s3_download and S3_FOLDER_PREFIX: # Append S3 prefix if downloading to keep results separate
LOCAL_DOWNLOAD_DIR = os.path.join(local_download_dir_abs, S3_FOLDER_PREFIX.replace('/', '_').rstrip('_'))
else:
LOCAL_DOWNLOAD_DIR = local_download_dir_abs # Should not happen with default
if (args.s3_download):
print(f"Downloading folders from s3://{AWS_BUCKET_NAME}/{S3_FOLDER_PREFIX} to {LOCAL_DOWNLOAD_DIR}...")
# Pass the absolute base path for downloads, download_s3_folders handles subfolder creation
folders = download_s3_folders(AWS_BUCKET_NAME, S3_FOLDER_PREFIX, local_download_dir_abs)
else:
# Use the absolute path to get subdirectories
folders = get_immediate_subdirectories(local_download_dir_abs)
print(f"Found local folders: {folders}")
if not folders:
print("No folders found or downloaded. Exiting.")
exit()
results = aggregate_results(folders)
print(results)
# Create pretty tables
tables_output = create_pretty_tables(results)
print("\n" + tables_output)
# Save results to files within the hardcoded experiments/analysis_results/ directory
# os.makedirs(LOCAL_DOWNLOAD_DIR, exist_ok=True) # Output dir created at top
# Save raw results
# Determine filename based on S3 prefix or local dir name if possible
if S3_FOLDER_PREFIX:
results_filename_base = S3_FOLDER_PREFIX.replace('/', '_').rstrip('_')
else:
results_filename_base = os.path.basename(local_download_dir_abs) if local_download_dir_abs else "local"
results_filename_base = f"crafting_analysis_{results_filename_base}"
results_file_path = os.path.join(analysis_output_dir, f"{results_filename_base}_results.txt")
with open(results_file_path, "w") as file:
file.write("Results\n")
for key, value in results.items():
file.write(f"{key}: {value}\n")
# Save pretty tables
tables_file_path = os.path.join(analysis_output_dir, f"{results_filename_base}_tables.txt")
with open(tables_file_path, "w") as file:
file.write(tables_output)
print(f"Results saved to {results_file_path} and tables saved to {tables_file_path}")
if __name__ == "__main__":
main()

View file

@ -0,0 +1,34 @@
# Construction Tasks Generation
## Overview
Instructions on how to customize construction task generation.
## Getting Started
Edit and Run `tasks/construction_tasks/generate_multiagent_construction_tasks.js` to create new task variants. Note the 'main' is at the end of the page, and determines which file gets written to.
## Customization Options
### Cheats and Profile Configurations
To enable cheats, set the `cheat` variable to `true` in `profiles/task_construct.json`.
You can additionally access
### Task Configuration
For task specific customization, modify the `generateConstructionTasks` function in `tasks/construction_tasks/generate_multiagent_construction_tasks.js` to adjust:
1. Room parameters:
- Size
- Window style
- Carpet style
2. Task generation:
- Number of variants
- Timeout duration
The generation code is documented to help with customization.
## Important File Locations
- `tasks/construction_tasks/generate_multiagent_construction_tasks.js` - Main task generation script
- `profiles/task_construct.json` - Default configuration profile
- `tasks/construction_tasks/test_multiagent_construction_tasks.json` - Training task definitions (initalized with 5 variants)
- `tasks/construction_tasks/test_multiagent_construction_tasks.json` - Test task definitions (initalized with 1 variant)
- `src/agent/tasks/construction_tasks.js` - Blueprint Class, Construction Validation Class, and Procedural Generation Function

View file

@ -0,0 +1,32 @@
import fs from 'fs';
// Read and parse the JSON file
const tasks = JSON.parse(fs.readFileSync('./test_multiagent_construction_tasks.json'));
// Validate format and count variants
const counts = {};
const expectedKeys = ['type', 'goal', 'conversation', 'agent_count', 'blueprint', 'initial_inventory'];
Object.keys(tasks).forEach(taskName => {
const task = tasks[taskName];
// Validate task format
if (!expectedKeys.every(key => key in task)) {
console.error(`Invalid task format in ${taskName}`);
return;
}
const category = taskName.split('_variant_')[0];
counts[category] = (counts[category] || 0) + 1;
});
console.log('\nVariants per category:');
Object.entries(counts).forEach(([category, count]) => {
console.log(`${category}: ${count}`);
});
console.log(`\nTotal tasks: ${Object.keys(tasks).length}`);
console.log(`Total categories: ${Object.keys(counts).length}`);
// const expectedTotal = 5 * 3 * 3* 3
// * 5; // materialLevels * roomCounts * windowStyles * carpetStyles * variants
// console.log(`Expected total tasks: ${expectedTotal}`);

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,690 @@
{
"pyramid": {
"type": "construction",
"goal": "Make a structure with the blueprint below",
"conversation": "Let's share materials and make a structure with the blueprint",
"agent_count": 2,
"blueprint": {
"materials": {
"polished_granite": 1,
"gold_block": 27,
"stone_bricks": 41,
"polished_andesite": 34,
"quartz_block": 16,
"stone": 23,
"polished_diorite": 21,
"quartz_pillar": 2,
"glowstone": 3
},
"levels": [
{
"level": 0,
"coordinates": [
-60,
-60,
6
],
"placement": [
[
"polished_granite",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"gold_block",
"stone_bricks",
"polished_andesite",
"gold_block",
"quartz_block",
"polished_andesite",
"gold_block",
"stone_bricks",
"gold_block"
],
[
"air",
"stone_bricks",
"polished_andesite",
"stone",
"polished_diorite",
"polished_andesite",
"stone",
"stone_bricks",
"polished_diorite",
"gold_block"
],
[
"air",
"polished_andesite",
"stone",
"polished_diorite",
"polished_andesite",
"stone",
"stone_bricks",
"polished_diorite",
"stone",
"stone_bricks"
],
[
"air",
"gold_block",
"polished_diorite",
"polished_andesite",
"stone",
"stone_bricks",
"polished_diorite",
"stone",
"stone_bricks",
"polished_andesite"
],
[
"air",
"quartz_block",
"polished_andesite",
"stone",
"stone_bricks",
"polished_diorite",
"stone",
"stone_bricks",
"polished_andesite",
"quartz_block"
],
[
"air",
"polished_andesite",
"stone",
"stone_bricks",
"polished_diorite",
"stone",
"stone_bricks",
"polished_andesite",
"polished_diorite",
"stone_bricks"
],
[
"air",
"gold_block",
"stone_bricks",
"polished_diorite",
"stone",
"stone_bricks",
"polished_andesite",
"polished_diorite",
"stone_bricks",
"polished_andesite"
],
[
"air",
"stone_bricks",
"polished_diorite",
"stone",
"stone_bricks",
"polished_andesite",
"polished_diorite",
"stone_bricks",
"polished_andesite",
"gold_block"
],
[
"air",
"gold_block",
"gold_block",
"stone_bricks",
"polished_andesite",
"quartz_block",
"stone_bricks",
"polished_andesite",
"gold_block",
"gold_block"
]
]
},
{
"level": 1,
"coordinates": [
-60,
-59,
6
],
"placement": [
[
"quartz_pillar",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"gold_block",
"stone_bricks",
"polished_andesite",
"quartz_block",
"stone_bricks",
"polished_andesite",
"gold_block",
"air"
],
[
"air",
"air",
"stone_bricks",
"stone",
"polished_diorite",
"polished_andesite",
"stone",
"stone_bricks",
"stone_bricks",
"air"
],
[
"air",
"air",
"polished_andesite",
"polished_diorite",
"polished_andesite",
"stone",
"stone_bricks",
"polished_diorite",
"polished_andesite",
"air"
],
[
"air",
"air",
"quartz_block",
"polished_andesite",
"stone",
"glowstone",
"polished_diorite",
"stone",
"quartz_block",
"air"
],
[
"air",
"air",
"stone_bricks",
"stone",
"stone_bricks",
"polished_diorite",
"stone",
"stone_bricks",
"stone_bricks",
"air"
],
[
"air",
"air",
"polished_andesite",
"stone_bricks",
"polished_diorite",
"stone",
"stone_bricks",
"polished_andesite",
"polished_andesite",
"air"
],
[
"air",
"air",
"gold_block",
"stone_bricks",
"polished_andesite",
"quartz_block",
"stone_bricks",
"polished_andesite",
"gold_block",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
]
]
},
{
"level": 2,
"coordinates": [
-60,
-58,
6
],
"placement": [
[
"quartz_pillar",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"gold_block",
"stone_bricks",
"quartz_block",
"gold_block",
"gold_block",
"air",
"air"
],
[
"air",
"air",
"air",
"stone_bricks",
"polished_diorite",
"polished_andesite",
"stone",
"polished_andesite",
"air",
"air"
],
[
"air",
"air",
"air",
"quartz_block",
"polished_andesite",
"glowstone",
"stone_bricks",
"quartz_block",
"air",
"air"
],
[
"air",
"air",
"air",
"gold_block",
"stone",
"stone_bricks",
"polished_diorite",
"stone_bricks",
"air",
"air"
],
[
"air",
"air",
"air",
"gold_block",
"polished_andesite",
"quartz_block",
"stone_bricks",
"gold_block",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
]
]
},
{
"level": 3,
"coordinates": [
-60,
-57,
6
],
"placement": [
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"gold_block",
"quartz_block",
"gold_block",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"quartz_block",
"glowstone",
"quartz_block",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"gold_block",
"quartz_block",
"gold_block",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
]
]
},
{
"level": 4,
"coordinates": [
-60,
-56,
6
],
"placement": [
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"gold_block",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
]
]
}
]
},
"initial_inventory": {
"0": {
"polished_granite": 1,
"stone_bricks": 41,
"quartz_block": 16,
"polished_diorite": 21,
"glowstone": 3,
"diamond_pickaxe": 1
},
"1": {
"gold_block": 27,
"polished_andesite": 34,
"stone": 23,
"quartz_pillar": 2,
"diamond_pickaxe": 1
}
}
}
}

View file

@ -0,0 +1,699 @@
{
"pyramid_three_agents": {
"type": "construction",
"goal": "Make a structure with the blueprint below",
"conversation": "Let's share materials and make a structure with the blueprint",
"agent_count": 3,
"blueprint": {
"materials": {
"polished_granite": 1,
"gold_block": 27,
"stone_bricks": 41,
"polished_andesite": 34,
"quartz_block": 16,
"stone": 23,
"polished_diorite": 21,
"quartz_pillar": 2,
"glowstone": 3
},
"levels": [
{
"level": 0,
"coordinates": [
-60,
-60,
6
],
"placement": [
[
"polished_granite",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"gold_block",
"stone_bricks",
"polished_andesite",
"gold_block",
"quartz_block",
"polished_andesite",
"gold_block",
"stone_bricks",
"gold_block"
],
[
"air",
"stone_bricks",
"polished_andesite",
"stone",
"polished_diorite",
"polished_andesite",
"stone",
"stone_bricks",
"polished_diorite",
"gold_block"
],
[
"air",
"polished_andesite",
"stone",
"polished_diorite",
"polished_andesite",
"stone",
"stone_bricks",
"polished_diorite",
"stone",
"stone_bricks"
],
[
"air",
"gold_block",
"polished_diorite",
"polished_andesite",
"stone",
"stone_bricks",
"polished_diorite",
"stone",
"stone_bricks",
"polished_andesite"
],
[
"air",
"quartz_block",
"polished_andesite",
"stone",
"stone_bricks",
"polished_diorite",
"stone",
"stone_bricks",
"polished_andesite",
"quartz_block"
],
[
"air",
"polished_andesite",
"stone",
"stone_bricks",
"polished_diorite",
"stone",
"stone_bricks",
"polished_andesite",
"polished_diorite",
"stone_bricks"
],
[
"air",
"gold_block",
"stone_bricks",
"polished_diorite",
"stone",
"stone_bricks",
"polished_andesite",
"polished_diorite",
"stone_bricks",
"polished_andesite"
],
[
"air",
"stone_bricks",
"polished_diorite",
"stone",
"stone_bricks",
"polished_andesite",
"polished_diorite",
"stone_bricks",
"polished_andesite",
"gold_block"
],
[
"air",
"gold_block",
"gold_block",
"stone_bricks",
"polished_andesite",
"quartz_block",
"stone_bricks",
"polished_andesite",
"gold_block",
"gold_block"
]
]
},
{
"level": 1,
"coordinates": [
-60,
-59,
6
],
"placement": [
[
"quartz_pillar",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"gold_block",
"stone_bricks",
"polished_andesite",
"quartz_block",
"stone_bricks",
"polished_andesite",
"gold_block",
"air"
],
[
"air",
"air",
"stone_bricks",
"stone",
"polished_diorite",
"polished_andesite",
"stone",
"stone_bricks",
"stone_bricks",
"air"
],
[
"air",
"air",
"polished_andesite",
"polished_diorite",
"polished_andesite",
"stone",
"stone_bricks",
"polished_diorite",
"polished_andesite",
"air"
],
[
"air",
"air",
"quartz_block",
"polished_andesite",
"stone",
"glowstone",
"polished_diorite",
"stone",
"quartz_block",
"air"
],
[
"air",
"air",
"stone_bricks",
"stone",
"stone_bricks",
"polished_diorite",
"stone",
"stone_bricks",
"stone_bricks",
"air"
],
[
"air",
"air",
"polished_andesite",
"stone_bricks",
"polished_diorite",
"stone",
"stone_bricks",
"polished_andesite",
"polished_andesite",
"air"
],
[
"air",
"air",
"gold_block",
"stone_bricks",
"polished_andesite",
"quartz_block",
"stone_bricks",
"polished_andesite",
"gold_block",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
]
]
},
{
"level": 2,
"coordinates": [
-60,
-58,
6
],
"placement": [
[
"quartz_pillar",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"gold_block",
"stone_bricks",
"quartz_block",
"gold_block",
"gold_block",
"air",
"air"
],
[
"air",
"air",
"air",
"stone_bricks",
"polished_diorite",
"polished_andesite",
"stone",
"polished_andesite",
"air",
"air"
],
[
"air",
"air",
"air",
"quartz_block",
"polished_andesite",
"glowstone",
"stone_bricks",
"quartz_block",
"air",
"air"
],
[
"air",
"air",
"air",
"gold_block",
"stone",
"stone_bricks",
"polished_diorite",
"stone_bricks",
"air",
"air"
],
[
"air",
"air",
"air",
"gold_block",
"polished_andesite",
"quartz_block",
"stone_bricks",
"gold_block",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
]
]
},
{
"level": 3,
"coordinates": [
-60,
-57,
6
],
"placement": [
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"gold_block",
"quartz_block",
"gold_block",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"quartz_block",
"glowstone",
"quartz_block",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"gold_block",
"quartz_block",
"gold_block",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
]
]
},
{
"level": 4,
"coordinates": [
-60,
-56,
6
],
"placement": [
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"gold_block",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
],
[
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air",
"air"
]
]
}
]
},
"initial_inventory": {
"0": {
"diamond_pickaxe": 1,
"diamond_axe": 1,
"diamond_shovel": 1,
"polished_granite": 1,
"polished_andesite": 34,
"polished_diorite": 21
},
"1": {
"diamond_pickaxe": 1,
"diamond_axe": 1,
"diamond_shovel": 1,
"gold_block": 27,
"quartz_block": 16,
"quartz_pillar": 2
},
"2": {
"diamond_pickaxe": 1,
"diamond_axe": 1,
"diamond_shovel": 1,
"stone_bricks": 41,
"stone": 23,
"glowstone": 3
}
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,241 @@
import json
import re
import statistics
import random
import os
def extract_difficulty(task_name):
"""Extract difficulty parameters from the task name."""
match = re.search(r'materials_(\d+)_rooms_(\d+)_window_(\d+)_carpet_(\d+)_variant_\d+', task_name)
if match:
return tuple(map(int, match.groups())) # (m, r, w, c)
return (0, 0, 0, 0) # Default to lowest difficulty if not found
def calculate_difficulty_score(task_name, task, alpha=1.0, beta=3.0):
"""Compute a difficulty score based on parameters."""
m, r, w, c = extract_difficulty(task_name)
num_levels = len(task.get("blueprint", {}).get("levels", []))
# Higher values mean more difficulty
score = (m*4 + r*10 + w*2 + c*1)
return score
def process_json(file_path, output_path, alpha=1.0, beta=3.0):
"""Process the JSON file to count tasks, quantify difficulty, and filter easiest 30."""
with open(file_path, 'r') as f:
data = json.load(f)
# Count total tasks
total_tasks = len(data)
print(f"Total tasks: {total_tasks}")
# Compute difficulty scores for tasks with at least 3 levels
task_difficulties = []
filtered_out = 0
for task_name, task_details in data.items():
num_levels = len(task_details.get("blueprint", {}).get("levels", []))
# Skip tasks with fewer than 3 levels
if num_levels < 3:
filtered_out += 1
continue
score = calculate_difficulty_score(task_name, task_details, alpha, beta)
task_difficulties.append((task_name, score, task_details))
print(f"Filtered out {filtered_out} tasks with fewer than 3 levels")
print(f"Remaining tasks after filtering: {len(task_difficulties)}")
# Calculate statistics on the filtered tasks
if task_difficulties:
difficulty_scores = [score for _, score, _ in task_difficulties]
stats = {
"mean": statistics.mean(difficulty_scores),
"median": statistics.median(difficulty_scores),
"min": min(difficulty_scores),
"max": max(difficulty_scores),
}
print(f"Difficulty Statistics for Overall Tasks: {stats}")
else:
stats = {"mean": 0, "median": 0, "min": 0, "max": 0}
print("No tasks remaining after filtering!")
# Sort tasks by difficulty (ascending)
task_difficulties.sort(key=lambda x: x[1])
# Get the 30 easiest tasks (or all if less than 30)
num_tasks_to_select = min(30, len(task_difficulties))
easiest_tasks = {task[0]: task[2] for task in task_difficulties[:num_tasks_to_select]}
# Difficulty scores of the easiest tasks
easiest_difficulty_scores = [score for _, score, _ in task_difficulties[:num_tasks_to_select]]
easiest_stats = {
"mean": statistics.mean(easiest_difficulty_scores),
"median": statistics.median(easiest_difficulty_scores),
"min": min(easiest_difficulty_scores),
"max": max(easiest_difficulty_scores),
}
print(f"Difficulty Statistics for Easiest Tasks: {easiest_stats}")
# Add a group by of all unique (m, r, w, c) combinations in the easiest tasks
unique_difficulties = {}
for task_name, _, task_details in task_difficulties[:num_tasks_to_select]:
m, r, w, c = extract_difficulty(task_name)
unique_difficulties[(m, r, w, c)] = unique_difficulties.get((m, r, w, c), 0) + 1
print(f"Unique (m, r, w, c) combinations in the easiest tasks:")
for difficulty, count in unique_difficulties.items():
print(f" {difficulty}: {count} tasks")
# Add statistics to output
output_data = easiest_tasks
# Save to output file
with open(output_path, 'w') as f:
json.dump(output_data, f, indent=4)
print(f"Saved {num_tasks_to_select} easiest tasks with statistics to {output_path}")
def sample_tasks_with_distribution(file_path, output_path):
"""
Sample tasks with a specific distribution:
- 3 tasks for each of the 9 possibilities of (m,r) where 0 <= m <= 2 and 0 <= r <= 2
- Random (w,c) between 0 and 1 for the above tasks
- 2 additional tasks from (m,r,w,c) = (0,0,0,0)
- 1 additional task from (m,r,w,c) = (1,0,0,0)
"""
with open(file_path, 'r') as f:
data = json.load(f)
# Filter tasks with at least 3 levels
valid_tasks = {}
for task_name, task_details in data.items():
num_levels = len(task_details.get("blueprint", {}).get("levels", []))
if num_levels >= 3:
valid_tasks[task_name] = task_details
# print(f"Total valid tasks: {len(valid_tasks)}")
# Categorize tasks by their (m,r,w,c) values
tasks_by_params = {}
for task_name, task_details in valid_tasks.items():
m, r, w, c = extract_difficulty(task_name)
key = (m, r, w, c)
if key not in tasks_by_params:
tasks_by_params[key] = []
tasks_by_params[key].append((task_name, task_details))
# # Print available combinations
# print("Available (m,r,w,c) combinations:")
# for params, tasks in tasks_by_params.items():
# print(f" {params}: {len(tasks)} tasks")
# Sample tasks according to the distribution
sampled_tasks = {}
already_sampled = set()
# 1. Sample 3 tasks for each (m,r) where 0 <= m <= 2 and 0 <= r <= 2
for m in range(3):
for r in range(3):
# Find all tasks with the current (m,r) and w,c between 0 and 1
candidates = []
for params, tasks in tasks_by_params.items():
if params[0] == m and params[1] == r and params[2] <= 1 and params[3] <= 1:
candidates.extend(tasks)
# Sample 3 tasks if possible
if len(candidates) >= 3:
sampled = random.sample(candidates, 3)
for task_name, task_details in sampled:
if task_name not in already_sampled:
sampled_tasks[task_name] = task_details
already_sampled.add(task_name)
else:
print(f"Warning: Not enough tasks for (m={m}, r={r}) with w,c <= 1. Found {len(candidates)}.")
# Add all available
for task_name, task_details in candidates:
if task_name not in already_sampled:
sampled_tasks[task_name] = task_details
already_sampled.add(task_name)
# 2. Add 2 tasks with (m,r,w,c) = (0,0,0,0)
zero_zero_zero_zero = tasks_by_params.get((0,0,0,0), [])
zero_zero_zero_zero = [t for t in zero_zero_zero_zero if t[0] not in already_sampled]
if len(zero_zero_zero_zero) >= 2:
additional = random.sample(zero_zero_zero_zero, 2)
for task_name, task_details in additional:
sampled_tasks[task_name] = task_details
already_sampled.add(task_name)
else:
print(f"Warning: Not enough tasks for (0,0,0,0). Found {len(zero_zero_zero_zero)}.")
for task_name, task_details in zero_zero_zero_zero:
sampled_tasks[task_name] = task_details
already_sampled.add(task_name)
# 3. Add 1 task with (m,r,w,c) = (1,0,0,0)
one_zero_zero_zero = tasks_by_params.get((1,0,0,0), [])
one_zero_zero_zero = [t for t in one_zero_zero_zero if t[0] not in already_sampled]
if len(one_zero_zero_zero) >= 1:
additional = random.sample(one_zero_zero_zero, 1)
for task_name, task_details in additional:
sampled_tasks[task_name] = task_details
already_sampled.add(task_name)
else:
print(f"Warning: Not enough tasks for (1,0,0,0). Found {len(one_zero_zero_zero)}.")
for task_name, task_details in one_zero_zero_zero:
sampled_tasks[task_name] = task_details
already_sampled.add(task_name)
# Print summary of sampled tasks
print(f"\nTotal sampled tasks: {len(sampled_tasks)}")
# Count tasks by their (m,r) values
distribution = {}
for task_name in sampled_tasks:
m, r, w, c = extract_difficulty(task_name)
key = (m, r)
if key not in distribution:
distribution[key] = []
distribution[key].append((w, c))
print("\nDistribution of sampled tasks:")
for mr, wc_list in distribution.items():
print(f" (m={mr[0]}, r={mr[1]}): {len(wc_list)} tasks")
for wc in wc_list:
print(f" (w={wc[0]}, c={wc[1]})")
# Check for duplicates in sampled tasks
if len(sampled_tasks) != len(set(sampled_tasks.keys())):
print("\nWARNING: Duplicate tasks detected!")
# Find the duplicates
task_counts = {}
for task_name in sampled_tasks.keys():
task_counts[task_name] = task_counts.get(task_name, 0) + 1
duplicates = [task for task, count in task_counts.items() if count > 1]
print(f"Duplicate tasks: {duplicates}")
else:
print("\nVerification: No duplicates found in the sampled tasks.")
# Save to output file
with open(output_path, 'w') as f:
json.dump(sampled_tasks, f, indent=4)
print(f"\nSaved {len(sampled_tasks)} distributed tasks to {output_path}")
# Example usage:
# process_json('test/2agents.json', 'test/2_agents_easiest_tasks.json', alpha=1.0, beta=3.0)
# Iterate through files in tasks folder
tasks_dir = 'test'
for filename in os.listdir(tasks_dir):
if filename.endswith('agents.json'):
input_path = os.path.join(tasks_dir, filename)
# Create output filename by replacing .json with _distributed_tasks.json
output_filename = filename.replace('.json', '_distributed_tasks.json')
output_path = os.path.join(tasks_dir, output_filename)
print(f"\nProcessing {filename}...")
sample_tasks_with_distribution(input_path, output_path)

View file

@ -0,0 +1,87 @@
import json
import re
import random
import os
from collections import defaultdict
def extract_difficulty(task_name):
"""Extract difficulty parameters from the task name."""
match = re.search(r'materials_(\d+)_rooms_(\d+)_window_(\d+)_carpet_(\d+)_variant_\d+', task_name)
if match:
return tuple(map(int, match.groups())) # (m, r, w, c)
return (0, 0, 0, 0) # Default if not found
def filter_and_sample_tasks(file_path, output_path):
"""Filters, samples, and saves 500 unique tasks based on given criteria."""
with open(file_path, 'r') as f:
data = json.load(f)
total_tasks = len(data)
print(f"\nProcessing file: {file_path}")
print(f"Total available tasks: {total_tasks}")
valid_tasks = {}
# Filter tasks with at least 3 levels
for task_name, task_details in data.items():
num_levels = len(task_details.get("blueprint", {}).get("levels", []))
if num_levels >= 3:
valid_tasks[task_name] = task_details
print(f"Tasks with at least 3 levels: {len(valid_tasks)}")
# Organize tasks by difficulty parameters (m, r, w, c)
tasks_by_params = defaultdict(list)
for task_name, task_details in valid_tasks.items():
key = extract_difficulty(task_name)
tasks_by_params[key].append((task_name, task_details))
# Sort keys in increasing order
sorted_keys = sorted(tasks_by_params.keys())
sampled_tasks = {}
total_selected = 0
sampled_task_counts = defaultdict(int)
# Pick tasks sequentially until 500 are collected
for key in sorted_keys:
if total_selected >= 500:
break
if key in tasks_by_params:
candidates = tasks_by_params[key]
for task_name, task_details in candidates:
if total_selected < 500:
sampled_tasks[task_name] = task_details
sampled_task_counts[key] += 1 # Keep the key as a tuple
total_selected += 1
else:
break
print(f"\nTotal sampled tasks: {len(sampled_tasks)}")
# Print task count per (m, r, w, c) tuple
print("\nTask count per (m, r, w, c):")
for key, count in sorted(sampled_task_counts.items()):
print(f"{key}: {count}")
# Randomly shuffle the tasks before saving
shuffled_tasks = list(sampled_tasks.items())
random.shuffle(shuffled_tasks)
final_tasks = dict(shuffled_tasks)
# Save sampled tasks to JSON
with open(output_path, 'w') as f:
json.dump(final_tasks, f, indent=4)
print(f"\nSaved {len(final_tasks)} tasks to {output_path}")
# Process all relevant files
tasks_dir = 'train'
all_filenames = [f for f in os.listdir(tasks_dir) if f.endswith('agents.json')]
all_filenames.sort()
for i, filename in enumerate(all_filenames):
input_path = os.path.join(tasks_dir, filename)
output_filename = filename.replace('.json', '_sampled_tasks_for_training.json')
output_path = os.path.join(tasks_dir, output_filename)
filter_and_sample_tasks(input_path, output_path)

View file

@ -0,0 +1,178 @@
import fs from 'fs';
import path from 'path';
import {proceduralGeneration} from "../../src/agent/tasks/construction_tasks.js";
//note 'main' (script to run generation of tasks) is at bottom of page
/**
* Helper function to initalize agent inventories
* @param blueprint
* @param agents
* @param evenlySplit - When true, splits materials evenly across inventories
* @returns {{}}
*/
function createInitialInventory(blueprint, agents, evenlySplit = true) {
const inventories = {};
const materialCounts = {};
let currentAgent = 0;
// Initialize inventories
for (let i = 0; i < agents; i++) {
inventories[i] = {'diamond_pickaxe': 1};
}
// Count materials in blueprint and replace ladder variants with "ladder"
for (const level of blueprint.levels) {
for (let rowIndex = 0; rowIndex < level.placement.length; rowIndex++) {
for (let blockIndex = 0; blockIndex < level.placement[rowIndex].length; blockIndex++) {
let block = level.placement[rowIndex][blockIndex];
if (block !== 'air') {
// Check if material contains 'door' or 'ladder' and convert appropriately
let materialKey = block;
if (block.includes('dark_oak_door')) {
materialKey = 'dark_oak_door';
} else if (block.includes('oak_door')) {
materialKey = 'oak_door';
} else if (block.includes('ladder')) {
materialKey = 'ladder';
level.placement[rowIndex][blockIndex] = 'ladder'; // Replace in blueprint
}
materialCounts[materialKey] = (materialCounts[materialKey] || 0) + 1;
}
}
}
}
if (evenlySplit) {
// Distribute materials evenly among agents
for (const [material, count] of Object.entries(materialCounts)) {
const baseAmount = Math.floor(count / agents);
const remainder = count % agents;
// Give each agent the base amount
for (let i = 0; i < agents; i++) {
inventories[i][material] = baseAmount;
}
// Distribute remainder one by one to agents
for (let i = 0; i < remainder; i++) {
inventories[i][material]++;
}
}
} else {
// Original distribution - one material type to one agent
for (const [material, count] of Object.entries(materialCounts)) {
inventories[currentAgent][material] = count;
currentAgent = (currentAgent + 1) % agents;
}
}
for (let i = 0; i < agents; i++) {
inventories[i]['dirt'] = 128;
}
return inventories;
}
/**
* Helper function to allocate space for the blueprint based on the number of rooms
* @param rooms
* @returns {number}
*/
function calculateSpaceNeeded(rooms) {
const baseSize = 10;
const scaleFactor = Math.floor(rooms / 4) * 5;
return baseSize + scaleFactor;
}
/**
* MAIN GENERATION FUNCTION
*
* Varies agents, materials, room count, windows and carpets to create different complexities of construction tasks.
* @param variants is the number of variants within each complexity level you want.
* @returns The tasks as nested JSON {{}}
*/
function generateConstructionTasks(variants, agents) {
const materialLevels = 5;
const roomCounts = [4, 6, 8];
const windowStyles = [0, 1, 2];
const carpetStyles = [0, 1, 2];
const timeout = 600; // 10 min base
const tasks = {};
for (let m = 0; m < materialLevels; m++) {
for (let r = 0; r < roomCounts.length; r++) {
for (let w = 0; w < windowStyles.length; w++) {
for (let c = 0; c < carpetStyles.length; c++) {
for (let variant = 0; variant < variants; variant++) {
const rooms = roomCounts[r];
const spaceSize = calculateSpaceNeeded(rooms);
const blueprint = proceduralGeneration(
spaceSize,
spaceSize,
spaceSize,
rooms,
5,
5,
4,
5,
"air",
carpetStyles[c],
windowStyles[w],
m + 1
);
const taskName = `materials_${m}_rooms_${r}_window_${w}_carpet_${c}_variant_${variant}`;
tasks[taskName] = {
type: "construction",
goal: "Make a house with the blueprint",
conversation: "Let's share materials and make a house with the blueprint",
agent_count: agents,
initial_inventory: createInitialInventory(blueprint, agents),
timeout: timeout + (300 * r), // 5 minute per additional level of complexity
blueprint: blueprint,
};
}
}
}
}
}
return tasks;
}
// const fs = require('fs');
// const path = require('path');
// Function to create directories and generate tasks
function setupTaskFiles(baseDirs, agentCounts, variants) {
baseDirs.forEach(base => {
if (!fs.existsSync(base)) {
fs.mkdirSync(base, { recursive: true });
}
agentCounts.forEach(count => {
const tasks = generateConstructionTasks(variants, count);
const filePath = path.join(base, `${count}agents.json`);
fs.writeFileSync(filePath, JSON.stringify(tasks, null, 2));
console.log(`Generated tasks saved to ${filePath}`);
});
});
}
const baseDirs = ['./train', './test'];
const agentCounts = [2, 3, 4, 5];
const variants = 5;
setupTaskFiles(baseDirs, agentCounts, variants);

View file

@ -0,0 +1,55 @@
import mineflayer from 'mineflayer';
import { worldToBlueprint, blueprintToTask } from '../../src/agent/tasks/construction_tasks.js';
import fs from 'fs';
import { start } from 'repl';
const bot = mineflayer.createBot({
host: 'localhost', // Replace with your server IP or hostname
port: 55916, // Replace with your server port
username: 'andy', // Replace with your bot's username
// password: 'your_bot_password' // Only if the server has online-mode=true
});
bot.on('spawn', async () => {
console.log("Bot spawned. Starting blueprint check...");
// set this to be minX, minY, minZ
const startCoord = {
x: -124,
y: 1,
z: 133,
}
bot.chat(`/tp andy ${startCoord.x} ${startCoord.y} ${startCoord.z}`);
const yOffset = 2;
const xOffset = 30;
const zOffset = 20;
const taskFilePath = '/Users/isadorawhite/izzy_mindcraft/mindcraft/tasks/construction_tasks/custom/flower_three_agents.json';
const task_name = "flower_three_agents";
setTimeout(async () => {
let task_blueprint = await worldToBlueprint(startCoord, yOffset, xOffset, zOffset, bot);
for (let i = 0; i < task_blueprint.levels.length; i++) {
// Perform operations on each level
const level = task_blueprint.levels[i];
console.log("Level coordinates:", level.coordinates);
const new_coordinates = [level.coordinates[0], -60 + i, level.coordinates[2]];
level.coordinates = new_coordinates;
console.log("New coordinates:", level.coordinates);
}
console.log("Blueprint generated:", task_blueprint.levels[0].coordinates);
const task = blueprintToTask(task_blueprint, 3);
const task_collection = {}
task_collection[task_name] = task;
fs.writeFileSync(taskFilePath, JSON.stringify(task_collection, null, 2), (err) => {
if (err) {
console.error('Error writing task to file:', err);
} else {
console.log('Task dumped to file successfully.');
}
});
}, 5000); // Delay of 5 seconds (5000 milliseconds)
});

View file

@ -0,0 +1,270 @@
{
"multiagent_cooking_2_1_bread_1_golden_apple": {
"conversation": "Let's work together to make golden_apple, bread.",
"agent_count": 2,
"target": {
"golden_apple": 1,
"bread": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 golden_apple, 1 bread. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"1": "Collaborate with agents around you to make 1 golden_apple, 1 bread. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread."
}
},
"multiagent_cooking_2_1_golden_apple_1_rabbit_stew": {
"conversation": "Let's work together to make golden_apple, rabbit_stew.",
"agent_count": 2,
"target": {
"golden_apple": 1,
"rabbit_stew": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 golden_apple, 1 rabbit_stew. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"1": "Collaborate with agents around you to make 1 golden_apple, 1 rabbit_stew. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
}
},
"multiagent_cooking_2_1_bread_1_cake": {
"conversation": "Let's work together to make cake, bread.",
"agent_count": 2,
"target": {
"cake": 1,
"bread": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cake, 1 bread. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"1": "Collaborate with agents around you to make 1 cake, 1 bread. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread."
}
},
"multiagent_cooking_2_1_baked_potato_1_golden_apple": {
"conversation": "Let's work together to make baked_potato, golden_apple.",
"agent_count": 2,
"target": {
"baked_potato": 1,
"golden_apple": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 baked_potato, 1 golden_apple. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.",
"1": "Collaborate with agents around you to make 1 baked_potato, 1 golden_apple. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
}
},
"multiagent_cooking_2_1_baked_potato_1_rabbit_stew": {
"conversation": "Let's work together to make baked_potato, rabbit_stew.",
"agent_count": 2,
"target": {
"baked_potato": 1,
"rabbit_stew": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 baked_potato, 1 rabbit_stew. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"1": "Collaborate with agents around you to make 1 baked_potato, 1 rabbit_stew. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
}
},
"multiagent_cooking_2_1_bread_1_rabbit_stew": {
"conversation": "Let's work together to make rabbit_stew, bread.",
"agent_count": 2,
"target": {
"rabbit_stew": 1,
"bread": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 rabbit_stew, 1 bread. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"1": "Collaborate with agents around you to make 1 rabbit_stew, 1 bread. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread."
}
},
"multiagent_cooking_2_1_baked_potato_1_bread": {
"conversation": "Let's work together to make bread, baked_potato.",
"agent_count": 2,
"target": {
"bread": 1,
"baked_potato": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 bread, 1 baked_potato. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"1": "Collaborate with agents around you to make 1 bread, 1 baked_potato. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato."
}
},
"multiagent_cooking_2_1_baked_potato_1_cake": {
"conversation": "Let's work together to make baked_potato, cake.",
"agent_count": 2,
"target": {
"baked_potato": 1,
"cake": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 baked_potato, 1 cake. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"1": "Collaborate with agents around you to make 1 baked_potato, 1 cake. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
}
},
"multiagent_cooking_2_1_cooked_beef_1_golden_apple": {
"conversation": "Let's work together to make golden_apple, cooked_beef.",
"agent_count": 2,
"target": {
"golden_apple": 1,
"cooked_beef": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 golden_apple, 1 cooked_beef. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"1": "Collaborate with agents around you to make 1 golden_apple, 1 cooked_beef. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef."
}
},
"multiagent_cooking_2_1_bread_1_cooked_beef": {
"conversation": "Let's work together to make bread, cooked_beef.",
"agent_count": 2,
"target": {
"bread": 1,
"cooked_beef": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 bread, 1 cooked_beef. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"1": "Collaborate with agents around you to make 1 bread, 1 cooked_beef. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef."
}
}
}

View file

@ -0,0 +1,312 @@
{
"multiagent_cooking_3_1_baked_potato_1_bread_1_cake": {
"conversation": "Let's work together to make bread, baked_potato, cake.",
"agent_count": 3,
"target": {
"bread": 1,
"baked_potato": 1,
"cake": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 bread, 1 baked_potato, 1 cake. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"1": "Collaborate with agents around you to make 1 bread, 1 baked_potato, 1 cake. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"2": "Collaborate with agents around you to make 1 bread, 1 baked_potato, 1 cake. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
}
},
"multiagent_cooking_3_1_cake_1_golden_apple": {
"conversation": "Let's work together to make golden_apple, cake.",
"agent_count": 3,
"target": {
"golden_apple": 1,
"cake": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 golden_apple, 1 cake. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"1": "Collaborate with agents around you to make 1 golden_apple, 1 cake. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"2": "Collaborate with agents around you to make 1 golden_apple, 1 cake. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
}
},
"multiagent_cooking_3_1_baked_potato_1_cooked_beef_1_golden_apple": {
"conversation": "Let's work together to make golden_apple, cooked_beef, baked_potato.",
"agent_count": 3,
"target": {
"golden_apple": 1,
"cooked_beef": 1,
"baked_potato": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 golden_apple, 1 cooked_beef, 1 baked_potato. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"1": "Collaborate with agents around you to make 1 golden_apple, 1 cooked_beef, 1 baked_potato. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"2": "Collaborate with agents around you to make 1 golden_apple, 1 cooked_beef, 1 baked_potato. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato."
}
},
"multiagent_cooking_3_1_bread_1_cooked_beef_1_golden_apple": {
"conversation": "Let's work together to make cooked_beef, bread, golden_apple.",
"agent_count": 3,
"target": {
"cooked_beef": 1,
"bread": 1,
"golden_apple": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cooked_beef, 1 bread, 1 golden_apple. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.",
"1": "Collaborate with agents around you to make 1 cooked_beef, 1 bread, 1 golden_apple. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.",
"2": "Collaborate with agents around you to make 1 cooked_beef, 1 bread, 1 golden_apple. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
}
},
"multiagent_cooking_3_1_baked_potato_1_cake": {
"conversation": "Let's work together to make baked_potato, cake.",
"agent_count": 3,
"target": {
"baked_potato": 1,
"cake": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 baked_potato, 1 cake. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"1": "Collaborate with agents around you to make 1 baked_potato, 1 cake. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"2": "Collaborate with agents around you to make 1 baked_potato, 1 cake. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
}
},
"multiagent_cooking_3_1_bread_1_golden_apple_1_rabbit_stew": {
"conversation": "Let's work together to make rabbit_stew, bread, golden_apple.",
"agent_count": 3,
"target": {
"rabbit_stew": 1,
"bread": 1,
"golden_apple": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 rabbit_stew, 1 bread, 1 golden_apple. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.",
"1": "Collaborate with agents around you to make 1 rabbit_stew, 1 bread, 1 golden_apple. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.",
"2": "Collaborate with agents around you to make 1 rabbit_stew, 1 bread, 1 golden_apple. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
}
},
"multiagent_cooking_3_1_baked_potato_1_bread_1_cooked_beef": {
"conversation": "Let's work together to make bread, baked_potato, cooked_beef.",
"agent_count": 3,
"target": {
"bread": 1,
"baked_potato": 1,
"cooked_beef": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 bread, 1 baked_potato, 1 cooked_beef. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"1": "Collaborate with agents around you to make 1 bread, 1 baked_potato, 1 cooked_beef. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"2": "Collaborate with agents around you to make 1 bread, 1 baked_potato, 1 cooked_beef. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef."
}
},
"multiagent_cooking_3_1_baked_potato_1_rabbit_stew": {
"conversation": "Let's work together to make rabbit_stew, baked_potato.",
"agent_count": 3,
"target": {
"rabbit_stew": 1,
"baked_potato": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 rabbit_stew, 1 baked_potato. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"1": "Collaborate with agents around you to make 1 rabbit_stew, 1 baked_potato. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"2": "Collaborate with agents around you to make 1 rabbit_stew, 1 baked_potato. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato."
}
},
"multiagent_cooking_3_1_cake_1_cooked_beef_1_golden_apple": {
"conversation": "Let's work together to make cooked_beef, cake, golden_apple.",
"agent_count": 3,
"target": {
"cooked_beef": 1,
"cake": 1,
"golden_apple": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cooked_beef, 1 cake, 1 golden_apple. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.",
"1": "Collaborate with agents around you to make 1 cooked_beef, 1 cake, 1 golden_apple. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.",
"2": "Collaborate with agents around you to make 1 cooked_beef, 1 cake, 1 golden_apple. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
}
},
"multiagent_cooking_3_1_bread_1_cooked_beef": {
"conversation": "Let's work together to make cooked_beef, bread.",
"agent_count": 3,
"target": {
"cooked_beef": 1,
"bread": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cooked_beef, 1 bread. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"1": "Collaborate with agents around you to make 1 cooked_beef, 1 bread. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"2": "Collaborate with agents around you to make 1 cooked_beef, 1 bread. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread."
}
}
}

View file

@ -0,0 +1,397 @@
{
"multiagent_cooking_4_1_bread_1_cake_1_cooked_beef": {
"conversation": "Let's work together to make cake, bread, cooked_beef.",
"agent_count": 4,
"target": {
"cake": 1,
"bread": 1,
"cooked_beef": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cake, 1 bread, 1 cooked_beef. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"1": "Collaborate with agents around you to make 1 cake, 1 bread, 1 cooked_beef. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"2": "Collaborate with agents around you to make 1 cake, 1 bread, 1 cooked_beef. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"3": "Collaborate with agents around you to make 1 cake, 1 bread, 1 cooked_beef. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef."
}
},
"multiagent_cooking_4_1_cake_1_cooked_beef_1_golden_apple_1_rabbit_stew": {
"conversation": "Let's work together to make rabbit_stew, cooked_beef, cake, golden_apple.",
"agent_count": 4,
"target": {
"rabbit_stew": 1,
"cooked_beef": 1,
"cake": 1,
"golden_apple": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 rabbit_stew, 1 cooked_beef, 1 cake, 1 golden_apple. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.",
"1": "Collaborate with agents around you to make 1 rabbit_stew, 1 cooked_beef, 1 cake, 1 golden_apple. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.",
"2": "Collaborate with agents around you to make 1 rabbit_stew, 1 cooked_beef, 1 cake, 1 golden_apple. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.",
"3": "Collaborate with agents around you to make 1 rabbit_stew, 1 cooked_beef, 1 cake, 1 golden_apple. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
}
},
"multiagent_cooking_4_1_baked_potato_1_cake_1_cooked_beef_1_rabbit_stew": {
"conversation": "Let's work together to make baked_potato, rabbit_stew, cooked_beef, cake.",
"agent_count": 4,
"target": {
"baked_potato": 1,
"rabbit_stew": 1,
"cooked_beef": 1,
"cake": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 baked_potato, 1 rabbit_stew, 1 cooked_beef, 1 cake. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"1": "Collaborate with agents around you to make 1 baked_potato, 1 rabbit_stew, 1 cooked_beef, 1 cake. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"2": "Collaborate with agents around you to make 1 baked_potato, 1 rabbit_stew, 1 cooked_beef, 1 cake. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"3": "Collaborate with agents around you to make 1 baked_potato, 1 rabbit_stew, 1 cooked_beef, 1 cake. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
}
},
"multiagent_cooking_4_1_baked_potato_1_bread_1_golden_apple_1_rabbit_stew": {
"conversation": "Let's work together to make bread, golden_apple, rabbit_stew, baked_potato.",
"agent_count": 4,
"target": {
"bread": 1,
"golden_apple": 1,
"rabbit_stew": 1,
"baked_potato": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 bread, 1 golden_apple, 1 rabbit_stew, 1 baked_potato. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"1": "Collaborate with agents around you to make 1 bread, 1 golden_apple, 1 rabbit_stew, 1 baked_potato. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"2": "Collaborate with agents around you to make 1 bread, 1 golden_apple, 1 rabbit_stew, 1 baked_potato. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"3": "Collaborate with agents around you to make 1 bread, 1 golden_apple, 1 rabbit_stew, 1 baked_potato. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato."
}
},
"multiagent_cooking_4_1_cake_1_cooked_beef_1_rabbit_stew": {
"conversation": "Let's work together to make rabbit_stew, cooked_beef, cake.",
"agent_count": 4,
"target": {
"rabbit_stew": 1,
"cooked_beef": 1,
"cake": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 rabbit_stew, 1 cooked_beef, 1 cake. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"1": "Collaborate with agents around you to make 1 rabbit_stew, 1 cooked_beef, 1 cake. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"2": "Collaborate with agents around you to make 1 rabbit_stew, 1 cooked_beef, 1 cake. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"3": "Collaborate with agents around you to make 1 rabbit_stew, 1 cooked_beef, 1 cake. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
}
},
"multiagent_cooking_4_1_baked_potato_1_bread_1_cooked_beef_1_rabbit_stew": {
"conversation": "Let's work together to make rabbit_stew, bread, baked_potato, cooked_beef.",
"agent_count": 4,
"target": {
"rabbit_stew": 1,
"bread": 1,
"baked_potato": 1,
"cooked_beef": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 rabbit_stew, 1 bread, 1 baked_potato, 1 cooked_beef. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"1": "Collaborate with agents around you to make 1 rabbit_stew, 1 bread, 1 baked_potato, 1 cooked_beef. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"2": "Collaborate with agents around you to make 1 rabbit_stew, 1 bread, 1 baked_potato, 1 cooked_beef. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"3": "Collaborate with agents around you to make 1 rabbit_stew, 1 bread, 1 baked_potato, 1 cooked_beef. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef."
}
},
"multiagent_cooking_4_1_baked_potato_1_cooked_beef_1_rabbit_stew": {
"conversation": "Let's work together to make rabbit_stew, cooked_beef, baked_potato.",
"agent_count": 4,
"target": {
"rabbit_stew": 1,
"cooked_beef": 1,
"baked_potato": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 rabbit_stew, 1 cooked_beef, 1 baked_potato. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"1": "Collaborate with agents around you to make 1 rabbit_stew, 1 cooked_beef, 1 baked_potato. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"2": "Collaborate with agents around you to make 1 rabbit_stew, 1 cooked_beef, 1 baked_potato. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"3": "Collaborate with agents around you to make 1 rabbit_stew, 1 cooked_beef, 1 baked_potato. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato."
}
},
"multiagent_cooking_4_1_bread_1_cake_1_cooked_beef_1_rabbit_stew": {
"conversation": "Let's work together to make rabbit_stew, cooked_beef, cake, bread.",
"agent_count": 4,
"target": {
"rabbit_stew": 1,
"cooked_beef": 1,
"cake": 1,
"bread": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 rabbit_stew, 1 cooked_beef, 1 cake, 1 bread. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"1": "Collaborate with agents around you to make 1 rabbit_stew, 1 cooked_beef, 1 cake, 1 bread. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"2": "Collaborate with agents around you to make 1 rabbit_stew, 1 cooked_beef, 1 cake, 1 bread. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"3": "Collaborate with agents around you to make 1 rabbit_stew, 1 cooked_beef, 1 cake, 1 bread. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread."
}
},
"multiagent_cooking_4_1_bread_1_golden_apple_1_rabbit_stew": {
"conversation": "Let's work together to make golden_apple, rabbit_stew, bread.",
"agent_count": 4,
"target": {
"golden_apple": 1,
"rabbit_stew": 1,
"bread": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 golden_apple, 1 rabbit_stew, 1 bread. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"1": "Collaborate with agents around you to make 1 golden_apple, 1 rabbit_stew, 1 bread. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"2": "Collaborate with agents around you to make 1 golden_apple, 1 rabbit_stew, 1 bread. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"3": "Collaborate with agents around you to make 1 golden_apple, 1 rabbit_stew, 1 bread. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread."
}
},
"multiagent_cooking_4_1_baked_potato_1_cake_1_cooked_beef": {
"conversation": "Let's work together to make baked_potato, cooked_beef, cake.",
"agent_count": 4,
"target": {
"baked_potato": 1,
"cooked_beef": 1,
"cake": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 baked_potato, 1 cooked_beef, 1 cake. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"1": "Collaborate with agents around you to make 1 baked_potato, 1 cooked_beef, 1 cake. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"2": "Collaborate with agents around you to make 1 baked_potato, 1 cooked_beef, 1 cake. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"3": "Collaborate with agents around you to make 1 baked_potato, 1 cooked_beef, 1 cake. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
}
}
}

View file

@ -0,0 +1,393 @@
{
"multiagent_cooking_4_1_bread_1_cake_1_cooked_mutton": {
"conversation": "Let's work together to make cake, cooked_mutton, bread.",
"agent_count": 4,
"target": {
"cake": 1,
"cooked_mutton": 1,
"bread": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"cooked_mutton": [
"Step 1: Kill a sheep and pick up 1 mutton that is dropped.",
"Step 2: Go to furnace and use it to cook the mutton."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cake, 1 cooked_mutton, 1 bread. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"1": "Collaborate with agents around you to make 1 cake, 1 cooked_mutton, 1 bread. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"2": "Collaborate with agents around you to make 1 cake, 1 cooked_mutton, 1 bread. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"3": "Collaborate with agents around you to make 1 cake, 1 cooked_mutton, 1 bread. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread."
}
},
"multiagent_cooking_4_1_baked_potato_1_cake_1_cookie_1_rabbit_stew": {
"conversation": "Let's work together to make cake, cookie, baked_potato, rabbit_stew.",
"agent_count": 4,
"target": {
"cake": 1,
"cookie": 1,
"baked_potato": 1,
"rabbit_stew": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"cookie": [
"Step 1: Go to the farm and collect 2 wheat.",
"Step 2: Go to the chest and grab 1 cocoa bean.",
"Step 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cake, 1 cookie, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for cookie:\nStep 1: Go to the farm and collect 2 wheat.\nStep 2: Go to the chest and grab 1 cocoa bean.\nStep 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"1": "Collaborate with agents around you to make 1 cake, 1 cookie, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for cookie:\nStep 1: Go to the farm and collect 2 wheat.\nStep 2: Go to the chest and grab 1 cocoa bean.\nStep 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"2": "Collaborate with agents around you to make 1 cake, 1 cookie, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for cookie:\nStep 1: Go to the farm and collect 2 wheat.\nStep 2: Go to the chest and grab 1 cocoa bean.\nStep 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"3": "Collaborate with agents around you to make 1 cake, 1 cookie, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for cookie:\nStep 1: Go to the farm and collect 2 wheat.\nStep 2: Go to the chest and grab 1 cocoa bean.\nStep 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
}
},
"multiagent_cooking_4_1_cooked_mutton_1_cookie_1_rabbit_stew": {
"conversation": "Let's work together to make cookie, rabbit_stew, cooked_mutton.",
"agent_count": 4,
"target": {
"cookie": 1,
"rabbit_stew": 1,
"cooked_mutton": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"cookie": [
"Step 1: Go to the farm and collect 2 wheat.",
"Step 2: Go to the chest and grab 1 cocoa bean.",
"Step 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"cooked_mutton": [
"Step 1: Kill a sheep and pick up 1 mutton that is dropped.",
"Step 2: Go to furnace and use it to cook the mutton."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cookie, 1 rabbit_stew, 1 cooked_mutton. \n\nRecipe for cookie:\nStep 1: Go to the farm and collect 2 wheat.\nStep 2: Go to the chest and grab 1 cocoa bean.\nStep 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton.",
"1": "Collaborate with agents around you to make 1 cookie, 1 rabbit_stew, 1 cooked_mutton. \n\nRecipe for cookie:\nStep 1: Go to the farm and collect 2 wheat.\nStep 2: Go to the chest and grab 1 cocoa bean.\nStep 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton.",
"2": "Collaborate with agents around you to make 1 cookie, 1 rabbit_stew, 1 cooked_mutton. \n\nRecipe for cookie:\nStep 1: Go to the farm and collect 2 wheat.\nStep 2: Go to the chest and grab 1 cocoa bean.\nStep 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton.",
"3": "Collaborate with agents around you to make 1 cookie, 1 rabbit_stew, 1 cooked_mutton. \n\nRecipe for cookie:\nStep 1: Go to the farm and collect 2 wheat.\nStep 2: Go to the chest and grab 1 cocoa bean.\nStep 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton."
}
},
"multiagent_cooking_4_1_cooked_chicken_1_golden_carrot_1_rabbit_stew": {
"conversation": "Let's work together to make rabbit_stew, golden_carrot, cooked_chicken.",
"agent_count": 4,
"target": {
"rabbit_stew": 1,
"golden_carrot": 1,
"cooked_chicken": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"golden_carrot": [
"Step 1: Go to the farm and collect 1 carrot.",
"Step 2: Go to the chest and collect gold ingots and convert them to gold nuggets.",
"Step 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot."
],
"cooked_chicken": [
"Step 1: Kill a chicken and pick up 1 raw chicken that is dropped.",
"Step 2: Go to furnace and use it to cook the raw chicken."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 rabbit_stew, 1 golden_carrot, 1 cooked_chicken. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_carrot:\nStep 1: Go to the farm and collect 1 carrot.\nStep 2: Go to the chest and collect gold ingots and convert them to gold nuggets.\nStep 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot.\n\nRecipe for cooked_chicken:\nStep 1: Kill a chicken and pick up 1 raw chicken that is dropped.\nStep 2: Go to furnace and use it to cook the raw chicken.",
"1": "Collaborate with agents around you to make 1 rabbit_stew, 1 golden_carrot, 1 cooked_chicken. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_carrot:\nStep 1: Go to the farm and collect 1 carrot.\nStep 2: Go to the chest and collect gold ingots and convert them to gold nuggets.\nStep 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot.\n\nRecipe for cooked_chicken:\nStep 1: Kill a chicken and pick up 1 raw chicken that is dropped.\nStep 2: Go to furnace and use it to cook the raw chicken.",
"2": "Collaborate with agents around you to make 1 rabbit_stew, 1 golden_carrot, 1 cooked_chicken. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_carrot:\nStep 1: Go to the farm and collect 1 carrot.\nStep 2: Go to the chest and collect gold ingots and convert them to gold nuggets.\nStep 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot.\n\nRecipe for cooked_chicken:\nStep 1: Kill a chicken and pick up 1 raw chicken that is dropped.\nStep 2: Go to furnace and use it to cook the raw chicken.",
"3": "Collaborate with agents around you to make 1 rabbit_stew, 1 golden_carrot, 1 cooked_chicken. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_carrot:\nStep 1: Go to the farm and collect 1 carrot.\nStep 2: Go to the chest and collect gold ingots and convert them to gold nuggets.\nStep 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot.\n\nRecipe for cooked_chicken:\nStep 1: Kill a chicken and pick up 1 raw chicken that is dropped.\nStep 2: Go to furnace and use it to cook the raw chicken."
}
},
"multiagent_cooking_4_1_cake_1_cooked_mutton_1_golden_apple": {
"conversation": "Let's work together to make cake, golden_apple, cooked_mutton.",
"agent_count": 4,
"target": {
"cake": 1,
"golden_apple": 1,
"cooked_mutton": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"cooked_mutton": [
"Step 1: Kill a sheep and pick up 1 mutton that is dropped.",
"Step 2: Go to furnace and use it to cook the mutton."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cake, 1 golden_apple, 1 cooked_mutton. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton.",
"1": "Collaborate with agents around you to make 1 cake, 1 golden_apple, 1 cooked_mutton. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton.",
"2": "Collaborate with agents around you to make 1 cake, 1 golden_apple, 1 cooked_mutton. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton.",
"3": "Collaborate with agents around you to make 1 cake, 1 golden_apple, 1 cooked_mutton. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton."
}
},
"multiagent_cooking_4_1_cake_1_cooked_porkchop_1_golden_apple_1_golden_carrot": {
"conversation": "Let's work together to make cake, golden_apple, golden_carrot, cooked_porkchop.",
"agent_count": 4,
"target": {
"cake": 1,
"golden_apple": 1,
"golden_carrot": 1,
"cooked_porkchop": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"golden_carrot": [
"Step 1: Go to the farm and collect 1 carrot.",
"Step 2: Go to the chest and collect gold ingots and convert them to gold nuggets.",
"Step 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot."
],
"cooked_porkchop": [
"Step 1: Kill a pig and pick up 1 porkchop that is dropped.",
"Step 2: Go to furnace and use it to cook the porkchop."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cake, 1 golden_apple, 1 golden_carrot, 1 cooked_porkchop. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for golden_carrot:\nStep 1: Go to the farm and collect 1 carrot.\nStep 2: Go to the chest and collect gold ingots and convert them to gold nuggets.\nStep 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot.\n\nRecipe for cooked_porkchop:\nStep 1: Kill a pig and pick up 1 porkchop that is dropped.\nStep 2: Go to furnace and use it to cook the porkchop.",
"1": "Collaborate with agents around you to make 1 cake, 1 golden_apple, 1 golden_carrot, 1 cooked_porkchop. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for golden_carrot:\nStep 1: Go to the farm and collect 1 carrot.\nStep 2: Go to the chest and collect gold ingots and convert them to gold nuggets.\nStep 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot.\n\nRecipe for cooked_porkchop:\nStep 1: Kill a pig and pick up 1 porkchop that is dropped.\nStep 2: Go to furnace and use it to cook the porkchop.",
"2": "Collaborate with agents around you to make 1 cake, 1 golden_apple, 1 golden_carrot, 1 cooked_porkchop. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for golden_carrot:\nStep 1: Go to the farm and collect 1 carrot.\nStep 2: Go to the chest and collect gold ingots and convert them to gold nuggets.\nStep 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot.\n\nRecipe for cooked_porkchop:\nStep 1: Kill a pig and pick up 1 porkchop that is dropped.\nStep 2: Go to furnace and use it to cook the porkchop.",
"3": "Collaborate with agents around you to make 1 cake, 1 golden_apple, 1 golden_carrot, 1 cooked_porkchop. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for golden_carrot:\nStep 1: Go to the farm and collect 1 carrot.\nStep 2: Go to the chest and collect gold ingots and convert them to gold nuggets.\nStep 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot.\n\nRecipe for cooked_porkchop:\nStep 1: Kill a pig and pick up 1 porkchop that is dropped.\nStep 2: Go to furnace and use it to cook the porkchop."
}
},
"multiagent_cooking_4_1_beetroot_soup_1_cooked_beef_1_cookie_1_rabbit_stew": {
"conversation": "Let's work together to make beetroot_soup, rabbit_stew, cooked_beef, cookie.",
"agent_count": 4,
"target": {
"beetroot_soup": 1,
"rabbit_stew": 1,
"cooked_beef": 1,
"cookie": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"beetroot_soup": [
"Step 1: Go to the farm and collect 6 beetroot.",
"Step 2: Go to the chest and grab a bowl.",
"Step 3: Go to the crafting table and combine the 6 beetroot and 1 bowl to make beetroot soup."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"cookie": [
"Step 1: Go to the farm and collect 2 wheat.",
"Step 2: Go to the chest and grab 1 cocoa bean.",
"Step 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 beetroot_soup, 1 rabbit_stew, 1 cooked_beef, 1 cookie. \n\nRecipe for beetroot_soup:\nStep 1: Go to the farm and collect 6 beetroot.\nStep 2: Go to the chest and grab a bowl.\nStep 3: Go to the crafting table and combine the 6 beetroot and 1 bowl to make beetroot soup.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cookie:\nStep 1: Go to the farm and collect 2 wheat.\nStep 2: Go to the chest and grab 1 cocoa bean.\nStep 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie.",
"1": "Collaborate with agents around you to make 1 beetroot_soup, 1 rabbit_stew, 1 cooked_beef, 1 cookie. \n\nRecipe for beetroot_soup:\nStep 1: Go to the farm and collect 6 beetroot.\nStep 2: Go to the chest and grab a bowl.\nStep 3: Go to the crafting table and combine the 6 beetroot and 1 bowl to make beetroot soup.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cookie:\nStep 1: Go to the farm and collect 2 wheat.\nStep 2: Go to the chest and grab 1 cocoa bean.\nStep 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie.",
"2": "Collaborate with agents around you to make 1 beetroot_soup, 1 rabbit_stew, 1 cooked_beef, 1 cookie. \n\nRecipe for beetroot_soup:\nStep 1: Go to the farm and collect 6 beetroot.\nStep 2: Go to the chest and grab a bowl.\nStep 3: Go to the crafting table and combine the 6 beetroot and 1 bowl to make beetroot soup.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cookie:\nStep 1: Go to the farm and collect 2 wheat.\nStep 2: Go to the chest and grab 1 cocoa bean.\nStep 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie.",
"3": "Collaborate with agents around you to make 1 beetroot_soup, 1 rabbit_stew, 1 cooked_beef, 1 cookie. \n\nRecipe for beetroot_soup:\nStep 1: Go to the farm and collect 6 beetroot.\nStep 2: Go to the chest and grab a bowl.\nStep 3: Go to the crafting table and combine the 6 beetroot and 1 bowl to make beetroot soup.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for cookie:\nStep 1: Go to the farm and collect 2 wheat.\nStep 2: Go to the chest and grab 1 cocoa bean.\nStep 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie."
}
},
"multiagent_cooking_4_1_cooked_mutton_1_golden_apple_1_rabbit_stew": {
"conversation": "Let's work together to make golden_apple, rabbit_stew, cooked_mutton.",
"agent_count": 4,
"target": {
"golden_apple": 1,
"rabbit_stew": 1,
"cooked_mutton": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"cooked_mutton": [
"Step 1: Kill a sheep and pick up 1 mutton that is dropped.",
"Step 2: Go to furnace and use it to cook the mutton."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 golden_apple, 1 rabbit_stew, 1 cooked_mutton. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton.",
"1": "Collaborate with agents around you to make 1 golden_apple, 1 rabbit_stew, 1 cooked_mutton. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton.",
"2": "Collaborate with agents around you to make 1 golden_apple, 1 rabbit_stew, 1 cooked_mutton. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton.",
"3": "Collaborate with agents around you to make 1 golden_apple, 1 rabbit_stew, 1 cooked_mutton. \n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton."
}
},
"multiagent_cooking_4_1_cake_1_cooked_beef_1_mushroom_stew_1_suspicious_stew": {
"conversation": "Let's work together to make cake, mushroom_stew, suspicious_stew, cooked_beef.",
"agent_count": 4,
"target": {
"cake": 1,
"mushroom_stew": 1,
"suspicious_stew": 1,
"cooked_beef": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"mushroom_stew": [
"Step 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.",
"Step 2: Go to the chest and grab a bowl.",
"Step 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew."
],
"suspicious_stew": [
"Step 1: Go to the farm and collect 1 red mushroom, 1 brown mushroom.",
"Step 2: Go to the chest and grab a bowl and 1 dandelion",
"Step 4: Go to the crafting table and combine the mushrooms, dandelion, and bowl to make suspicious stew."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cake, 1 mushroom_stew, 1 suspicious_stew, 1 cooked_beef. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for mushroom_stew:\nStep 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.\nStep 2: Go to the chest and grab a bowl.\nStep 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew.\n\nRecipe for suspicious_stew:\nStep 1: Go to the farm and collect 1 red mushroom, 1 brown mushroom.\nStep 2: Go to the chest and grab a bowl and 1 dandelion\nStep 4: Go to the crafting table and combine the mushrooms, dandelion, and bowl to make suspicious stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"1": "Collaborate with agents around you to make 1 cake, 1 mushroom_stew, 1 suspicious_stew, 1 cooked_beef. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for mushroom_stew:\nStep 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.\nStep 2: Go to the chest and grab a bowl.\nStep 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew.\n\nRecipe for suspicious_stew:\nStep 1: Go to the farm and collect 1 red mushroom, 1 brown mushroom.\nStep 2: Go to the chest and grab a bowl and 1 dandelion\nStep 4: Go to the crafting table and combine the mushrooms, dandelion, and bowl to make suspicious stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"2": "Collaborate with agents around you to make 1 cake, 1 mushroom_stew, 1 suspicious_stew, 1 cooked_beef. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for mushroom_stew:\nStep 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.\nStep 2: Go to the chest and grab a bowl.\nStep 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew.\n\nRecipe for suspicious_stew:\nStep 1: Go to the farm and collect 1 red mushroom, 1 brown mushroom.\nStep 2: Go to the chest and grab a bowl and 1 dandelion\nStep 4: Go to the crafting table and combine the mushrooms, dandelion, and bowl to make suspicious stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"3": "Collaborate with agents around you to make 1 cake, 1 mushroom_stew, 1 suspicious_stew, 1 cooked_beef. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for mushroom_stew:\nStep 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.\nStep 2: Go to the chest and grab a bowl.\nStep 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew.\n\nRecipe for suspicious_stew:\nStep 1: Go to the farm and collect 1 red mushroom, 1 brown mushroom.\nStep 2: Go to the chest and grab a bowl and 1 dandelion\nStep 4: Go to the crafting table and combine the mushrooms, dandelion, and bowl to make suspicious stew.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef."
}
},
"multiagent_cooking_4_1_cooked_rabbit_1_cookie_1_golden_carrot_1_mushroom_stew": {
"conversation": "Let's work together to make mushroom_stew, cooked_rabbit, golden_carrot, cookie.",
"agent_count": 4,
"target": {
"mushroom_stew": 1,
"cooked_rabbit": 1,
"golden_carrot": 1,
"cookie": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"mushroom_stew": [
"Step 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.",
"Step 2: Go to the chest and grab a bowl.",
"Step 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew."
],
"cooked_rabbit": [
"Step 1: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 2: Go to furnace and use it to cook the raw rabbit."
],
"golden_carrot": [
"Step 1: Go to the farm and collect 1 carrot.",
"Step 2: Go to the chest and collect gold ingots and convert them to gold nuggets.",
"Step 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot."
],
"cookie": [
"Step 1: Go to the farm and collect 2 wheat.",
"Step 2: Go to the chest and grab 1 cocoa bean.",
"Step 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 mushroom_stew, 1 cooked_rabbit, 1 golden_carrot, 1 cookie. \n\nRecipe for mushroom_stew:\nStep 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.\nStep 2: Go to the chest and grab a bowl.\nStep 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew.\n\nRecipe for cooked_rabbit:\nStep 1: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 2: Go to furnace and use it to cook the raw rabbit.\n\nRecipe for golden_carrot:\nStep 1: Go to the farm and collect 1 carrot.\nStep 2: Go to the chest and collect gold ingots and convert them to gold nuggets.\nStep 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot.\n\nRecipe for cookie:\nStep 1: Go to the farm and collect 2 wheat.\nStep 2: Go to the chest and grab 1 cocoa bean.\nStep 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie.",
"1": "Collaborate with agents around you to make 1 mushroom_stew, 1 cooked_rabbit, 1 golden_carrot, 1 cookie. \n\nRecipe for mushroom_stew:\nStep 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.\nStep 2: Go to the chest and grab a bowl.\nStep 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew.\n\nRecipe for cooked_rabbit:\nStep 1: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 2: Go to furnace and use it to cook the raw rabbit.\n\nRecipe for golden_carrot:\nStep 1: Go to the farm and collect 1 carrot.\nStep 2: Go to the chest and collect gold ingots and convert them to gold nuggets.\nStep 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot.\n\nRecipe for cookie:\nStep 1: Go to the farm and collect 2 wheat.\nStep 2: Go to the chest and grab 1 cocoa bean.\nStep 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie.",
"2": "Collaborate with agents around you to make 1 mushroom_stew, 1 cooked_rabbit, 1 golden_carrot, 1 cookie. \n\nRecipe for mushroom_stew:\nStep 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.\nStep 2: Go to the chest and grab a bowl.\nStep 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew.\n\nRecipe for cooked_rabbit:\nStep 1: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 2: Go to furnace and use it to cook the raw rabbit.\n\nRecipe for golden_carrot:\nStep 1: Go to the farm and collect 1 carrot.\nStep 2: Go to the chest and collect gold ingots and convert them to gold nuggets.\nStep 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot.\n\nRecipe for cookie:\nStep 1: Go to the farm and collect 2 wheat.\nStep 2: Go to the chest and grab 1 cocoa bean.\nStep 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie.",
"3": "Collaborate with agents around you to make 1 mushroom_stew, 1 cooked_rabbit, 1 golden_carrot, 1 cookie. \n\nRecipe for mushroom_stew:\nStep 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.\nStep 2: Go to the chest and grab a bowl.\nStep 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew.\n\nRecipe for cooked_rabbit:\nStep 1: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 2: Go to furnace and use it to cook the raw rabbit.\n\nRecipe for golden_carrot:\nStep 1: Go to the farm and collect 1 carrot.\nStep 2: Go to the chest and collect gold ingots and convert them to gold nuggets.\nStep 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot.\n\nRecipe for cookie:\nStep 1: Go to the farm and collect 2 wheat.\nStep 2: Go to the chest and grab 1 cocoa bean.\nStep 3: Go to the crafting table and combine the wheat and cocoa bean to craft a cookie."
}
}
}

View file

@ -0,0 +1,455 @@
{
"multiagent_cooking_5_1_baked_potato_1_cake_1_cooked_beef_1_rabbit_stew": {
"conversation": "Let's work together to make cooked_beef, baked_potato, cake, rabbit_stew.",
"agent_count": 5,
"target": {
"cooked_beef": 1,
"baked_potato": 1,
"cake": 1,
"rabbit_stew": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cooked_beef, 1 baked_potato, 1 cake, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"1": "Collaborate with agents around you to make 1 cooked_beef, 1 baked_potato, 1 cake, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"2": "Collaborate with agents around you to make 1 cooked_beef, 1 baked_potato, 1 cake, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"3": "Collaborate with agents around you to make 1 cooked_beef, 1 baked_potato, 1 cake, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"4": "Collaborate with agents around you to make 1 cooked_beef, 1 baked_potato, 1 cake, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
}
},
"multiagent_cooking_5_1_baked_potato_1_bread_1_cake_1_golden_apple_1_rabbit_stew": {
"conversation": "Let's work together to make bread, cake, golden_apple, baked_potato, rabbit_stew.",
"agent_count": 5,
"target": {
"bread": 1,
"cake": 1,
"golden_apple": 1,
"baked_potato": 1,
"rabbit_stew": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 bread, 1 cake, 1 golden_apple, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"1": "Collaborate with agents around you to make 1 bread, 1 cake, 1 golden_apple, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"2": "Collaborate with agents around you to make 1 bread, 1 cake, 1 golden_apple, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"3": "Collaborate with agents around you to make 1 bread, 1 cake, 1 golden_apple, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"4": "Collaborate with agents around you to make 1 bread, 1 cake, 1 golden_apple, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
}
},
"multiagent_cooking_5_1_baked_potato_1_bread_1_cooked_beef_1_golden_apple": {
"conversation": "Let's work together to make baked_potato, bread, cooked_beef, golden_apple.",
"agent_count": 5,
"target": {
"baked_potato": 1,
"bread": 1,
"cooked_beef": 1,
"golden_apple": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 baked_potato, 1 bread, 1 cooked_beef, 1 golden_apple. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.",
"1": "Collaborate with agents around you to make 1 baked_potato, 1 bread, 1 cooked_beef, 1 golden_apple. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.",
"2": "Collaborate with agents around you to make 1 baked_potato, 1 bread, 1 cooked_beef, 1 golden_apple. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.",
"3": "Collaborate with agents around you to make 1 baked_potato, 1 bread, 1 cooked_beef, 1 golden_apple. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.",
"4": "Collaborate with agents around you to make 1 baked_potato, 1 bread, 1 cooked_beef, 1 golden_apple. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
}
},
"multiagent_cooking_5_1_baked_potato_1_bread_1_cake_1_cooked_beef_1_golden_apple": {
"conversation": "Let's work together to make cake, bread, golden_apple, baked_potato, cooked_beef.",
"agent_count": 5,
"target": {
"cake": 1,
"bread": 1,
"golden_apple": 1,
"baked_potato": 1,
"cooked_beef": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cake, 1 bread, 1 golden_apple, 1 baked_potato, 1 cooked_beef. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"1": "Collaborate with agents around you to make 1 cake, 1 bread, 1 golden_apple, 1 baked_potato, 1 cooked_beef. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"2": "Collaborate with agents around you to make 1 cake, 1 bread, 1 golden_apple, 1 baked_potato, 1 cooked_beef. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"3": "Collaborate with agents around you to make 1 cake, 1 bread, 1 golden_apple, 1 baked_potato, 1 cooked_beef. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"4": "Collaborate with agents around you to make 1 cake, 1 bread, 1 golden_apple, 1 baked_potato, 1 cooked_beef. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef."
}
},
"multiagent_cooking_5_1_baked_potato_1_cake_1_golden_apple_1_rabbit_stew": {
"conversation": "Let's work together to make rabbit_stew, golden_apple, cake, baked_potato.",
"agent_count": 5,
"target": {
"rabbit_stew": 1,
"golden_apple": 1,
"cake": 1,
"baked_potato": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 rabbit_stew, 1 golden_apple, 1 cake, 1 baked_potato. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"1": "Collaborate with agents around you to make 1 rabbit_stew, 1 golden_apple, 1 cake, 1 baked_potato. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"2": "Collaborate with agents around you to make 1 rabbit_stew, 1 golden_apple, 1 cake, 1 baked_potato. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"3": "Collaborate with agents around you to make 1 rabbit_stew, 1 golden_apple, 1 cake, 1 baked_potato. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"4": "Collaborate with agents around you to make 1 rabbit_stew, 1 golden_apple, 1 cake, 1 baked_potato. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato."
}
},
"multiagent_cooking_5_1_bread_1_cooked_beef_1_golden_apple_1_rabbit_stew": {
"conversation": "Let's work together to make bread, rabbit_stew, golden_apple, cooked_beef.",
"agent_count": 5,
"target": {
"bread": 1,
"rabbit_stew": 1,
"golden_apple": 1,
"cooked_beef": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 bread, 1 rabbit_stew, 1 golden_apple, 1 cooked_beef. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"1": "Collaborate with agents around you to make 1 bread, 1 rabbit_stew, 1 golden_apple, 1 cooked_beef. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"2": "Collaborate with agents around you to make 1 bread, 1 rabbit_stew, 1 golden_apple, 1 cooked_beef. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"3": "Collaborate with agents around you to make 1 bread, 1 rabbit_stew, 1 golden_apple, 1 cooked_beef. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"4": "Collaborate with agents around you to make 1 bread, 1 rabbit_stew, 1 golden_apple, 1 cooked_beef. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef."
}
},
"multiagent_cooking_5_1_bread_1_cake_1_golden_apple_1_rabbit_stew": {
"conversation": "Let's work together to make cake, rabbit_stew, golden_apple, bread.",
"agent_count": 5,
"target": {
"cake": 1,
"rabbit_stew": 1,
"golden_apple": 1,
"bread": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cake, 1 rabbit_stew, 1 golden_apple, 1 bread. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"1": "Collaborate with agents around you to make 1 cake, 1 rabbit_stew, 1 golden_apple, 1 bread. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"2": "Collaborate with agents around you to make 1 cake, 1 rabbit_stew, 1 golden_apple, 1 bread. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"3": "Collaborate with agents around you to make 1 cake, 1 rabbit_stew, 1 golden_apple, 1 bread. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"4": "Collaborate with agents around you to make 1 cake, 1 rabbit_stew, 1 golden_apple, 1 bread. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread."
}
},
"multiagent_cooking_5_1_baked_potato_1_cake_1_cooked_beef_1_golden_apple_1_rabbit_stew": {
"conversation": "Let's work together to make cooked_beef, golden_apple, cake, baked_potato, rabbit_stew.",
"agent_count": 5,
"target": {
"cooked_beef": 1,
"golden_apple": 1,
"cake": 1,
"baked_potato": 1,
"rabbit_stew": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 cake, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"1": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 cake, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"2": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 cake, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"3": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 cake, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"4": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 cake, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
}
},
"multiagent_cooking_5_1_bread_1_cake_1_cooked_beef_1_golden_apple_1_rabbit_stew": {
"conversation": "Let's work together to make cooked_beef, golden_apple, rabbit_stew, bread, cake.",
"agent_count": 5,
"target": {
"cooked_beef": 1,
"golden_apple": 1,
"rabbit_stew": 1,
"bread": 1,
"cake": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 rabbit_stew, 1 bread, 1 cake. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"1": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 rabbit_stew, 1 bread, 1 cake. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"2": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 rabbit_stew, 1 bread, 1 cake. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"3": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 rabbit_stew, 1 bread, 1 cake. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"4": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 rabbit_stew, 1 bread, 1 cake. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
}
},
"multiagent_cooking_5_1_baked_potato_1_bread_1_cooked_beef_1_rabbit_stew": {
"conversation": "Let's work together to make bread, cooked_beef, rabbit_stew, baked_potato.",
"agent_count": 5,
"target": {
"bread": 1,
"cooked_beef": 1,
"rabbit_stew": 1,
"baked_potato": 1
},
"type": "cooking",
"timeout": 500,
"recipes": {
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 bread, 1 cooked_beef, 1 rabbit_stew, 1 baked_potato. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"1": "Collaborate with agents around you to make 1 bread, 1 cooked_beef, 1 rabbit_stew, 1 baked_potato. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"2": "Collaborate with agents around you to make 1 bread, 1 cooked_beef, 1 rabbit_stew, 1 baked_potato. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"3": "Collaborate with agents around you to make 1 bread, 1 cooked_beef, 1 rabbit_stew, 1 baked_potato. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"4": "Collaborate with agents around you to make 1 bread, 1 cooked_beef, 1 rabbit_stew, 1 baked_potato. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato."
}
}
}

View file

@ -0,0 +1,455 @@
{
"multiagent_cooking_5_1_baked_potato_1_cake_1_cooked_beef_1_rabbit_stew": {
"conversation": "Let's work together to make cooked_beef, baked_potato, cake, rabbit_stew.",
"agent_count": 5,
"target": {
"cooked_beef": 1,
"baked_potato": 1,
"cake": 1,
"rabbit_stew": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cooked_beef, 1 baked_potato, 1 cake, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"1": "Collaborate with agents around you to make 1 cooked_beef, 1 baked_potato, 1 cake, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"2": "Collaborate with agents around you to make 1 cooked_beef, 1 baked_potato, 1 cake, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"3": "Collaborate with agents around you to make 1 cooked_beef, 1 baked_potato, 1 cake, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"4": "Collaborate with agents around you to make 1 cooked_beef, 1 baked_potato, 1 cake, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
}
},
"multiagent_cooking_5_1_baked_potato_1_bread_1_cake_1_golden_apple_1_rabbit_stew": {
"conversation": "Let's work together to make bread, cake, golden_apple, baked_potato, rabbit_stew.",
"agent_count": 5,
"target": {
"bread": 1,
"cake": 1,
"golden_apple": 1,
"baked_potato": 1,
"rabbit_stew": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 bread, 1 cake, 1 golden_apple, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"1": "Collaborate with agents around you to make 1 bread, 1 cake, 1 golden_apple, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"2": "Collaborate with agents around you to make 1 bread, 1 cake, 1 golden_apple, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"3": "Collaborate with agents around you to make 1 bread, 1 cake, 1 golden_apple, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"4": "Collaborate with agents around you to make 1 bread, 1 cake, 1 golden_apple, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
}
},
"multiagent_cooking_5_1_baked_potato_1_bread_1_cooked_beef_1_golden_apple": {
"conversation": "Let's work together to make baked_potato, bread, cooked_beef, golden_apple.",
"agent_count": 5,
"target": {
"baked_potato": 1,
"bread": 1,
"cooked_beef": 1,
"golden_apple": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 baked_potato, 1 bread, 1 cooked_beef, 1 golden_apple. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.",
"1": "Collaborate with agents around you to make 1 baked_potato, 1 bread, 1 cooked_beef, 1 golden_apple. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.",
"2": "Collaborate with agents around you to make 1 baked_potato, 1 bread, 1 cooked_beef, 1 golden_apple. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.",
"3": "Collaborate with agents around you to make 1 baked_potato, 1 bread, 1 cooked_beef, 1 golden_apple. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.",
"4": "Collaborate with agents around you to make 1 baked_potato, 1 bread, 1 cooked_beef, 1 golden_apple. \n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
}
},
"multiagent_cooking_5_1_baked_potato_1_bread_1_cake_1_cooked_beef_1_golden_apple": {
"conversation": "Let's work together to make cake, bread, golden_apple, baked_potato, cooked_beef.",
"agent_count": 5,
"target": {
"cake": 1,
"bread": 1,
"golden_apple": 1,
"baked_potato": 1,
"cooked_beef": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cake, 1 bread, 1 golden_apple, 1 baked_potato, 1 cooked_beef. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"1": "Collaborate with agents around you to make 1 cake, 1 bread, 1 golden_apple, 1 baked_potato, 1 cooked_beef. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"2": "Collaborate with agents around you to make 1 cake, 1 bread, 1 golden_apple, 1 baked_potato, 1 cooked_beef. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"3": "Collaborate with agents around you to make 1 cake, 1 bread, 1 golden_apple, 1 baked_potato, 1 cooked_beef. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"4": "Collaborate with agents around you to make 1 cake, 1 bread, 1 golden_apple, 1 baked_potato, 1 cooked_beef. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef."
}
},
"multiagent_cooking_5_1_baked_potato_1_cake_1_golden_apple_1_rabbit_stew": {
"conversation": "Let's work together to make rabbit_stew, golden_apple, cake, baked_potato.",
"agent_count": 5,
"target": {
"rabbit_stew": 1,
"golden_apple": 1,
"cake": 1,
"baked_potato": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 rabbit_stew, 1 golden_apple, 1 cake, 1 baked_potato. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"1": "Collaborate with agents around you to make 1 rabbit_stew, 1 golden_apple, 1 cake, 1 baked_potato. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"2": "Collaborate with agents around you to make 1 rabbit_stew, 1 golden_apple, 1 cake, 1 baked_potato. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"3": "Collaborate with agents around you to make 1 rabbit_stew, 1 golden_apple, 1 cake, 1 baked_potato. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"4": "Collaborate with agents around you to make 1 rabbit_stew, 1 golden_apple, 1 cake, 1 baked_potato. \n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato."
}
},
"multiagent_cooking_5_1_bread_1_cooked_beef_1_golden_apple_1_rabbit_stew": {
"conversation": "Let's work together to make bread, rabbit_stew, golden_apple, cooked_beef.",
"agent_count": 5,
"target": {
"bread": 1,
"rabbit_stew": 1,
"golden_apple": 1,
"cooked_beef": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 bread, 1 rabbit_stew, 1 golden_apple, 1 cooked_beef. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"1": "Collaborate with agents around you to make 1 bread, 1 rabbit_stew, 1 golden_apple, 1 cooked_beef. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"2": "Collaborate with agents around you to make 1 bread, 1 rabbit_stew, 1 golden_apple, 1 cooked_beef. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"3": "Collaborate with agents around you to make 1 bread, 1 rabbit_stew, 1 golden_apple, 1 cooked_beef. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.",
"4": "Collaborate with agents around you to make 1 bread, 1 rabbit_stew, 1 golden_apple, 1 cooked_beef. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef."
}
},
"multiagent_cooking_5_1_bread_1_cake_1_golden_apple_1_rabbit_stew": {
"conversation": "Let's work together to make cake, rabbit_stew, golden_apple, bread.",
"agent_count": 5,
"target": {
"cake": 1,
"rabbit_stew": 1,
"golden_apple": 1,
"bread": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cake, 1 rabbit_stew, 1 golden_apple, 1 bread. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"1": "Collaborate with agents around you to make 1 cake, 1 rabbit_stew, 1 golden_apple, 1 bread. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"2": "Collaborate with agents around you to make 1 cake, 1 rabbit_stew, 1 golden_apple, 1 bread. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"3": "Collaborate with agents around you to make 1 cake, 1 rabbit_stew, 1 golden_apple, 1 bread. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.",
"4": "Collaborate with agents around you to make 1 cake, 1 rabbit_stew, 1 golden_apple, 1 bread. \n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread."
}
},
"multiagent_cooking_5_1_baked_potato_1_cake_1_cooked_beef_1_golden_apple_1_rabbit_stew": {
"conversation": "Let's work together to make cooked_beef, golden_apple, cake, baked_potato, rabbit_stew.",
"agent_count": 5,
"target": {
"cooked_beef": 1,
"golden_apple": 1,
"cake": 1,
"baked_potato": 1,
"rabbit_stew": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 cake, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"1": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 cake, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"2": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 cake, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"3": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 cake, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.",
"4": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 cake, 1 baked_potato, 1 rabbit_stew. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
}
},
"multiagent_cooking_5_1_bread_1_cake_1_cooked_beef_1_golden_apple_1_rabbit_stew": {
"conversation": "Let's work together to make cooked_beef, golden_apple, rabbit_stew, bread, cake.",
"agent_count": 5,
"target": {
"cooked_beef": 1,
"golden_apple": 1,
"rabbit_stew": 1,
"bread": 1,
"cake": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"golden_apple": [
"Step 1: Go to the chest and collect 1 apple and 8 gold ingots.",
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 rabbit_stew, 1 bread, 1 cake. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"1": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 rabbit_stew, 1 bread, 1 cake. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"2": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 rabbit_stew, 1 bread, 1 cake. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"3": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 rabbit_stew, 1 bread, 1 cake. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.",
"4": "Collaborate with agents around you to make 1 cooked_beef, 1 golden_apple, 1 rabbit_stew, 1 bread, 1 cake. \n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for golden_apple:\nStep 1: Go to the chest and collect 1 apple and 8 gold ingots.\nStep 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
}
},
"multiagent_cooking_5_1_baked_potato_1_bread_1_cooked_beef_1_rabbit_stew": {
"conversation": "Let's work together to make bread, cooked_beef, rabbit_stew, baked_potato.",
"agent_count": 5,
"target": {
"bread": 1,
"cooked_beef": 1,
"rabbit_stew": 1,
"baked_potato": 1
},
"type": "cooking",
"timeout": 1500,
"recipes": {
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"cooked_beef": [
"Step 1: Kill a cow and pick up 1 beef that is dropped.",
"Step 2: Go to furnace and use it to cook the beef."
],
"rabbit_stew": [
"Step 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').",
"Step 2: Go to the furnace and bake the potato.",
"Step 3: Go to the chest and grab a bowl",
"Step 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.",
"Step 6: Go to the furnace and cook the raw rabbit.",
"Step 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "Collaborate with agents around you to make 1 bread, 1 cooked_beef, 1 rabbit_stew, 1 baked_potato. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"1": "Collaborate with agents around you to make 1 bread, 1 cooked_beef, 1 rabbit_stew, 1 baked_potato. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"2": "Collaborate with agents around you to make 1 bread, 1 cooked_beef, 1 rabbit_stew, 1 baked_potato. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"3": "Collaborate with agents around you to make 1 bread, 1 cooked_beef, 1 rabbit_stew, 1 baked_potato. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.",
"4": "Collaborate with agents around you to make 1 bread, 1 cooked_beef, 1 rabbit_stew, 1 baked_potato. \n\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nRecipe for cooked_beef:\nStep 1: Kill a cow and pick up 1 beef that is dropped.\nStep 2: Go to furnace and use it to cook the beef.\n\nRecipe for rabbit_stew:\nStep 1: Go to the farm and collect 1 carrot, 1 potato, and 1 brown mushroom (search for 'potatoes' (not 'potato').\nStep 2: Go to the furnace and bake the potato.\nStep 3: Go to the chest and grab a bowl\nStep 5: Kill a rabbit and pick up 1 raw rabbit that is dropped.\nStep 6: Go to the furnace and cook the raw rabbit.\nStep 7: Go to the crafting table and combine the cooked rabbit, baked potato, carrot, brown mushroom, and bowl to make rabbit stew.\n\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato."
}
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,703 @@
{
"multiagent_crafting_pink_wool_full_plan__depth_0": {
"goal": "Collaborate with other agents to craft an pink_wool",
"conversation": "Let's work together to craft an pink_wool.",
"initial_inventory": {
"0": {
"pink_dye": 1
},
"1": {
"black_wool": 1
}
},
"agent_count": 2,
"target": "pink_wool",
"number_of_target": 1,
"type": "techtree",
"max_depth": 1,
"depth": 0,
"timeout": 300,
"blocked_actions": {
"0": [],
"1": []
},
"missing_items": [],
"requires_ctable": false
},
"multiagent_crafting_lime_wool_partial_plan__depth_0": {
"goal": "Collaborate with other agents to craft an lime_wool",
"conversation": "Let's work together to craft an lime_wool.",
"initial_inventory": {
"0": {
"lime_dye": 1
},
"1": {
"black_wool": 1
}
},
"agent_count": 2,
"target": "lime_wool",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 0,
"timeout": 300,
"blocked_actions": {
"0": [
],
"1": ["!getCraftingPlan"]
},
"missing_items": [
],
"requires_ctable": false
},
"multiagent_crafting_purple_banner_full_plan_requires_ctable__depth_0": {
"goal": "Collaborate with other agents to craft an purple_banner",
"conversation": "Let's work together to craft an purple_banner.",
"initial_inventory": {
"0": {
"purple_wool": 4,
"stick": 1
},
"1": {
"purple_wool": 3,
"crafting_table": 1
}
},
"agent_count": 2,
"target": "purple_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 0,
"timeout": 300,
"blocked_actions": {
"0": [],
"1": []
},
"missing_items": [],
"requires_ctable": true
},
"multiagent_crafting_soul_campfire_partial_plan_requires_ctable__depth_0": {
"goal": "Collaborate with other agents to craft an soul_campfire",
"conversation": "Let's work together to craft an soul_campfire.",
"initial_inventory": {
"0": {
"oak_planks": 2,
"soul_sand": 1,
"dark_oak_log": 2
},
"1": {
"oak_planks": 1,
"dark_oak_log": 1,
"crafting_table": 1
}
},
"agent_count": 2,
"target": "soul_campfire",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 0,
"timeout": 300,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": []
},
"missing_items": [],
"requires_ctable": true
},
"multiagent_crafting_bookshelf_full_plan_requires_ctable__depth_0": {
"goal": "Collaborate with other agents to craft a bookshelf",
"conversation": "Let's work together to craft a bookshelf.",
"initial_inventory": {
"0": {
"oak_planks": 4,
"book": 2
},
"1": {
"oak_planks": 2,
"book": 1,
"crafting_table": 1
}
},
"agent_count": 2,
"target": "bookshelf",
"number_of_target": 1,
"type": "techtree",
"max_depth": 1,
"depth": 0,
"timeout": 300,
"blocked_actions": {
"0": [],
"1": []
},
"missing_items": [],
"requires_ctable": true
},
"multiagent_crafting_compass_partial_plan_requires_ctable__depth_0": {
"goal": "Collaborate with other agents to craft a compass",
"conversation": "Let's work together to craft a compass.",
"initial_inventory": {
"0": {
"iron_ingot": 2
},
"1": {
"iron_ingot": 2,
"redstone": 1,
"crafting_table": 1
}
},
"agent_count": 2,
"target": "compass",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 0,
"timeout": 300,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": []
},
"missing_items": [],
"requires_ctable": true
},
"multiagent_crafting_fishing_rod_full_plan_requires_ctable__depth_1": {
"goal": "Collaborate with other agents to craft a fishing_rod",
"conversation": "Let's work together to craft a fishing_rod.",
"initial_inventory": {
"0": {
"string": 1,
"oak_planks": 2
},
"1": {
"string": 1,
"crafting_table": 1
}
},
"agent_count": 2,
"target": "fishing_rod",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 1,
"timeout": 300,
"blocked_actions": {
"0": [],
"1": []
},
"missing_items": [
],
"requires_ctable": true
},
"multiagent_crafting_cake_partial_plan_requires_ctable__depth_0": {
"goal": "Collaborate with other agents to craft a cake",
"conversation": "Let's work together to craft a cake.",
"initial_inventory": {
"0": {
"wheat": 2,
"sugar": 1,
"egg": 1
},
"1": {
"wheat": 1,
"milk_bucket": 2,
"crafting_table": 1
}
},
"agent_count": 2,
"target": "cake",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 0,
"timeout": 300,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": []
},
"missing_items": [],
"requires_ctable": true
},
"multiagent_crafting_golden_carrot_full_plan_requires_ctable__depth_0": {
"goal": "Collaborate with other agents to craft a golden_carrot",
"conversation": "Let's work together to craft a golden_carrot.",
"initial_inventory": {
"0": {
"gold_nugget": 5,
"carrot": 1
},
"1": {
"gold_nugget": 3,
"crafting_table": 1
}
},
"agent_count": 2,
"target": "golden_carrot",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 0,
"timeout": 300,
"blocked_actions": {
"0": [],
"1": []
},
"missing_items": [],
"requires_ctable": true
},
"multiagent_crafting_map_partial_plan_requires_ctable__depth_0": {
"goal": "Collaborate with other agents to craft a map",
"conversation": "Let's work together to craft a map.",
"initial_inventory": {
"0": {
"paper": 5
},
"1": {
"paper": 3,
"compass": 1,
"crafting_table": 1
}
},
"agent_count": 2,
"target": "map",
"number_of_target": 1,
"type": "techtree",
"max_depth": 1,
"depth": 0,
"timeout": 300,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": []
},
"missing_items": [],
"requires_ctable": true
},
"multiagent_crafting_blue_wool_full_plan__depth_0": {
"goal": "Collaborate with other agents to craft blue_wool",
"conversation": "Let's work together to craft blue_wool.",
"initial_inventory": {
"0": {
"blue_dye": 1
},
"1": {
"white_wool": 1
}
},
"agent_count": 2,
"target": "blue_wool",
"number_of_target": 1,
"type": "techtree",
"max_depth": 1,
"depth": 0,
"timeout": 300,
"blocked_actions": {
"0": [],
"1": []
},
"missing_items": [],
"requires_ctable": false
},
"multiagent_crafting_lime_wool_partial_plan__depth_2": {
"goal": "Collaborate with other agents to craft lime_wool",
"conversation": "Let's work together to craft lime_wool.",
"initial_inventory": {
"0": {
"green_dye": 1
},
"1": {
"white_wool": 1,
"bone_meal": 1
}
},
"agent_count": 2,
"target": "lime_wool",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 1,
"timeout": 300,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": []
},
"missing_items": [
],
"requires_ctable": false
},
"multiagent_crafting_magenta_wool_full_plan__depth_2": {
"goal": "Collaborate with other agents to craft magenta_wool",
"conversation": "Let's work together to craft magenta_wool.",
"initial_inventory": {
"0": {
"rose_red": 1,
"lapis_lazuli": 1
},
"1": {
"white_wool": 1,
"bone_meal": 1
}
},
"agent_count": 2,
"target": "magenta_wool",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 2,
"timeout": 300,
"blocked_actions": {
"0": [],
"1": []
},
"missing_items": [
],
"requires_ctable": false
},
"multiagent_crafting_chest_full_plan_requires_ctable__depth_1": {
"goal": "Collaborate with other agents to craft a chest",
"conversation": "Let's work together to craft a chest.",
"initial_inventory": {
"0": {
"oak_log": 1
},
"1": {
"oak_planks": 4,
"crafting_table": 1
}
},
"agent_count": 2,
"target": "chest",
"number_of_target": 1,
"type": "techtree",
"max_depth": 1,
"depth": 1,
"timeout": 300,
"blocked_actions": {
"0": [],
"1": []
},
"missing_items": [],
"requires_ctable": true
},
"multiagent_crafting_barrel_partial_plan_requires_ctable__depth_1": {
"goal": "Collaborate with other agents to craft a barrel",
"conversation": "Let's work together to craft a barrel.",
"initial_inventory": {
"0": {
"spruce_planks": 3,
"crafting_table": 1
},
"1": {
"spruce_planks": 3,
"wooden_slab": 1
}
},
"agent_count": 2,
"target": "barrel",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 1,
"timeout": 300,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": []
},
"missing_items": [
],
"requires_ctable": true
},
"multiagent_crafting_lectern_full_plan_requires_ctable__depth_2": {
"goal": "Collaborate with other agents to craft a lectern",
"conversation": "Let's work together to craft a lectern.",
"initial_inventory": {
"0": {
"birch_slab": 5,
"crafting_table": 1
},
"1": {
"birch_log": 2,
"book": 3
}
},
"agent_count": 2,
"target": "lectern",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 2,
"timeout": 300,
"blocked_actions": {
"0": [],
"1": []
},
"missing_items": [
],
"requires_ctable": true
},
"multiagent_crafting_clock_partial_plan_requires_ctable__depth_0": {
"goal": "Collaborate with other agents to craft a clock",
"conversation": "Let's work together to craft a clock.",
"initial_inventory": {
"0": {
"gold_ingot": 2
},
"1": {
"gold_ingot": 2,
"redstone": 1,
"crafting_table": 1
}
},
"agent_count": 2,
"target": "clock",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 0,
"timeout": 300,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": []
},
"missing_items": [],
"requires_ctable": true
},
"multiagent_crafting_firework_rocket_partial_plan__depth_0": {
"goal": "Collaborate with other agents to craft firework_rocket",
"conversation": "Let's work together to craft firework_rocket.",
"initial_inventory": {
"0": {
"paper": 1
},
"1": {
"gunpowder": 3
}
},
"agent_count": 2,
"target": "firework_rocket",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 0,
"timeout": 300,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": []
},
"missing_items": [],
"requires_ctable": false
},
"multiagent_crafting_enchanting_table_partial_plan_requires_ctable__depth_0": {
"goal": "Collaborate with other agents to craft an enchanting_table",
"conversation": "Let's work together to craft an enchanting_table.",
"initial_inventory": {
"0": {
"diamond": 2,
"obsidian": 2,
"crafting_table": 1
},
"1": {
"obsidian": 2,
"book": 1
}
},
"agent_count": 2,
"target": "enchanting_table",
"number_of_target": 1,
"type": "techtree",
"max_depth": 0,
"depth": 0,
"timeout": 300,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": []
},
"missing_items": [],
"requires_ctable": true
},
"multiagent_crafting_jukebox_full_plan_requires_ctable__depth_1": {
"goal": "Collaborate with other agents to craft a jukebox",
"conversation": "Let's work together to craft a jukebox.",
"initial_inventory": {
"0": {
"diamond": 1
},
"1": {
"oak_log": 2,
"crafting_table": 1
}
},
"agent_count": 2,
"target": "jukebox",
"number_of_target": 1,
"type": "techtree",
"max_depth": 1,
"depth": 1,
"timeout": 300,
"blocked_actions": {
"0": [],
"1": []
},
"missing_items": [],
"requires_ctable": true
},
"multiagent_crafting_light_gray_wool_full_plan__depth_1": {
"goal": "Collaborate with other agents to craft light_gray_wool",
"conversation": "Let's work together to craft light_gray_wool.",
"initial_inventory": {
"0": {
"black_dye": 1
},
"1": {
"white_wool": 1,
"white_dye": 2
}
},
"agent_count": 2,
"target": "light_gray_wool",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 1,
"timeout": 300,
"blocked_actions": {
"0": [],
"1": []
},
"missing_items": [
],
"requires_ctable": false
},
"multiagent_crafting_blast_furnace_full_plan_requires_ctable__depth_1": {
"goal": "Collaborate with other agents to craft a blast_furnace",
"conversation": "Let's work together to craft a blast_furnace.",
"initial_inventory": {
"0": {
"iron_ingot": 5,
"smooth_stone": 3
},
"1": {
"cobblestone": 8,
"crafting_table": 1
}
},
"agent_count": 2,
"target": "blast_furnace",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 1,
"timeout": 300,
"blocked_actions": {
"0": [],
"1": []
},
"missing_items": [
],
"requires_ctable": true
},
"multiagent_crafting_activator_rail_full_plan_requires_ctable__depth_2": {
"goal": "Collaborate with other agents to craft activator_rail",
"conversation": "Let's work together to craft activator_rail.",
"initial_inventory": {
"0": {
"iron_ingot": 3,
"oak_planks": 6
},
"1": {
"redstone": 1,
"iron_ingot": 3,
"crafting_table": 1
}
},
"agent_count": 2,
"target": "activator_rail",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 2,
"timeout": 300,
"blocked_actions": {
"0": [],
"1": []
},
"missing_items": [
],
"requires_ctable": true
},
"multiagent_crafting_campfire_partial_plan_requires_ctable__depth_2": {
"goal": "Collaborate with other agents to craft campfire",
"conversation": "Let's work together to craft campfire.",
"initial_inventory": {
"0": {
"oak_log": 8
},
"1": {
"coal": 1,
"crafting_table": 1
}
},
"agent_count": 2,
"target": "campfire",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 2,
"timeout": 300,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": []
},
"missing_items": [
],
"requires_ctable": true
},
"multiagent_crafting_crossbow_full_plan_requires_ctable__depth_2": {
"goal": "Collaborate with other agents to craft a crossbow",
"conversation": "Let's work together to craft a crossbow.",
"initial_inventory": {
"0": {
"oak_planks": 8,
"iron_ingot": 2
},
"1": {
"string": 2,
"crafting_table": 1
}
},
"agent_count": 2,
"target": "crossbow",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 2,
"timeout": 300,
"blocked_actions": {
"0": [],
"1": []
},
"missing_items": [
],
"requires_ctable": true
}
}

View file

@ -0,0 +1,840 @@
{
"multiagent_crafting_requires_ctable_dark_prismarine_0_with_plan__depth_0_num_agents_3": {
"goal": "Collaborate with other agents to craft an dark_prismarine",
"conversation": "Let's work together to craft an dark_prismarine.",
"initial_inventory": {
"0": {
"prismarine_shard": 2,
"black_dye": 1,
"crafting_table": 1
},
"1": {
"prismarine_shard": 2
},
"2": {
"prismarine_shard": 4
}
},
"agent_count": 3,
"target": "dark_prismarine",
"number_of_target": 1,
"type": "techtree",
"max_depth": 1,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_cut_red_sandstone_0_with_plan__depth_0_num_agents_3": {
"goal": "Collaborate with other agents to craft an cut_red_sandstone",
"conversation": "Let's work together to craft an cut_red_sandstone.",
"initial_inventory": {
"0": {
"red_sandstone": 1,
"crafting_table": 1
},
"1": {
"red_sandstone": 1
},
"2": {
"red_sandstone": 2
}
},
"agent_count": 3,
"target": "cut_red_sandstone",
"number_of_target": 1,
"type": "techtree",
"max_depth": 1,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_pink_banner_0_with_plan__depth_0_num_agents_3": {
"goal": "Collaborate with other agents to craft an pink_banner",
"conversation": "Let's work together to craft an pink_banner.",
"initial_inventory": {
"0": {
"pink_wool": 2,
"stick": 1,
"crafting_table": 1
},
"1": {
"pink_wool": 2
},
"2": {
"pink_wool": 2
}
},
"agent_count": 3,
"target": "pink_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_blue_banner_0_with_plan__depth_0_num_agents_3": {
"goal": "Collaborate with other agents to craft an blue_banner",
"conversation": "Let's work together to craft an blue_banner.",
"initial_inventory": {
"0": {
"blue_wool": 2,
"stick": 1,
"crafting_table": 1
},
"1": {
"blue_wool": 2
},
"2": {
"blue_wool": 2
}
},
"agent_count": 3,
"target": "blue_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_bookshelf_0_with_plan__depth_0_num_agents_3": {
"goal": "Collaborate with other agents to craft an bookshelf",
"conversation": "Let's work together to craft an bookshelf.",
"initial_inventory": {
"0": {
"oak_planks": 2,
"book": 1,
"crafting_table": 1
},
"1": {
"oak_planks": 2,
"book": 1
},
"2": {
"oak_planks": 2,
"book": 1
}
},
"agent_count": 3,
"target": "bookshelf",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_blue_banner_2_with_plan__depth_0_num_agents_3": {
"goal": "Collaborate with other agents to craft an blue_banner",
"conversation": "Let's work together to craft an blue_banner.",
"initial_inventory": {
"0": {
"blue_wool": 2,
"stick": 1,
"crafting_table": 1
},
"1": {
"blue_wool": 2
},
"2": {
"blue_wool": 2
}
},
"agent_count": 3,
"target": "blue_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [
"!getCraftingPlan"
],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_cyan_bed_1_with_plan__depth_0_num_agents_3": {
"goal": "Collaborate with other agents to craft an cyan_bed",
"conversation": "Let's work together to craft an cyan_bed.",
"initial_inventory": {
"0": {
"cyan_wool": 1,
"oak_planks": 1,
"crafting_table": 1
},
"1": {
"cyan_wool": 1,
"oak_planks": 1
},
"2": {
"cyan_wool": 1,
"oak_planks": 1
}
},
"agent_count": 3,
"target": "cyan_bed",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_blue_banner_1_with_plan__depth_0_num_agents_3": {
"goal": "Collaborate with other agents to craft an blue_banner",
"conversation": "Let's work together to craft an blue_banner.",
"initial_inventory": {
"0": {
"blue_wool": 2,
"stick": 1,
"crafting_table": 1
},
"1": {
"blue_wool": 2
},
"2": {
"blue_wool": 2
}
},
"agent_count": 3,
"target": "blue_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_cyan_banner_1_with_plan__depth_0_num_agents_3": {
"goal": "Collaborate with other agents to craft an cyan_banner",
"conversation": "Let's work together to craft an cyan_banner.",
"initial_inventory": {
"0": {
"cyan_wool": 2,
"stick": 1,
"crafting_table": 1
},
"1": {
"cyan_wool": 2
},
"2": {
"cyan_wool": 2
}
},
"agent_count": 3,
"target": "cyan_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_white_banner_2_with_plan__depth_0_num_agents_3": {
"goal": "Collaborate with other agents to craft an white_banner",
"conversation": "Let's work together to craft an white_banner.",
"initial_inventory": {
"0": {
"white_wool": 2,
"stick": 1,
"crafting_table": 1
},
"1": {
"white_wool": 2
},
"2": {
"white_wool": 2
}
},
"agent_count": 3,
"target": "white_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [
"!getCraftingPlan"
],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_waxed_oxidized_cut_copper_2_with_plan__depth_0_num_agents_3": {
"goal": "Collaborate with other agents to craft an waxed_oxidized_cut_copper",
"conversation": "Let's work together to craft an waxed_oxidized_cut_copper.",
"initial_inventory": {
"0": {
"waxed_oxidized_copper": 1,
"crafting_table": 1
},
"1": {
"waxed_oxidized_copper": 1
},
"2": {
"waxed_oxidized_copper": 2
}
},
"agent_count": 3,
"target": "waxed_oxidized_cut_copper",
"number_of_target": 1,
"type": "techtree",
"max_depth": 1,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [
"!getCraftingPlan"
],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_chest_minecart_0_with_plan__depth_1_num_agents_3": {
"goal": "Collaborate with other agents to craft an chest_minecart",
"conversation": "Let's work together to craft an chest_minecart.",
"initial_inventory": {
"0": {
"oak_planks": 2,
"iron_ingot": 1,
"crafting_table": 1
},
"1": {
"oak_planks": 2,
"iron_ingot": 1
},
"2": {
"oak_planks": 4,
"iron_ingot": 3
}
},
"agent_count": 3,
"target": "chest_minecart",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_magenta_bed_0_with_plan__depth_1_num_agents_3": {
"goal": "Collaborate with other agents to craft an magenta_bed",
"conversation": "Let's work together to craft an magenta_bed.",
"initial_inventory": {
"0": {
"allium": 1,
"black_wool": 1,
"oak_planks": 1,
"crafting_table": 1
},
"1": {
"black_wool": 1,
"oak_planks": 1
},
"2": {
"black_wool": 1,
"oak_planks": 1
}
},
"agent_count": 3,
"target": "magenta_bed",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_red_banner_0_with_plan__depth_1_num_agents_3": {
"goal": "Collaborate with other agents to craft an red_banner",
"conversation": "Let's work together to craft an red_banner.",
"initial_inventory": {
"0": {
"red_dye": 2,
"black_wool": 2,
"oak_planks": 2,
"crafting_table": 1
},
"1": {
"red_dye": 2,
"black_wool": 2
},
"2": {
"red_dye": 2,
"black_wool": 2
}
},
"agent_count": 3,
"target": "red_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_black_banner_0_with_plan__depth_1_num_agents_3": {
"goal": "Collaborate with other agents to craft an black_banner",
"conversation": "Let's work together to craft an black_banner.",
"initial_inventory": {
"0": {
"black_wool": 2,
"oak_planks": 2,
"crafting_table": 1
},
"1": {
"black_wool": 2
},
"2": {
"black_wool": 2
}
},
"agent_count": 3,
"target": "black_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_spectral_arrow_0_with_plan__depth_1_num_agents_3": {
"goal": "Collaborate with other agents to craft an spectral_arrow",
"conversation": "Let's work together to craft an spectral_arrow.",
"initial_inventory": {
"0": {
"glowstone_dust": 1,
"flint": 1,
"crafting_table": 1
},
"1": {
"glowstone_dust": 2,
"stick": 1
},
"2": {
"glowstone_dust": 1,
"feather": 1
}
},
"agent_count": 3,
"target": "spectral_arrow",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_cyan_wool_2_with_plan__depth_1_num_agents_3": {
"goal": "Collaborate with other agents to craft an cyan_wool",
"conversation": "Let's work together to craft an cyan_wool.",
"initial_inventory": {
"0": {
"blue_dye": 1,
"crafting_table": 1
},
"1": {
"green_dye": 1
},
"2": {
"black_wool": 1
}
},
"agent_count": 3,
"target": "cyan_wool",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [
"!getCraftingPlan"
],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_pink_banner_2_with_plan__depth_1_num_agents_3": {
"goal": "Collaborate with other agents to craft an pink_banner",
"conversation": "Let's work together to craft an pink_banner.",
"initial_inventory": {
"0": {
"pink_dye": 2,
"black_wool": 2,
"oak_planks": 2,
"crafting_table": 1
},
"1": {
"pink_dye": 2,
"black_wool": 2
},
"2": {
"pink_dye": 2,
"black_wool": 2
}
},
"agent_count": 3,
"target": "pink_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [
"!getCraftingPlan"
],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_spectral_arrow_1_with_plan__depth_1_num_agents_3": {
"goal": "Collaborate with other agents to craft an spectral_arrow",
"conversation": "Let's work together to craft an spectral_arrow.",
"initial_inventory": {
"0": {
"glowstone_dust": 1,
"flint": 1,
"crafting_table": 1
},
"1": {
"glowstone_dust": 2,
"stick": 1
},
"2": {
"glowstone_dust": 1,
"feather": 1
}
},
"agent_count": 3,
"target": "spectral_arrow",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_chiseled_polished_blackstone_1_with_plan__depth_1_num_agents_3": {
"goal": "Collaborate with other agents to craft an chiseled_polished_blackstone",
"conversation": "Let's work together to craft an chiseled_polished_blackstone.",
"initial_inventory": {
"0": {
"polished_blackstone": 1,
"crafting_table": 1
},
"1": {
"polished_blackstone": 1
},
"2": {
"polished_blackstone": 1
}
},
"agent_count": 3,
"target": "chiseled_polished_blackstone",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_purple_wool_1_with_plan__depth_1_num_agents_3": {
"goal": "Collaborate with other agents to craft an purple_wool",
"conversation": "Let's work together to craft an purple_wool.",
"initial_inventory": {
"0": {
"blue_dye": 1,
"crafting_table": 1
},
"1": {
"red_dye": 1
},
"2": {
"black_wool": 1
}
},
"agent_count": 3,
"target": "purple_wool",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_spectral_arrow_2_with_plan__depth_1_num_agents_3": {
"goal": "Collaborate with other agents to craft an spectral_arrow",
"conversation": "Let's work together to craft an spectral_arrow.",
"initial_inventory": {
"0": {
"glowstone_dust": 1,
"flint": 1,
"crafting_table": 1
},
"1": {
"glowstone_dust": 2,
"stick": 1
},
"2": {
"glowstone_dust": 1,
"feather": 1
}
},
"agent_count": 3,
"target": "spectral_arrow",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [
"!getCraftingPlan"
],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_cyan_bed_0_with_plan__depth_2_num_agents_3": {
"goal": "Collaborate with other agents to craft an cyan_bed",
"conversation": "Let's work together to craft an cyan_bed.",
"initial_inventory": {
"0": {
"blue_dye": 2,
"black_wool": 1,
"crafting_table": 1
},
"1": {
"green_dye": 2,
"black_wool": 1
},
"2": {
"black_wool": 1,
"oak_log": 1
}
},
"agent_count": 3,
"target": "cyan_bed",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 2,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_cyan_banner_1_with_plan__depth_2_num_agents_3": {
"goal": "Collaborate with other agents to craft an cyan_banner",
"conversation": "Let's work together to craft an cyan_banner.",
"initial_inventory": {
"0": {
"blue_dye": 1,
"green_dye": 1,
"black_wool": 2,
"oak_log": 1,
"crafting_table": 1
},
"1": {
"blue_dye": 1,
"green_dye": 1,
"black_wool": 2
},
"2": {
"blue_dye": 1,
"green_dye": 1,
"black_wool": 2
}
},
"agent_count": 3,
"target": "cyan_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 2,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_gray_wool_1_with_plan__depth_2_num_agents_3": {
"goal": "Collaborate with other agents to craft an gray_wool",
"conversation": "Let's work together to craft an gray_wool.",
"initial_inventory": {
"0": {
"ink_sac": 1,
"crafting_table": 1
},
"1": {
"bone_meal": 1
},
"2": {
"black_wool": 1
}
},
"agent_count": 3,
"target": "gray_wool",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 2,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [],
"2": []
},
"missing_items": [],
"requires_crafting_table": true
}
}

View file

@ -0,0 +1,960 @@
{
"multiagent_crafting_requires_ctable_lectern_0_with_plan__depth_0_num_agents_4": {
"goal": "Collaborate with other agents to craft an lectern",
"conversation": "Let's work together to craft an lectern.",
"initial_inventory": {
"0": {
"oak_slab": 1,
"bookshelf": 1,
"crafting_table": 1
},
"1": {
"oak_slab": 1
},
"2": {
"oak_slab": 1
},
"3": {
"oak_slab": 1
}
},
"agent_count": 4,
"target": "lectern",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_polished_granite_0_with_plan__depth_0_num_agents_4": {
"goal": "Collaborate with other agents to craft an polished_granite",
"conversation": "Let's work together to craft an polished_granite.",
"initial_inventory": {
"0": {
"granite": 1,
"crafting_table": 1
},
"1": {
"granite": 1
},
"2": {
"granite": 1
},
"3": {
"granite": 1
}
},
"agent_count": 4,
"target": "polished_granite",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_smoker_0_with_plan__depth_0_num_agents_4": {
"goal": "Collaborate with other agents to craft an smoker",
"conversation": "Let's work together to craft an smoker.",
"initial_inventory": {
"0": {
"dark_oak_log": 1,
"furnace": 1,
"crafting_table": 1
},
"1": {
"dark_oak_log": 1
},
"2": {
"dark_oak_log": 1
},
"3": {
"dark_oak_log": 1
}
},
"agent_count": 4,
"target": "smoker",
"number_of_target": 1,
"type": "techtree",
"max_depth": 1,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_white_banner_0_with_plan__depth_0_num_agents_4": {
"goal": "Collaborate with other agents to craft an white_banner",
"conversation": "Let's work together to craft an white_banner.",
"initial_inventory": {
"0": {
"white_wool": 1,
"stick": 1,
"crafting_table": 1
},
"1": {
"white_wool": 3
},
"2": {
"white_wool": 1
},
"3": {
"white_wool": 1
}
},
"agent_count": 4,
"target": "white_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_blue_banner_0_with_plan__depth_0_num_agents_4": {
"goal": "Collaborate with other agents to craft an blue_banner",
"conversation": "Let's work together to craft an blue_banner.",
"initial_inventory": {
"0": {
"blue_wool": 1,
"stick": 1,
"crafting_table": 1
},
"1": {
"blue_wool": 1
},
"2": {
"blue_wool": 1
},
"3": {
"blue_wool": 3
}
},
"agent_count": 4,
"target": "blue_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_red_stained_glass_0_with_plan__depth_0_num_agents_4": {
"goal": "Collaborate with other agents to craft an red_stained_glass",
"conversation": "Let's work together to craft an red_stained_glass.",
"initial_inventory": {
"0": {
"glass": 2,
"red_dye": 1,
"crafting_table": 1
},
"1": {
"glass": 2
},
"2": {
"glass": 2
},
"3": {
"glass": 2
}
},
"agent_count": 4,
"target": "red_stained_glass",
"number_of_target": 1,
"type": "techtree",
"max_depth": 1,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_white_banner_1_with_plan__depth_0_num_agents_4": {
"goal": "Collaborate with other agents to craft an white_banner",
"conversation": "Let's work together to craft an white_banner.",
"initial_inventory": {
"0": {
"white_wool": 1,
"stick": 1,
"crafting_table": 1
},
"1": {
"white_wool": 3
},
"2": {
"white_wool": 1
},
"3": {
"white_wool": 1
}
},
"agent_count": 4,
"target": "white_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_cyan_stained_glass_3_with_plan__depth_0_num_agents_4": {
"goal": "Collaborate with other agents to craft an cyan_stained_glass",
"conversation": "Let's work together to craft an cyan_stained_glass.",
"initial_inventory": {
"0": {
"glass": 2,
"cyan_dye": 1,
"crafting_table": 1
},
"1": {
"glass": 2
},
"2": {
"glass": 2
},
"3": {
"glass": 2
}
},
"agent_count": 4,
"target": "cyan_stained_glass",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [
"!getCraftingPlan"
],
"2": [
"!getCraftingPlan"
],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_waxed_oxidized_cut_copper_1_with_plan__depth_0_num_agents_4": {
"goal": "Collaborate with other agents to craft an waxed_oxidized_cut_copper",
"conversation": "Let's work together to craft an waxed_oxidized_cut_copper.",
"initial_inventory": {
"0": {
"waxed_oxidized_copper": 1,
"crafting_table": 1
},
"1": {
"waxed_oxidized_copper": 1
},
"2": {
"waxed_oxidized_copper": 1
},
"3": {
"waxed_oxidized_copper": 1
}
},
"agent_count": 4,
"target": "waxed_oxidized_cut_copper",
"number_of_target": 1,
"type": "techtree",
"max_depth": 1,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_blue_banner_3_with_plan__depth_0_num_agents_4": {
"goal": "Collaborate with other agents to craft an blue_banner",
"conversation": "Let's work together to craft an blue_banner.",
"initial_inventory": {
"0": {
"blue_wool": 1,
"stick": 1,
"crafting_table": 1
},
"1": {
"blue_wool": 1
},
"2": {
"blue_wool": 1
},
"3": {
"blue_wool": 3
}
},
"agent_count": 4,
"target": "blue_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [
"!getCraftingPlan"
],
"2": [
"!getCraftingPlan"
],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_white_banner_2_with_plan__depth_0_num_agents_4": {
"goal": "Collaborate with other agents to craft an white_banner",
"conversation": "Let's work together to craft an white_banner.",
"initial_inventory": {
"0": {
"white_wool": 1,
"stick": 1,
"crafting_table": 1
},
"1": {
"white_wool": 3
},
"2": {
"white_wool": 1
},
"3": {
"white_wool": 1
}
},
"agent_count": 4,
"target": "white_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [
"!getCraftingPlan"
],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_smoker_3_with_plan__depth_0_num_agents_4": {
"goal": "Collaborate with other agents to craft an smoker",
"conversation": "Let's work together to craft an smoker.",
"initial_inventory": {
"0": {
"dark_oak_log": 1,
"furnace": 1,
"crafting_table": 1
},
"1": {
"dark_oak_log": 1
},
"2": {
"dark_oak_log": 1
},
"3": {
"dark_oak_log": 1
}
},
"agent_count": 4,
"target": "smoker",
"number_of_target": 1,
"type": "techtree",
"max_depth": 1,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [
"!getCraftingPlan"
],
"2": [
"!getCraftingPlan"
],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_black_banner_1_with_plan__depth_0_num_agents_4": {
"goal": "Collaborate with other agents to craft an black_banner",
"conversation": "Let's work together to craft an black_banner.",
"initial_inventory": {
"0": {
"black_wool": 1,
"stick": 1,
"crafting_table": 1
},
"1": {
"black_wool": 1
},
"2": {
"black_wool": 1
},
"3": {
"black_wool": 3
}
},
"agent_count": 4,
"target": "black_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 0,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_cyan_stained_glass_0_with_plan__depth_1_num_agents_4": {
"goal": "Collaborate with other agents to craft an cyan_stained_glass",
"conversation": "Let's work together to craft an cyan_stained_glass.",
"initial_inventory": {
"0": {
"glass": 2,
"blue_dye": 1,
"crafting_table": 1
},
"1": {
"glass": 2,
"green_dye": 1
},
"2": {
"glass": 2
},
"3": {
"glass": 2
}
},
"agent_count": 4,
"target": "cyan_stained_glass",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_polished_granite_0_with_plan__depth_1_num_agents_4": {
"goal": "Collaborate with other agents to craft an polished_granite",
"conversation": "Let's work together to craft an polished_granite.",
"initial_inventory": {
"0": {
"diorite": 1,
"quartz": 1,
"crafting_table": 1
},
"1": {
"diorite": 1,
"quartz": 1
},
"2": {
"diorite": 1,
"quartz": 1
},
"3": {
"diorite": 1,
"quartz": 1
}
},
"agent_count": 4,
"target": "polished_granite",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_cyan_banner_0_with_plan__depth_1_num_agents_4": {
"goal": "Collaborate with other agents to craft an cyan_banner",
"conversation": "Let's work together to craft an cyan_banner.",
"initial_inventory": {
"0": {
"cyan_dye": 1,
"black_wool": 1,
"oak_planks": 2,
"crafting_table": 1
},
"1": {
"cyan_dye": 1,
"black_wool": 1
},
"2": {
"cyan_dye": 3,
"black_wool": 3
},
"3": {
"cyan_dye": 1,
"black_wool": 1
}
},
"agent_count": 4,
"target": "cyan_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_white_banner_0_with_plan__depth_1_num_agents_4": {
"goal": "Collaborate with other agents to craft an white_banner",
"conversation": "Let's work together to craft an white_banner.",
"initial_inventory": {
"0": {
"white_dye": 3,
"black_wool": 1,
"oak_planks": 2,
"crafting_table": 1
},
"1": {
"white_dye": 1,
"black_wool": 1
},
"2": {
"white_dye": 1,
"black_wool": 1
},
"3": {
"white_dye": 1,
"black_wool": 3
}
},
"agent_count": 4,
"target": "white_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_bookshelf_2_with_plan__depth_1_num_agents_4": {
"goal": "Collaborate with other agents to craft an bookshelf",
"conversation": "Let's work together to craft an bookshelf.",
"initial_inventory": {
"0": {
"oak_log": 2,
"paper": 3,
"crafting_table": 1
},
"1": {
"paper": 2,
"leather": 3
},
"2": {
"paper": 2
},
"3": {
"paper": 2
}
},
"agent_count": 4,
"target": "bookshelf",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [
"!getCraftingPlan"
],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_spectral_arrow_1_with_plan__depth_1_num_agents_4": {
"goal": "Collaborate with other agents to craft an spectral_arrow",
"conversation": "Let's work together to craft an spectral_arrow.",
"initial_inventory": {
"0": {
"glowstone_dust": 1,
"flint": 1,
"crafting_table": 1
},
"1": {
"glowstone_dust": 1,
"stick": 1
},
"2": {
"glowstone_dust": 1,
"feather": 1
},
"3": {
"glowstone_dust": 1
}
},
"agent_count": 4,
"target": "spectral_arrow",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_chest_minecart_2_with_plan__depth_1_num_agents_4": {
"goal": "Collaborate with other agents to craft an chest_minecart",
"conversation": "Let's work together to craft an chest_minecart.",
"initial_inventory": {
"0": {
"oak_planks": 2,
"iron_ingot": 1,
"crafting_table": 1
},
"1": {
"oak_planks": 2,
"iron_ingot": 2
},
"2": {
"oak_planks": 2,
"iron_ingot": 1
},
"3": {
"oak_planks": 2,
"iron_ingot": 1
}
},
"agent_count": 4,
"target": "chest_minecart",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [
"!getCraftingPlan"
],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_chest_minecart_3_with_plan__depth_1_num_agents_4": {
"goal": "Collaborate with other agents to craft an chest_minecart",
"conversation": "Let's work together to craft an chest_minecart.",
"initial_inventory": {
"0": {
"oak_planks": 2,
"iron_ingot": 1,
"crafting_table": 1
},
"1": {
"oak_planks": 2,
"iron_ingot": 2
},
"2": {
"oak_planks": 2,
"iron_ingot": 1
},
"3": {
"oak_planks": 2,
"iron_ingot": 1
}
},
"agent_count": 4,
"target": "chest_minecart",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [
"!getCraftingPlan"
],
"2": [
"!getCraftingPlan"
],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_blue_banner_3_with_plan__depth_1_num_agents_4": {
"goal": "Collaborate with other agents to craft an blue_banner",
"conversation": "Let's work together to craft an blue_banner.",
"initial_inventory": {
"0": {
"blue_wool": 1,
"oak_planks": 2,
"crafting_table": 1
},
"1": {
"blue_wool": 3
},
"2": {
"blue_wool": 1
},
"3": {
"blue_wool": 1
}
},
"agent_count": 4,
"target": "blue_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 2,
"depth": 1,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [
"!getCraftingPlan"
],
"2": [
"!getCraftingPlan"
],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_cyan_banner_0_with_plan__depth_2_num_agents_4": {
"goal": "Collaborate with other agents to craft an cyan_banner",
"conversation": "Let's work together to craft an cyan_banner.",
"initial_inventory": {
"0": {
"blue_dye": 3,
"black_wool": 1,
"crafting_table": 1
},
"1": {
"green_dye": 3,
"black_wool": 3
},
"2": {
"black_wool": 1,
"oak_log": 1
},
"3": {
"black_wool": 1
}
},
"agent_count": 4,
"target": "cyan_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 2,
"timeout": 500,
"blocked_actions": {
"0": [],
"1": [],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_cyan_banner_2_with_plan__depth_2_num_agents_4": {
"goal": "Collaborate with other agents to craft an cyan_banner",
"conversation": "Let's work together to craft an cyan_banner.",
"initial_inventory": {
"0": {
"blue_dye": 3,
"black_wool": 1,
"crafting_table": 1
},
"1": {
"green_dye": 3,
"black_wool": 3
},
"2": {
"black_wool": 1,
"oak_log": 1
},
"3": {
"black_wool": 1
}
},
"agent_count": 4,
"target": "cyan_banner",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 2,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [
"!getCraftingPlan"
],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
},
"multiagent_crafting_requires_ctable_spectral_arrow_2_with_plan__depth_2_num_agents_4": {
"goal": "Collaborate with other agents to craft an spectral_arrow",
"conversation": "Let's work together to craft an spectral_arrow.",
"initial_inventory": {
"0": {
"glowstone_dust": 1,
"flint": 1,
"crafting_table": 1
},
"1": {
"glowstone_dust": 1,
"oak_planks": 2
},
"2": {
"glowstone_dust": 1,
"feather": 1
},
"3": {
"glowstone_dust": 1
}
},
"agent_count": 4,
"target": "spectral_arrow",
"number_of_target": 1,
"type": "techtree",
"max_depth": 3,
"depth": 2,
"timeout": 500,
"blocked_actions": {
"0": [
"!getCraftingPlan"
],
"1": [
"!getCraftingPlan"
],
"2": [],
"3": []
},
"missing_items": [],
"requires_crafting_table": true
}
}

File diff suppressed because it is too large Load diff

786
tasks/evaluation_script.py Normal file
View file

@ -0,0 +1,786 @@
import argparse
import json
import shutil
import subprocess
import time
from datetime import datetime
import re
import sys
import os
import time
import filecmp
import json
import glob
import socket
from tqdm import tqdm
import boto3
BLOCKED_ACTIONS_COOKING = [
'!activate', '!attackPlayer', '!checkBlueprint', '!checkBlueprintLevel',
'!clearChat', '!clearFurnace', '!consume', '!craftable', '!discard',
'!endGoal', '!entities', '!equip', '!followPlayer', '!getBlueprint', '!getBlueprintLevel',
'!goToBed', '!help', '!modes', '!moveAway', '!newAction', '!placeHere', '!putInChest',
'!restart', '!setMode', '!stay', '!stfu', '!stop'
]
BLOCKED_ACTIONS_CRAFTING = [
'!activate', '!attack', '!attackPlayer', '!checkBlueprint', '!checkBlueprintLevel',
'!clearChat', '!clearFurnace', '!consume', '!craftable', '!discard', '!endConversation',
'!endGoal', '!entities', '!followPlayer', '!getBlueprint', '!getBlueprintLevel',
'!goToBed', '!help', '!modes', '!newAction', '!putInChest', '!restart',
'!searchForEntity', '!setMode', '!stay', '!stfu', '!stop', '!takeFromChest',
'!viewChest'
]
BLOCKED_ACTIONS_CONSTRUCTION = [
'!activate', '!attackPlayer', '!clearChat', '!clearFurnace', '!collectBlocks',
'!consume', '!craftable', '!discard', '!endConversation', '!endGoal', '!entities',
'!equip', '!followPlayer', '!getBlueprint', '!getBlueprintLevel', '!goToBed',
'!help', '!modes', '!moveAway', '!newAction', '!placeHere', '!putInChest',
'!restart', '!searchForBlock', '!searchForEntity', '!setMode', '!stay', '!stfu',
'!stop', '!takeFromChest', '!viewChest', '!craftRecipe', '!smeltItem'
]
def analyze_json_file(file_path):
"""
Analyzes a single JSON file to extract the task outcome.
Args:
file_path (str): Path to the JSON file.
Returns:
str or None: The task outcome string if found, otherwise None.
"""
try:
with open(file_path, 'r') as f:
data = json.load(f)
if "turns" in data:
for turn in data["turns"]:
if turn.get("role") == "system" and "content" in turn:
if isinstance(turn["content"], str) and "Task ended with score : " in turn["content"]:
if "Task ended with score : 1" in turn["content"]:
return 1
elif "Task ended with score : 0" in turn["content"]:
return 0
else:
score = float(turn["content"].split(":")[-1].strip())
return score
return None
except FileNotFoundError:
print(f"Error: File not found: {file_path}")
return None
except json.JSONDecodeError:
print(f"Error: Invalid JSON format in: {file_path}")
return None
except Exception as e:
print(f"An unexpected error occurred while processing {file_path}: {e}")
return None
def extract_result(folder_path):
folder_name = os.path.basename(folder_path)
json_files = glob.glob(os.path.join(folder_path, "*.json"))
# assert len(json_files) == 2, f"Expected 2 json files in {folder_name}, found {len(json_files)}"
if not json_files:
return None
else:
score = None
curr_score = 0
for json_file in json_files:
score = analyze_json_file(json_file)
if score is not None:
max_score = max(score, curr_score)
curr_score = max_score
return curr_score
def aggregate_results(local_folders):
"""
Aggregates the analysis results for each folder.
Args:
local_folders (list): List of local folder paths containing the JSON files.
Returns:
dict: A dictionary where keys are folder names and values are the aggregated outcomes.
"""
aggregated_data = {}
total = 0
successful = 0
successful_tasks = []
task_type = local_folders[0].split("/")[-2]
if "cooking" in task_type:
task_type = "cooking"
elif "techtree" in task_type:
task_type = "techtree"
elif "construction" in task_type:
task_type = "construction"
for folder_path in tqdm(local_folders):
folder_name = os.path.basename(folder_path)
try:
result = extract_result(folder_path)
if result == 1:
successful_tasks.append(folder_name)
if result is not None:
total += 1
successful += result
except Exception as e:
print(f"Error processing {folder_name}: {e}")
successful_tasks.sort()
if task_type == "construction":
successful = successful / total
return {
"total": total,
"successful": successful,
}
def check_folder_results(folder_path):
"""
Evaluate all JSON files in a folder and its subfolders and calculate success metrics.
Args:
folder_path (str): Path to the folder containing JSON log files.
Returns:
dict: A dictionary with success metrics.
"""
print(f"Checking results in folder: {folder_path}")
# Check if the folder exists
if not os.path.exists(folder_path):
print(f"Error: Folder not found: {folder_path}")
return None
# Find all subfolders (task IDs) in the given folder
if os.path.isdir(folder_path):
subfolders = [f for f in glob.glob(os.path.join(folder_path, "*")) if os.path.isdir(f)]
if subfolders:
# If there are subfolders, evaluate each subfolder
print(f"Found {len(subfolders)} subfolders to evaluate")
results = aggregate_results(subfolders)
else:
# If no subfolders, treat the folder itself as a results folder
print("No subfolders found, evaluating the folder itself")
results = aggregate_results([folder_path])
# Calculate success rate
if results["total"] > 0:
results["success_rate"] = results["successful"] / results["total"]
else:
results["success_rate"] = 0.0
# Print summary
print("\n=== Evaluation Results ===")
print(f"Total tasks evaluated: {results['total']}")
if "construction" not in folder_path:
print(f"Successful tasks: {results['successful']}")
if "construction" not in folder_path:
print(f"Success rate: {results['success_rate']:.2f}")
else:
print(f"Success rate: {results['successful']:.2f}")
return results
else:
print(f"Error: {folder_path} is not a directory")
return None
def read_settings(file_path):
"""Read and parse the settings.js file to get agent profiles."""
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
# Remove `export default` and trailing commas
content = re.sub(r'export\s+default', '', content)
content = re.sub(r',\s*(?=[}\]])', '', content)
# Remove JavaScript comments
content = re.sub(r'//.*', '', content)
# Remove trailing commas (e.g., before } or ])
content = re.sub(r',\s*(?=[}\]])', '', content)
# Strip leading and trailing whitespace
content = content.strip()
json_data = json.loads(content)
profiles = json_data['profiles']
## profiles is a list of strings like "./andy.json" and "./bob.json"
agent_names = [profile.split('/')[-1].split('.')[0] for profile in profiles]
return agent_names
def update_keys_json():
"""Update the keys.json file with the specified key-value pair."""
with open("keys.example.json", 'r', encoding='utf-8') as file:
content = file.read()
data = json.loads(content)
# Update keys with environment variables
for key in data.keys():
env_value = os.getenv(key) # Fetch from environment variables
if env_value: # If the variable exists, update it
data[key] = env_value
with open("keys.json", 'w', encoding='utf-8') as file:
json.dump(data, file, indent=4)
def set_environment_variable_tmux_session(session_name, key, value):
"""Set an environment variable for the current process."""
subprocess.run(["tmux", "send-keys", "-t", session_name, f"export {key}={value}", "C-m"])
def launch_parallel_experiments(task_path,
num_exp,
exp_name,
num_agents=2,
model="gpt-4o-mini",
api="openai",
num_parallel=1,
s3=False,
bucket_name="mindcraft-experiments",
template_profile="profiles/tasks/collab_profile.json",
insecure_coding=False,
url="http://127.0.0.1:8000/v1",
max_messages=15,
num_examples=2,
no_pruning=False,
block_conversation=False,
run_in_tmux=True):
with open(task_path, 'r', encoding='utf-8') as file:
content = file.read()
json_data = json.loads(content)
task_ids = json_data.keys()
task_type = json_data[list(task_ids)[0]]["type"]
# split the task_ids into num_parallel groups
task_ids = list(task_ids)
task_ids_split = [task_ids[i::num_parallel] for i in range(num_parallel)]
if task_type == "cooking":
world_name = "Superflat"
elif task_type == "techtree":
world_name = "Forest"
elif task_type == "construction":
world_name = "Superflat"
if run_in_tmux:
servers = create_server_files("./tasks/server_data/", num_parallel, world_name=world_name)
else:
servers = [(f"./tasks/server_data_{i}/", 55916 + i) for i in range(num_parallel)]
date_time = datetime.now().strftime("%m-%d_%H-%M")
experiments_folder = f"experiments/{exp_name}_{date_time}"
exp_name = f"{exp_name}_{date_time}"
split_task_path = task_path.split("/")
if len(split_task_path) > 1:
task_path_name = split_task_path[-2]
else:
task_path_name = "tasks"
s3_path = f"{bucket_name}/{task_type}/{model}/{task_path_name}/{exp_name}"
# start wandb
os.makedirs(experiments_folder, exist_ok=True)
for i, server in enumerate(servers):
launch_server_experiment(task_path,
task_ids_split[i],
num_exp,
server,
experiments_folder,
exp_name,
s3=s3,
bucket_name=bucket_name,
template_profile=template_profile,
model=model,
api=api,
insecure_coding=insecure_coding,
num_agents=num_agents,
url=url,
task_type=task_type,
s3_path=s3_path,
max_messages=max_messages,
num_examples=num_examples,
no_pruning=no_pruning,
block_conversation=block_conversation,
run_in_tmux=run_in_tmux)
time.sleep(5)
total_num_tasks = len(task_ids)
total_num_experiments = total_num_tasks * num_exp
total_run = 0
while total_run < total_num_experiments:
results = aggregate_results([f"{experiments_folder}/{task_id}" for task_id in task_ids])
total_run = results["total"]
print(f"Total tasks run: {total_run}/{total_num_experiments}")
print(results)
results["exp_name"] = exp_name
results["template_profile"] = template_profile
results["model"] = model
results["api"] = api
results["num_agents"] = num_agents
results["task_path"] = task_path
results["task_type"] = task_type
results["max_messages"] = max_messages
results["num_examples"] = num_examples
with open(f"{experiments_folder}/results.txt", "w") as file:
file.write(str(results))
if s3:
cmd = f"aws s3 cp {experiments_folder}/results.txt s3://{s3_path}/results.txt"
print(cmd)
subprocess.run(cmd.split())
time.sleep(60)
def launch_server_experiment(task_path,
task_ids,
num_exp,
server,
experiments_folder,
exp_name="exp",
num_agents=2,
model="gpt-4o",
api="openai",
s3=False,
bucket_name="mindcraft-experiments",
template_profile="profiles/tasks/collab_profile.json",
insecure_coding=False,
url="http://127.0.0.1:8000/v1",
task_type="techtree",
s3_path="",
max_messages=15,
num_examples=2,
no_pruning=False,
block_conversation=False,
run_in_tmux=True):
"""
Launch a Minecraft server and run experiments on it.
@param task_path: Path to the task file
@param task_ids: IDs of the tasks to run
@param num_exp: Number of experiments to run
@param server: Tuple containing server path and port
@param experiments_folder: Folder to store experiment results
@param exp_name: Name of the experiment for wandb dataset
@param num_agents: Number of agents to run
@param model: Model to use for the agents
@param s3: Boolean flag to enable S3 upload
@param bucket_name: Name of the S3 bucket
"""
server_path, server_port = server
edit_file(os.path.join(server_path, "server.properties"), {"server-port": server_port})
mindserver_port = server_port - 55916 + 8080
# set up server and agents
session_name = str(server_port - 55916)
if num_agents == 1:
agent_names = [f"Andy_{session_name}"]
models = [model]
apis = [api]
elif num_agents == 2:
agent_names = [f"Andy_{session_name}", f"Jill_{session_name}"]
models = [model] * 2
apis = [api] * 2
else:
# Lets use an ordered list of 10 human names.
human_names = ["Andy", "Jill", "Bob", "Sally", "Mike", "Laura", "John", "Emma", "Tom", "Kate"]
agent_names = []
for i in range(num_agents):
name = human_names[i % len(human_names)]
agent_names.append(f"{name}_{session_name}")
models = [model] * num_agents
apis = [api] * num_agents
make_profiles(agent_names, models, apis, template_profile=template_profile, url=url)
agent_profiles = [f"./{agent}.json" for agent in agent_names]
if num_agents == 1:
agent_profiles_str = f"'[\"{agent_profiles[0]}\"]'"
elif num_agents == 2:
agent_profiles_str = f"'[\"{agent_profiles[0]}\", \"{agent_profiles[1]}\"]'"
else:
agent_profiles_str = "'["
for agent in agent_profiles[:-1]:
agent_profiles_str += f'\"{agent}\", '
agent_profiles_str += f"\"{agent_profiles[-1]}\"]'"
print(agent_profiles_str)
if run_in_tmux:
print("run in tmux is true")
launch_world(server_path, session_name="server_" + session_name, agent_names=agent_names, port=server_port)
subprocess.run(['tmux', 'new-session', '-d', '-s', session_name], check=True)
# set environment variables
if run_in_tmux:
set_environment_variable_tmux_session(session_name, "MINECRAFT_PORT", server_port)
set_environment_variable_tmux_session(session_name, "MINDSERVER_PORT", mindserver_port)
set_environment_variable_tmux_session(session_name, "PROFILES", agent_profiles_str)
set_environment_variable_tmux_session(session_name, "MAX_MESSAGES", str(max_messages))
set_environment_variable_tmux_session(session_name, "NUM_EXAMPLES", str(num_examples))
set_environment_variable_tmux_session(session_name, "LOG_ALL", "true")
if insecure_coding:
set_environment_variable_tmux_session(session_name, "INSECURE_CODING", "true")
make_ops(agent_names, session_name)
else:
agent_profiles_str = "["
for agent in agent_profiles[:-1]:
agent_profiles_str += f"\"{agent}\", "
agent_profiles_str += f"\"{agent_profiles[-1]}\"]"
# print(agent_profiles_str)
os.environ["PROFILES"] = agent_profiles_str
os.environ["MAX_MESSAGES"] = str(max_messages)
os.environ["NUM_EXAMPLES"] = str(num_examples)
os.environ["LOG_ALL"] = "true"
run_script(task_path,
task_ids,
num_exp,
experiments_folder,
agent_names,
server_path,
s3=s3,
s3_path=s3_path,
session_name=session_name,
run_in_tmux=run_in_tmux)
def run_script(task_path,
task_ids,
num_exp,
experiments_folder,
agent_names,
server_path,
s3=False,
s3_path="mindcraft-experiments",
session_name="0",
run_in_tmux=True,):
script_content = ""
for task_id in task_ids:
# Create a separate folder for each task_id
task_folder = os.path.join(experiments_folder, str(task_id))
os.makedirs(task_folder, exist_ok=True)
assert os.path.exists(task_folder), f"Directory {task_folder} was not created"
print(f"Created directory: {task_folder}")
cmd = f"node main.js --task_path \'{task_path}\' --task_id {task_id}"
cp_cmd = f"cp {agent_names[0]}.json {server_path}bots/{agent_names[0]}/profile.json"
for _ in range(num_exp):
script_content += f"{cmd}\n"
script_content += "sleep 2\n"
for agent in agent_names:
agent_file_path = os.path.join(task_folder, f"{agent}_{_}.json")
script_content += f"echo 'Saving to {agent_file_path}'\n"
cp_cmd = f"cp bots/{agent}/memory.json {agent_file_path}"
script_content += f"echo '{cp_cmd}'\n"
script_content += f"{cp_cmd}\n"
script_content += "sleep 1\n"
if s3:
s3_cmd = f"aws s3 cp {agent_file_path} s3://{s3_path}/{task_id}/{agent}_{_}.json"
script_content += f"echo 'Uploading {agent_file_path} to S3'\n"
script_content += f"echo '{s3_cmd}'\n"
script_content += f"{s3_cmd}\n"
script_content += "sleep 1\n"
script_content += f"sleep 10\n"
if s3:
for agent in agent_names:
script_content += f"aws s3 cp bots/{agent} s3://{s3_path}/bots/{agent} --recursive\n"
# Create a temporary shell script file
script_file = f"./tmp/experiment_script_{session_name}.sh"
make_script_file_and_run(script_content, script_file, session_name=session_name, run_in_tmux=run_in_tmux)
def make_ops(agent_names, session_name):
"""Make the agents operators in the Minecraft world."""
print('Making agents operators...')
cmd = f"node main.js --task_path tasks/example_tasks.json --task_id debug_{len(agent_names)}_agent_timeout"
subprocess.run(["tmux", "send-keys", "-t", session_name, cmd, "C-m"])
time.sleep(30)
subprocess.run(["tmux", "send-keys", "-t", "server_" + session_name, f"/op @a", "C-m"])
agents_op = check_agent_ops(agent_names, ops_file=f"./tasks/server_data_{session_name}/ops.json")
if agents_op:
print("Agents are operators! You are good to go :D")
else:
print("Agents are not operators! Something went wrong :(")
make_ops(agent_names, session_name)
def check_agent_ops(agent_names, ops_file="ops.json"):
with open(ops_file, "r") as f:
ops_data = json.load(f)
ops_names = [op["name"] for op in ops_data]
for agent in agent_names:
if agent not in ops_names:
return False
return True
def make_script_file_and_run(script_content,
file_name,
session_name="0",
run_in_tmux=True):
script_dir = os.path.dirname(file_name)
os.makedirs(script_dir, exist_ok=True)
assert os.path.exists(script_dir), f"Script directory {script_dir} was not created"
print(f"Created script directory: {script_dir}")
# Call the function before writing the script file
with open(file_name, 'w') as f:
f.write(script_content)
assert os.path.exists(file_name), f"Script file {file_name} was not created"
script_file_run = "bash " + file_name
# Execute the shell script using subprocess
if run_in_tmux:
subprocess.run(["tmux", "send-keys", "-t", session_name, script_file_run, "C-m"])
else:
subprocess.run(script_file_run.split())
def make_profiles(agent_names, models, apis, template_profile="profiles/collab_profile.json", url="http://127.0.0.1:8000/v1"):
assert len(agent_names) == len(models)
with open(template_profile, 'r') as f:
content = f.read()
profile = json.loads(content)
for index in range(len(agent_names)):
profile["name"] = agent_names[index]
if apis[index] == "vllm":
profile["model"] = {
"api": "vllm",
"model": models[index],
"url": url
}
elif apis[index] == "ollama":
profile["model"] = {
"api": "ollama",
"model": models[index],
"embedding": "ollama"
}
else:
profile["model"] = models[index]
with open(f"{agent_names[index]}.json", 'w') as f:
json.dump(profile, f, indent=4)
def create_server_files(source_path, num_copies, world_name="Forest"):
"""Create multiple copies of server files for parallel experiments."""
print("Creating server files...")
print(num_copies)
servers = []
for i in range(num_copies):
dest_path = f"./tasks/server_data_{i}/"
copy_server_files(source_path, dest_path)
print(dest_path)
edit_file(dest_path + "server.properties", {"server-port": 55916 + i,
"level-name": world_name})
# edit_server_properties_file(dest_path, 55916 + i)
servers.append((dest_path, 55916 + i))
return servers
def edit_file(file, content_dict):
try:
with open(file, 'r') as f:
lines = f.readlines()
with open(file, 'w') as f:
for line in lines:
for key, value in content_dict.items():
if line.startswith(key):
f.write(f"{key}={value}\n")
else:
f.write(line)
print(f"{file} updated with {content_dict}")
except Exception as e:
print(f"Error editing file {file}: {e}")
def clean_up_server_files(num_copies):
"""Delete server files from multiple locations."""
for i in range(num_copies):
dest_path = f"./tasks/server_data_{i}/"
delete_server_files(dest_path)
def copy_server_files(source_path, dest_path):
"""Copy server files to the specified location."""
try:
shutil.copytree(source_path, dest_path)
print(f"Server files copied to {dest_path}")
except Exception as e:
print(f"Error copying server files: {e}")
time.sleep(10)
same_files = check_same_files(source_path, dest_path)
if not same_files:
copy_server_files(source_path, dest_path)
print("The destination path does not contain all the same files as the source path.")
else:
print("The destination path contains all the same files as the source path.")
def check_same_files(d1, d2):
items1 = set(os.listdir(d1))
items2 = set(os.listdir(d2))
if items1 != items2:
return False
return True
def delete_server_files(dest_path):
"""Delete server files from the specified location."""
try:
shutil.rmtree(dest_path)
print(f"Server files deleted from {dest_path}")
except Exception as e:
print(f"Error deleting server files: {e}")
if not os.path.exists(dest_path):
print("Server files deleted successfully.")
# else:
# print("Error deleting server files.")
# delete_server_files(dest_path)
def launch_world(server_path="./tasks/server_data/", agent_names=["andy", "jill"], session_name="server", port=55916):
"""Launch the Minecraft world."""
print(f"Launching Minecraft world with port {port}...")
cmd = f"cd {server_path} && java -jar server.jar"
subprocess.run(['tmux', 'new-session', '-d', '-s', session_name], check=True)
subprocess.run(["tmux", "send-keys", "-t", session_name, cmd, "C-m"])
time.sleep(10)
if not test_server_running(port):
print("Server failed to start. Retrying...")
launch_world(server_path, agent_names, session_name, port)
def test_server_running(port=55916):
host = 'localhost'
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
try:
s.connect((host, port))
print("Server is running on port 55916")
return True
except ConnectionRefusedError:
print("Server is not running on port 55916")
return False
def kill_world(session_name="server"):
"""Kill the Minecraft world."""
subprocess.run(["tmux", "send-keys", "-t", session_name, "stop", "C-m"])
time.sleep(5)
subprocess.run(["tmux", "kill-session", "-t", session_name])
def detach_process(command):
"""
Launches a subprocess and detaches from it, allowing it to run independently.
Args:
command: A list of strings representing the command to execute, e.g., ['python', 'my_script.py'].
"""
try:
# Create a new process group so the child doesn't get signals intended for the parent.
# This is crucial for proper detachment.
kwargs = {}
if sys.platform == 'win32':
kwargs.update(creationflags=subprocess.CREATE_NEW_PROCESS_GROUP) # Windows specific
process = subprocess.Popen(command,
stdin=subprocess.PIPE, # Prevent stdin blocking
stdout=subprocess.PIPE, # Redirect stdout
stderr=subprocess.PIPE, # Redirect stderr
close_fds=True, # Close open file descriptors
**kwargs)
print(f"Process launched with PID: {process.pid}")
return process.pid # Return the PID of the detached process
except FileNotFoundError:
print(f"Error: Command not found: {command}")
return None
except Exception as e:
print(f"An error occurred: {e}")
return None
def main():
# edit_settings("settings.js", {"profiles": ["./andy.json", "./jill.json"], "port": 55917})
# edit_server_properties_file("../server_data/", 55917)
parser = argparse.ArgumentParser(description='Run Minecraft AI agent experiments')
parser.add_argument('--no_launch_world', action='store_true', help='Do not launch the Minecraft world')
parser.add_argument('--task_path', default="tasks/multiagent_crafting_tasks.json", help='Path to the task file')
parser.add_argument('--num_agents', default=2, type=int, help='Number of agents to run')
parser.add_argument('--num_exp', default=1, type=int, help='Number of experiments to run')
parser.add_argument('--num_parallel', default=1, type=int, help='Number of parallel servers to run')
parser.add_argument('--exp_name', default="exp", help='Name of the experiment')
parser.add_argument('--s3', action='store_true', help='Whether to upload to s3')
parser.add_argument('--bucket_name', default="mindcraft-experiments", help='Name of the s3 bucket')
parser.add_argument('--add_keys', action='store_true', help='Create the keys.json to match the environment variables')
parser.add_argument('--template_profile', default="profiles/tasks/crafting_profile.json", help='Model to use for the agents')
parser.add_argument('--model', default="gpt-4o-mini", help='Model to use for the agents')
parser.add_argument('--api', default="openai", help='API to use for the agents')
# parser.add_argument('--world_name', default="Forest", help='Name of the world')
parser.add_argument('--insecure_coding', action='store_true', help='Enable insecure coding')
parser.add_argument('--url', default="http://127.0.0.1:8000/v1")
parser.add_argument('--max_messages', default=15, type=int, help='Maximum number of messages before summarizing')
parser.add_argument('--num_examples', default=2, type=int, help='Maximum number of turns before summarizing')
parser.add_argument('--no-pruning', action='store_true', help='Disable pruning of the actions')
parser.add_argument('--block_conversation', action='store_true', help='Block conversation actions')
parser.add_argument('--check', metavar='FOLDER_PATH', help='Check and evaluate results in the specified folder without running experiments')
args = parser.parse_args()
print(args)
# If --check flag is provided, evaluate results in the specified folder and exit
if args.check:
check_folder_results(args.check)
return
if not args.no_launch_world:
try:
subprocess.run(['tmux', 'kill-server'], check=True)
except:
print("No tmux session to kill")
# delete all server files
if not args.no_launch_world:
clean_up_server_files(args.num_parallel)
if args.add_keys:
update_keys_json()
launch_parallel_experiments(args.task_path,
num_exp=args.num_exp,
exp_name=args.exp_name,
num_parallel=args.num_parallel,
s3=args.s3,
bucket_name=args.bucket_name,
template_profile=args.template_profile,
model=args.model,
api=args.api,
insecure_coding=args.insecure_coding,
num_agents=args.num_agents,
url=args.url,
max_messages=args.max_messages,
num_examples=args.num_examples,
no_pruning=args.no_pruning,
block_conversation=args.block_conversation,
run_in_tmux=not args.no_launch_world)
if __name__ == "__main__":
main()

453
tasks/example_tasks.json Normal file
View file

@ -0,0 +1,453 @@
{
"debug_single_agent": {
"goal": "Just stand at a place and don't do anything",
"initial_inventory": {},
"type": "debug"
},
"debug_multi_agent": {
"goal": "Just stand at a place and don't do anything",
"agent_count": 2,
"initial_inventory": {
"0": {
"iron_ingot": 1
},
"1": {
"iron_ingot": 1
}
},
"type": "debug"
},
"debug_1_agent_timeout": {
"goal": "Just stand at a place and don't do anything",
"agent_count": 1,
"initial_inventory": {
"iron_ingot": 1
},
"type": "debug",
"timeout": 60
},
"debug_2_agent_timeout": {
"goal": "Just stand at a place and don't do anything",
"agent_count": 2,
"initial_inventory": {
"0": {
"iron_ingot": 1
},
"1": {
"iron_ingot": 1
}
},
"type": "debug",
"timeout": 60
},
"debug_3_agent_timeout": {
"goal": "Just stand at a place and don't do anything",
"agent_count": 3,
"initial_inventory": {
"0": {
"iron_ingot": 1
},
"1": {
"iron_ingot": 1
},
"2": {
"iron_ingot": 1
}
},
"type": "debug",
"timeout": 60
},
"debug_4_agent_timeout": {
"goal": "Just stand at a place and don't do anything",
"agent_count": 4,
"initial_inventory": {
"0": {
"iron_ingot": 1
},
"1": {
"iron_ingot": 1
},
"2": {
"iron_ingot": 1
},
"3": {
"iron_ingot": 1
}
},
"type": "debug",
"timeout": 60
},
"debug_5_agent_timeout": {
"goal": "Just stand at a place and don't do anything",
"agent_count": 5,
"initial_inventory": {
"0": {
"iron_ingot": 1
},
"1": {
"iron_ingot": 1
},
"2": {
"iron_ingot": 1
},
"3": {
"iron_ingot": 1
},
"4": {
"iron_ingot": 1
}
},
"type": "debug",
"timeout": 60
},
"debug_different_goal": {
"goal": {
"0": "Reply to all messages with star emojis when prompted",
"1": "Reply to all messages with heart emojis when prompted"
},
"agent_count": 2,
"type": "debug"
},
"debug_inventory_restriction": {
"goal": "Place 1 oak plank, then place 1 stone brick",
"initial_inventory": {
"oak_planks": 20
},
"type": "debug",
"restrict_to_inventory": true
},
"construction": {
"type": "construction",
"goal": "Build a house",
"initial_inventory": {
"oak_planks": 20
}
},
"techtree_1_shears_with_2_iron_ingot": {
"goal": "Build a shear.",
"initial_inventory": {
"iron_ingot": 2
},
"target": "shears",
"number_of_target": 1,
"type": "techtree",
"timeout": 60
},
"multiagent_techtree_1_stone_pickaxe": {
"conversation": "Let's collaborate to build a stone pickaxe",
"agent_count": 2,
"initial_inventory": {
"0": {
"wooden_pickaxe": 1
},
"1": {
"wooden_axe": 1
}
},
"target": "stone_pickaxe",
"goal": "Build a stone pickaxe",
"number_of_target": 1,
"type": "techtree",
"timeout": 300
},
"construction_house": {
"type": "construction",
"goal": "Make a house with the blueprint below",
"agent_count": 1,
"blueprint": {
"materials": {
"plank": {
"id": "oak_planks",
"number": 40
},
"door": {
"id": "oak_door",
"number": 1
}
},
"levels": [
{
"level": 0,
"coordinates": [142, -60, -179],
"placement":
[
["oak_planks", "oak_planks", "oak_door", "oak_planks", "oak_planks"],
["oak_planks", "air", "air", "air", "oak_planks"],
["oak_planks", "air", "air", "air", "oak_planks"],
["oak_planks", "oak_planks", "oak_planks", "oak_planks", "oak_planks"]
]
},
{
"level": 1,
"coordinates": [142, -59, -179],
"placement":
[
["oak_planks", "oak_planks", "oak_door", "oak_planks", "oak_planks"],
["oak_planks", "air", "air", "air", "oak_planks"],
["oak_planks", "air", "air", "air", "oak_planks"],
["oak_planks", "oak_planks", "oak_planks", "oak_planks", "oak_planks"]
]
},
{
"level": 2,
"coordinates": [142, -58, -179],
"placement":
[
["oak_planks", "oak_planks", "oak_planks", "oak_planks", "oak_planks"],
["oak_planks", "oak_planks", "oak_planks", "oak_planks", "oak_planks"],
["oak_planks", "oak_planks", "oak_planks", "oak_planks", "oak_planks"],
["oak_planks", "oak_planks", "oak_planks", "oak_planks", "oak_planks"]
]
}
]
},
"initial_inventory": {
"oak_planks": 40,
"oak_door": 1
}
},
"multiagent_construction_house": {
"type": "construction",
"goal": "Make a house with the blueprint below ",
"conversation": "Let's share materials and make a house with the blueprint",
"agent_count": 2,
"blueprint": {
"materials": {
"plank": {
"id": "oak_plank",
"number": 20
},
"door": {
"id": "oak_door",
"number": 1
}
},
"levels": [
{
"level": 0,
"coordinates": [142, -60, -179],
"placement":
[
["stone", "stone", "oak_door", "stone", "stone"],
["stone", "air", "air", "air", "stone"],
["stone", "air", "air", "air", "stone"],
["stone", "stone", "stone", "stone", "stone"]
]
},
{
"level": 1,
"coordinates": [142, -59, -179],
"placement":
[
["stone", "stone", "oak_door", "stone", "stone"],
["stone", "air", "air", "air", "stone"],
["stone", "air", "air", "air", "stone"],
["stone", "stone", "stone", "stone", "stone"]
]
},
{
"level": 2,
"coordinates": [142, -58, -179],
"placement":
[
["oak_planks", "oak_planks", "oak_planks", "oak_planks", "oak_planks"],
["oak_planks", "oak_planks", "oak_planks", "oak_planks", "oak_planks"],
["oak_planks", "oak_planks", "oak_planks", "oak_planks", "oak_planks"],
["oak_planks", "oak_planks", "oak_planks", "oak_planks", "oak_planks"]
]
}
]
},
"initial_inventory": {
"0": {
"oak_planks": 20
},
"1": {
"stone": 40,
"oak_door": 1
}
}
},
"construction_large_house": {
"type": "construction",
"goal": "Make a large house with the blueprint below ",
"agent_count": 1,
"blueprint": {
"materials": {
"bricks": {
"id": "bricks",
"number": 200
},
"glass_pane": {
"id": "glass_pane",
"number": 24
},
"oak_door": {
"id": "oak_door",
"number": 2
}
},
"levels": [
{
"level": 0,
"coordinates": [162, -60, -180],
"placement":
[
["bricks", "bricks", "bricks", "bricks", "dark_oak_door", "dark_oak_door", "bricks", "bricks", "bricks", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks"]
]
},
{
"level": 1,
"coordinates": [162, -59, -180],
"placement":
[
["bricks", "glass_pane", "glass_pane", "bricks", "dark_oak_door", "dark_oak_door", "bricks", "glass_pane", "glass_pane", "bricks"],
["glass_pane", "air", "air", "air", "air", "air", "air", "air", "air", "glass_pane"],
["glass_pane", "air", "air", "air", "air", "air", "air", "air", "air", "glass_pane"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["glass_pane", "air", "air", "air", "air", "air", "air", "air", "air", "glass_pane"],
["glass_pane", "air", "air", "air", "air", "air", "air", "air", "air", "glass_pane"],
["bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks"]
]
},
{
"level": 2,
"coordinates": [162, -58, -180],
"placement":
[
["bricks", "glass_pane", "glass_pane", "bricks", "air", "air", "bricks", "glass_pane", "glass_pane", "bricks"],
["glass_pane", "air", "air", "air", "air", "air", "air", "air", "air", "glass_pane"],
["glass_pane", "air", "air", "air", "air", "air", "air", "air", "air", "glass_pane"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["glass_pane", "air", "air", "air", "air", "air", "air", "air", "air", "glass_pane"],
["glass_pane", "air", "air", "air", "air", "air", "air", "air", "air", "glass_pane"],
["bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks"]
]
},
{
"level": 3,
"coordinates": [162, -57, -180],
"placement":
[
["bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "air", "air", "air", "air", "air", "air", "air", "air", "bricks"],
["bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks", "bricks"]
]
}
]
},
"initial_inventory": {
"bricks": 200,
"dark_oak_door": 2,
"glass_pane": 24
}
},
"multiagent_techtree_1_shears": {
"goal": "Collaborate with other agents to build a shear.",
"conversation": "Let's collaborate to build a shear.",
"agent_count": 2,
"initial_inventory": {
"0": {
"iron_ingot": 1
},
"1": {
"iron_ingot": 1
}
},
"target": "shears",
"number_of_target": 1,
"type": "techtree",
"timeout": 60
},
"smelt_ingot": {
"goal": "Smelt 1 iron ingot and 1 copper ingot",
"agent_count": 1,
"initial_inventory": {
"furnace": 1,
"raw_iron": 1,
"raw_copper": 1,
"coal": 2
},
"target": "copper_ingot",
"number_of_target": 1,
"type": "techtree",
"timeout": 300
},
"multiagent_smelt_ingot": {
"conversation": "Let's collaborate to smelt ingots",
"goal": "Smelt 1 iron ingot and 1 copper ingot, use star emojis in every response",
"agent_count": 2,
"initial_inventory": {
"0": {
"furnace": 1,
"coal": 2
},
"1": {
"raw_iron": 1,
"raw_copper": 1
}
},
"target": "copper_ingot",
"number_of_target": 1,
"type": "techtree",
"timeout": 300
},
"multiagent_cooking_1": {
"conversation": "Let's collaborate to make dinner, I am going to search for 'potatoes' and make 1 'baked_potato', you on the other hand, search for cow and cook 1 beef. We have a furnace (fuel already present) nearby to help us cook, search for it over long distances to find it. Note : We only need one of each item, lets not waste time by collecting unnecessary resources.",
"agent_count": 2,
"target": {
"baked_potato":1,
"cooked_beef":1
},
"type": "cooking",
"timeout": 300,
"goal": "Make 1 baked potato, use a furnace nearby to cook which has fuel in it, let the other agent cook 1 beef"
},
"multiagent_cooking_2": {
"conversation": "Let's collaborate to make bread and cooked_mutton. We can split up to gather ingredients and use the nearby furnace that's already fueled.",
"agent_count": 2,
"target": {
"bread": 1,
"cooked_mutton": 1
},
"type": "cooking",
"timeout": 300,
"recipes": {
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"cooked_mutton": [
"Step 1: Kill a sheep and pick up 1 mutton that is dropped.",
"Step 2: Go to furnace and use it to cook the mutton."
]
},
"blocked_access_to_recipe": [],
"goal" : {
"0": "Collaborate with randy to make 1 bread and 1 cooked mutton, you can divide the tasks among yourselves.\nThere is a furnace nearby that is already fueled, there is also a smoker and crafting table nearby, use them to your advantage. Crops of all different types are available in the farm where you are standing, you can use them to your advantage as well. The farm also includes animals like cows, pigs, sheep, and chickens that you can use to your advantage.\nSince the farm is huge, make sure to search for the resources over long distances to find them.",
"1": "Collaborate with andy to make 1 bread and 1 cooked mutton, you can divide the tasks among yourselves.\nThere is a furnace nearby that is already fueled, there is also a smoker and crafting table nearby, use them to your advantage. Crops of all different types are available in the farm where you are standing, you can use them to your advantage as well. The farm also includes animals like cows, pigs, sheep, and chickens that you can use to your advantage.\nSince the farm is huge, make sure to search for the resources over long distances to find them."
}
}
}

View file

@ -0,0 +1,198 @@
import os
import shutil
import subprocess
import argparse
from pathlib import Path
from datetime import datetime
import time
import json
import tqdm
from analyse_results import extract_result, get_immediate_subdirectories, analyze_json_file
import glob
# Calculate project root directory
project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Define tasks directory
tasks_dir = os.path.dirname(os.path.abspath(__file__))
# Define paths relative to project root (for reading)
LOGS_DIR = os.path.join(project_root, "logs")
EXPERIMENTS_DIR = os.path.join(project_root, "experiments")
BOTS_DIR = os.path.join(project_root, "bots")
"""
This script is intended to run the evaluation script multiple times and then automatically aggregate the
successful logs into a subfolder for each run, based on the success marked in the experiment folder. Then
at the end it will aggregate everything into a json file, ready for training.
Example usage:
python3 ./multi_data_collection_script.py --api vllm --model meta-llama/Meta-Llama-3-8B-Instruct --num_agents 2 --num_parallel 2 \
--tasks "tasks/crafting_tasks/test_tasks/tasks_2_agents.json:3" "tasks/crafting_tasks/test_tasks/tasks_3_agents.json:3"
Meaning run those two tasks each 2 times, with num agents. The results will be in
./full_run_logs_{date}
and ./successful_run_logs_{date}
Use the successful run logs to train the next model.
"""
def extract_result_single_agent(folder_path):
folder_name = os.path.basename(folder_path)
json_files = glob.glob(os.path.join(folder_path, "*.json"))
if not json_files:
print(f"No JSON files found in {folder_name}")
return None
else:
outcome = False
for json_file in json_files:
outcome = analyze_json_file(json_file)
if outcome:
return True
return False
def identify_success_folders(download_dir, num_agents):
folders = get_immediate_subdirectories(download_dir)
if num_agents == 1:
extract_result_fn = extract_result_single_agent
else:
extract_result_fn = extract_result
total = 0
successful = 0
successful_exp_list = []
for folder_path in tqdm.tqdm(folders):
folder_name = os.path.basename(folder_path)
try:
total += 1
success = int(extract_result_fn(folder_path))
successful += success
if success:
successful_exp_list.append(folder_path)
except Exception as e:
print(f"Error processing {folder_name}: {e}")
return successful_exp_list
def run_data_collection(args):
# Set up output directories inside tasks/
timestamp_str = datetime.now().strftime('%Y-%m-%d_%H%M%S') # Add time to avoid overwrite
SUCCESSFUL_DIR = Path(os.path.join(tasks_dir, f"successful_run_logs_{timestamp_str}"))
FULL_RUN_LOGS_DIR = Path(os.path.join(tasks_dir, f"full_run_logs_{timestamp_str}"))
# Input/state dirs (relative to project root)
logs_dir_path = Path(LOGS_DIR)
experiments_dir_path = Path(EXPERIMENTS_DIR)
bots_dir_path = Path(BOTS_DIR)
logs_dir_path.mkdir(exist_ok=True)
SUCCESSFUL_DIR.mkdir(exist_ok=True)
FULL_RUN_LOGS_DIR.mkdir(exist_ok=True)
# Parse tasks and repetitions, ensuring paths are relative to project root
TASKS_TO_RUN = []
for task_spec in args.tasks:
parts = task_spec.split(':')
if len(parts) == 2:
task_path, repeats = parts[0], int(parts[1])
# Resolve task_path relative to project root
if not os.path.isabs(task_path):
task_path = os.path.join(project_root, task_path)
TASKS_TO_RUN.append((task_path, repeats))
else:
print(f"Warning: Invalid task specification '{task_spec}', expected format 'path:repeats'")
# Clear temp agent dirs from project_root/bots/
for bot_dir in bots_dir_path.glob("*"):
if bot_dir.name.startswith(("Andy_", "Jill_", "agent_")):
shutil.rmtree(bot_dir)
# Resolve eval_script path
eval_script_path = args.eval_script
if not os.path.isabs(eval_script_path):
eval_script_path = os.path.join(project_root, eval_script_path)
run_counter = 1
for task_path, repeats in TASKS_TO_RUN:
for rep in range(repeats):
run_id = f"run_{run_counter:03d}"
print(f"\n Starting {task_path} (rep {rep + 1}/{repeats}) -> {run_id}")
# Track start time to locate experiment folder
# Ensure EXPERIMENTS_DIR is treated as Path object if needed
before = set(experiments_dir_path.glob("*"))
# Run evaluation using the resolved eval_script_path
# Run from project root
subprocess.run([
"python", eval_script_path,
"--api", args.api,
"--model", args.model,
"--task_path", task_path, # task_path is already absolute or resolved
"--num_agents", str(args.num_agents),
"--num_parallel", str(args.num_parallel)
], check=True, cwd=project_root)
# Wait for experiment folder to appear in project_root/experiments/
time.sleep(20) # avoid race condition
after = set(experiments_dir_path.glob("*"))
new_experiments = list(after - before)
assert len(new_experiments) == 1, f"Expected one new experiment folder, found {len(new_experiments)}"
experiment_dir = new_experiments[0]
print(f"Found experiment folder: {experiment_dir}")
# Identify successful experiments from project_root/experiments/...
successful_exp_list = identify_success_folders(experiment_dir, args.num_agents)
# Save successful logs and results (read from project_root/bots, write to tasks/successful_...)
success_output_dir = SUCCESSFUL_DIR / run_id
success_output_dir.mkdir(parents=True, exist_ok=True)
# Identify the ones that are successful
for exp_path in successful_exp_list:
exp_name = os.path.basename(exp_path)
# For each agent, find and copy their logs for this successful experiment
for bot_dir in bots_dir_path.glob("*"):
if bot_dir.name.startswith(("Andy_", "Jill_", "agent_")):
agent_logs_dir = bot_dir / "logs"
if agent_logs_dir.exists():
# Look for the experiment directory directly under logs
exp_dir = agent_logs_dir / exp_name
if exp_dir.exists():
# Add timestamp for uniqueness
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S_%f")
dest_dir = success_output_dir / f"{bot_dir.name}_{timestamp}_{exp_name}"
shutil.copytree(exp_dir, dest_dir)
print(f"Copied successful log directory: {exp_dir} -> {dest_dir}")
# Move full logs to the full logs dir (read from project_root/bots, write to tasks/full_...)
full_logs_dir = FULL_RUN_LOGS_DIR / run_id
full_logs_dir.mkdir(parents=True, exist_ok=True)
for bot_dir in bots_dir_path.glob("*"):
if bot_dir.name.startswith(("Andy_", "Jill_", "agent_")):
# bot_dir is already the full path, no need for agent_dir
dest_dir = full_logs_dir / bot_dir.name
if bot_dir.exists():
shutil.copytree(bot_dir, dest_dir, dirs_exist_ok=True)
print(f"Copied full agent directory for {bot_dir.name} to {dest_dir}")
run_counter += 1
print("\nAll evaluations done and successful runs saved.")
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Run multiple evaluations and collect successful logs")
parser.add_argument("--eval_script", default="tasks/evaluation_script.py", help="Path to evaluation script relative to project root")
parser.add_argument("--api", default="vllm", help="API to use")
parser.add_argument("--model", default="meta-llama/Meta-Llama-3-8B-Instruct", help="Model to use")
parser.add_argument("--num_agents", type=int, default=2, help="Number of agents")
parser.add_argument("--num_parallel", type=int, default=2, help="Number of parallel runs")
parser.add_argument("--tasks", nargs="+", default=["tasks/crafting_tasks/test_tasks/tasks_2_agents.json:2"],
help="Tasks to run in format 'path:repeats'")
args = parser.parse_args()
run_data_collection(args)

View file

@ -1,24 +1,4 @@
{
"multiagent_techtree_1_stone_pickaxe": {
"conversation": "Let's collaborate to build a stone pickaxe",
"agent_count": 2,
"initial_inventory": {
"0": {
"wooden_pickaxe": 1
},
"1": {
"wooden_axe": 1
}
},
"blocked_actions": {
"0": [],
"1": []
},
"target": "stone_pickaxe",
"number_of_target": 1,
"type": "techtree",
"timeout": 20
},
"multiagent_techtree_1_shears": {
"goal": "Collaborate with other agents to build a shear.",
"conversation": "Let's collaborate to build a shear.",
@ -28,16 +8,38 @@
"iron_ingot": 1
},
"1": {
"iron_ingot": 1
"iron_ingot": 1,
"crafting_table": 1
}
},
"blocked_actions": {
"0": [],
"1": []
"0": ["!collectBlocks"],
"1": ["!collectBlocks"]
},
"target": "shears",
"number_of_target": 1,
"type": "techtree",
"timeout": 20
"timeout": 120
},
"multiagent_techtree_1_wooden_pickaxe": {
"goal": "Collaborate with other agents to build a wooden pickaxe.",
"conversation": "Let's collaborate to build a wooden pickaxe.",
"agent_count": 2,
"initial_inventory": {
"0": {
"oak_planks": 10
},
"1": {
"stick": 10
}
},
"blocked_actions": {
"0": ["!collectBlocks"],
"1": ["!collectBlocks"]
},
"target": "wooden_pickaxe",
"number_of_target": 1,
"type": "techtree",
"timeout": 120
}
}
}

58
tasks/run_task_file.py Normal file
View file

@ -0,0 +1,58 @@
# run all tasks in a given file
import os
import json
import argparse
import subprocess
import time
def run_task(task_path, task_id, profiles=None):
"""Run a single task using main.js"""
# Convert task_path to absolute path if it's relative
if not os.path.isabs(task_path):
task_path = os.path.abspath(task_path)
cmd = ["node", "main.js", "--task_path", task_path, "--task_id", task_id]
# Add profiles if provided
if profiles:
cmd.extend(["--profiles", *profiles])
print(f"Running task: {task_id}")
project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Execute the command from the project root directory
process = subprocess.run(cmd, check=True, cwd=project_root)
return process.returncode == 0
def main():
parser = argparse.ArgumentParser(description='Run all tasks in a JSON file sequentially')
parser.add_argument('--task_path', required=True, help='Path to the task file')
parser.add_argument('--profiles', nargs='+', help='List of agent profile paths')
parser.add_argument('--delay', type=int, default=2, help='Delay in seconds between tasks')
args = parser.parse_args()
# Load the task file
with open(args.task_path, 'r') as f:
tasks = json.load(f)
print(f"Found {len(tasks)} tasks in {args.task_path}")
# Run each task sequentially
successful_tasks = 0
for task_id in tasks:
success = run_task(args.task_path, task_id, args.profiles)
if success:
successful_tasks += 1
# Wait between tasks
time.sleep(args.delay)
print(f"Completed {successful_tasks}/{len(tasks)} tasks successfully")
if __name__ == "__main__":
main()

View file

@ -0,0 +1,217 @@
{
"crafting_iron_pickaxe": {
"goal": "Craft an iron pickaxe.",
"initial_inventory": {
"stone_pickaxe": 1
},
"agent_count": 1,
"target": "iron_pickaxe",
"number_of_target": 1,
"type": "techtree",
"timeout": 500
},
"crafting_stick": {
"goal": "Craft sticks.",
"initial_inventory": {},
"agent_count": 1,
"target": "stick",
"number_of_target": 4,
"type": "techtree",
"timeout": 500
},
"crafting_oak_log": {
"goal": "Get oak logs.",
"initial_inventory": {},
"agent_count": 1,
"target": "oak_log",
"number_of_target": 1,
"type": "techtree",
"timeout": 500
},
"crafting_wooden_pickaxe": {
"goal": "Craft a wooden pickaxe.",
"initial_inventory": {},
"agent_count": 1,
"target": "wooden_pickaxe",
"number_of_target": 1,
"type": "techtree",
"timeout": 500
},
"crafting_stone_pickaxe": {
"goal": "Craft a stone pickaxe.",
"initial_inventory": {},
"agent_count": 1,
"target": "stone_pickaxe",
"number_of_target": 1,
"type": "techtree",
"timeout": 500
},
"crafting_shears": {
"goal": "Craft shears.",
"initial_inventory": {
"0": {
"iron_pickaxe": 1
}
},
"agent_count": 1,
"target": "shears",
"number_of_target": 1,
"type": "techtree",
"timeout": 500
},
"crafting_redstone": {
"goal": "Get redstone.",
"initial_inventory": {
"iron_pickaxe": 1
},
"agent_count": 1,
"target": "redstone",
"number_of_target": 1,
"type": "techtree",
"timeout": 500
},
"crafting_gold_ingot": {
"goal": "Get gold ingot.",
"initial_inventory": {
"iron_pickaxe": 1
},
"agent_count": 1,
"target": "gold_ingot",
"number_of_target": 1,
"type": "techtree",
"timeout": 500
},
"crafting_copper_ingot": {
"goal": "Get copper ingot.",
"initial_inventory": {
"iron_pickaxe": 1
},
"agent_count": 1,
"target": "copper_ingot",
"number_of_target": 1,
"type": "techtree",
"timeout": 500
},
"crafting_diamond": {
"goal": "Get diamond.",
"initial_inventory": {
"iron_pickaxe": 1
},
"agent_count": 1,
"target": "diamond",
"number_of_target": 1,
"type": "techtree",
"timeout": 1000
},
"crafting_pink_wool_missing_wool": {
"goal": "Craft a pink wool.",
"initial_inventory": {
"pink_dye": 1,
"shears": 1
},
"agent_count": 1,
"target": "pink_wool",
"number_of_target": 1,
"type": "techtree",
"timeout": 500
},
"crafting_purple_wool_missing_blue_dye": {
"goal": "Craft a purple wool.",
"initial_inventory": {
"red_dye": 1,
"shears": 1
},
"agent_count": 1,
"target": "purple_wool",
"number_of_target": 1,
"type": "techtree",
"timeout": 500
},
"crafting_lodestone": {
"goal": "Craft a lodestone.",
"initial_inventory": {
"netherite_ingot": 1
},
"agent_count": 1,
"target": "lodestone",
"timeout": 500
},
"crafting_blue_dye": {
"goal": "Craft a blue dye.",
"agent_count": 1,
"target": "blue_dye",
"number_of_target": 1,
"type": "techtree",
"timeout": 500
},
"crafting_light_gray_banner": {
"goal": "Craft a light gray banner.",
"initial_inventory": {
"shears": 1,
"light_gray_dye": 7,
"oak_planks": 1
},
"agent_count": 1,
"target": "light_gray_banner",
"number_of_target": 1,
"type": "techtree",
"timeout": 500
},
"crafting_brush_missing_copper_ingot_": {
"goal": "Craft a brush.",
"initial_inventory": {
"feather": 1,
"diamond_pickaxe": 1
},
"agent_count": 1,
"target": "brush",
"number_of_target": 1,
"type": "techtree",
"timeout": 500
},
"crafting_shield_missing_planks": {
"goal": "Craft a shield.",
"initial_inventory": {
"iron_ingot": 6
},
"agent_count": 1,
"target": "shield",
"number_of_target": 1,
"type": "techtree",
"timeout": 500
},
"crafting_shield_missing_iron_ingot": {
"goal": "Craft a shield.",
"initial_inventory": {
"oak_planks": 7
},
"agent_count": 1,
"target": "shield",
"number_of_target": 1,
"type": "techtree",
"timeout": 500
},
"crafting_chest_minecart": {
"goal": "Craft a chest",
"agent_count": 1,
"initial_inventory":{
"chest": 1,
"minecart": 1
},
"target": "chest_minecart",
"number_of_target": 1,
"type": "techtree",
"timeout": 500
},
"crafting_stone_hoe": {
"goal": "Craft a stone hoe.",
"initial_inventory": {
"wooden_pickaxe": 1
},
"agent_count": 1,
"target": "stone_hoe",
"number_of_target": 1,
"type": "techtree",
"timeout": 500
}
}