mirror of
https://github.com/kolbytn/mindcraft.git
synced 2025-07-14 03:55:17 +02:00
commit
5fe256d10a
13 changed files with 116 additions and 804 deletions
|
@ -10,15 +10,15 @@ Do not connect this bot to public servers with coding enabled. This project allo
|
|||
|
||||
## Requirements
|
||||
|
||||
- [Minecraft Java Edition](https://www.minecraft.net/en-us/store/minecraft-java-bedrock-edition-pc) (up to v1.21.1, recommend v1.20.4)
|
||||
- [Node.js Installed](https://nodejs.org/) (at least v14)
|
||||
- [Minecraft Java Edition](https://www.minecraft.net/en-us/store/minecraft-java-bedrock-edition-pc) (up to v1.21.1, recommend v1.21.1)
|
||||
- [Node.js Installed](https://nodejs.org/) (at least v18)
|
||||
- One of these: [OpenAI API Key](https://openai.com/blog/openai-api) | [Gemini API Key](https://aistudio.google.com/app/apikey) | [Anthropic API Key](https://docs.anthropic.com/claude/docs/getting-access-to-claude) | [Replicate API Key](https://replicate.com/) | [Hugging Face API Key](https://huggingface.co/) | [Groq API Key](https://console.groq.com/keys) | [Ollama Installed](https://ollama.com/download). | [Mistral API Key](https://docs.mistral.ai/getting-started/models/models_overview/) | [Qwen API Key [Intl.]](https://www.alibabacloud.com/help/en/model-studio/developer-reference/get-api-key)/[[cn]](https://help.aliyun.com/zh/model-studio/getting-started/first-api-call-to-qwen?) | [Novita AI API Key](https://novita.ai/settings?utm_source=github_mindcraft&utm_medium=github_readme&utm_campaign=link#key-management) |
|
||||
|
||||
## Install and Run
|
||||
|
||||
1. Make sure you have the requirements above.
|
||||
|
||||
2. Clone or download this repository (big green button)
|
||||
2. Clone or download this repository (big green button) 'git clone https://github.com/kolbytn/mindcraft.git'
|
||||
|
||||
3. Rename `keys.example.json` to `keys.json` and fill in your API keys (you only need one). The desired model is set in `andy.json` or other profiles. For other models refer to the table below.
|
||||
|
||||
|
@ -28,7 +28,7 @@ Do not connect this bot to public servers with coding enabled. This project allo
|
|||
|
||||
6. Run `node main.js` from the installed directory
|
||||
|
||||
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.
|
||||
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. To run tasks please refer to [Minecollab Instructions](minecollab.md#installation)
|
||||
|
||||
## Tasks
|
||||
|
||||
|
|
|
@ -41,6 +41,8 @@ You can view the crafting task in action [here](https://www.youtube.com/shorts/V
|
|||
|
||||
## Installation
|
||||
|
||||
You **DO NOT** need Linux to run this, you can run on Windows with the --no-launch-world flag and by installing git bash.
|
||||
|
||||
Please follow the installation docs in the README to install mindcraft. You can create a docker image using the Dockerfile.
|
||||
|
||||
If you don't own Minecraft you can run a limited version solely for offline games using these instructions:
|
||||
|
|
|
@ -426,7 +426,6 @@ export class Task {
|
|||
}
|
||||
|
||||
async initBotTask() {
|
||||
await this.setAgentGoal();
|
||||
await this.agent.bot.chat(`/clear ${this.name}`);
|
||||
console.log(`Cleared ${this.name}'s inventory.`);
|
||||
|
||||
|
@ -511,7 +510,7 @@ export class Task {
|
|||
this.agent.killAll();
|
||||
}
|
||||
}
|
||||
|
||||
await new Promise((resolve) => setTimeout(resolve, 500));
|
||||
if (this.data.conversation && this.agent.count_id === 0) {
|
||||
let other_name = this.available_agents.filter(n => n !== this.name)[0];
|
||||
let waitCount = 0;
|
||||
|
@ -526,8 +525,7 @@ export class Task {
|
|||
}
|
||||
await executeCommand(this.agent, `!startConversation("${other_name}", "${this.data.conversation}")`);
|
||||
}
|
||||
|
||||
|
||||
await this.setAgentGoal();
|
||||
}
|
||||
|
||||
async teleportBots() {
|
||||
|
|
|
@ -38,6 +38,7 @@ export class VLLM {
|
|||
try {
|
||||
console.log('Awaiting openai api response...')
|
||||
// console.log('Messages:', messages);
|
||||
// todo set max_tokens, temperature, top_p, etc. in pack
|
||||
let completion = await this.vllm.chat.completions.create(pack);
|
||||
if (completion.choices[0].finish_reason == 'length')
|
||||
throw new Error('Context length exceeded');
|
||||
|
|
|
@ -2351,7 +2351,7 @@
|
|||
}
|
||||
},
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
"erringnine"
|
||||
]
|
||||
}
|
||||
}
|
38
tasks/cooking_tasks/human_ai/1_agent_1_human.json
Normal file
38
tasks/cooking_tasks/human_ai/1_agent_1_human.json
Normal file
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"multiagent_cooking_bread_golden_apple": {
|
||||
"type": "cooking",
|
||||
"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: Get 1 apple and 8 gold ingots from your inventory or other bots.",
|
||||
"Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple."
|
||||
]
|
||||
},
|
||||
"agent_count": 1,
|
||||
"human_count": 1,
|
||||
"target": {
|
||||
"bread": 1,
|
||||
"golden_apple": 1
|
||||
},
|
||||
"initial_inventory": {
|
||||
"0": {
|
||||
"gold_ingot": 4,
|
||||
"apple": 1
|
||||
},
|
||||
"1": {
|
||||
"gold_ingot": 4
|
||||
}
|
||||
},
|
||||
"goal": {
|
||||
"0": "Collaborate with other agents around you to make bread, golden_apple, The recipes are as follows:\nRecipe for bread:\n['Step 1: Go to the farm and collect 3 wheat.', 'Step 2: Go to the crafting table and use the wheat to craft bread.']\nRecipe for golden_apple:\n['Step 1: Get 1 apple and 8 gold ingots from your inventory or other bots.', 'Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.']\n",
|
||||
"1": "Collaborate with other agents around you to make bread, golden_apple, The recipes are as follows:\nRecipe for bread:\n['Step 1: Go to the farm and collect 3 wheat.', 'Step 2: Go to the crafting table and use the wheat to craft bread.']\nRecipe for golden_apple:\n['Step 1: Get 1 apple and 8 gold ingots from your inventory or other bots.', 'Step 2: Go to the crafting table and surround the apple with the gold ingots to create a golden apple.']\n"
|
||||
},
|
||||
"conversation": "Let's collaborate to make bread, golden_apple, ",
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
]
|
||||
}
|
||||
}
|
31
tasks/crafting_tasks/human_ai/1_agent_1_human.json
Normal file
31
tasks/crafting_tasks/human_ai/1_agent_1_human.json
Normal file
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"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": 1,
|
||||
"target": "pink_wool",
|
||||
"number_of_target": 1,
|
||||
"type": "techtree",
|
||||
"max_depth": 1,
|
||||
"depth": 0,
|
||||
"timeout": 300,
|
||||
"blocked_actions": {
|
||||
"0": [],
|
||||
"1": []
|
||||
},
|
||||
"missing_items": [],
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"requires_ctable": false
|
||||
}
|
||||
}
|
|
@ -1,793 +0,0 @@
|
|||
{
|
||||
"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": 1,
|
||||
"target": "pink_wool",
|
||||
"number_of_target": 1,
|
||||
"type": "techtree",
|
||||
"max_depth": 1,
|
||||
"depth": 0,
|
||||
"timeout": 300,
|
||||
"blocked_actions": {
|
||||
"0": [],
|
||||
"1": []
|
||||
},
|
||||
"missing_items": [],
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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": 1,
|
||||
"target": "lime_wool",
|
||||
"number_of_target": 1,
|
||||
"type": "techtree",
|
||||
"max_depth": 2,
|
||||
"depth": 0,
|
||||
"timeout": 300,
|
||||
"blocked_actions": {
|
||||
"0": [],
|
||||
"1": [
|
||||
"!getCraftingPlan"
|
||||
]
|
||||
},
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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": 1,
|
||||
"target": "purple_banner",
|
||||
"number_of_target": 1,
|
||||
"type": "techtree",
|
||||
"max_depth": 3,
|
||||
"depth": 0,
|
||||
"timeout": 300,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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": 1,
|
||||
"target": "bookshelf",
|
||||
"number_of_target": 1,
|
||||
"type": "techtree",
|
||||
"max_depth": 1,
|
||||
"depth": 0,
|
||||
"timeout": 300,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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": 1,
|
||||
"target": "compass",
|
||||
"number_of_target": 1,
|
||||
"type": "techtree",
|
||||
"max_depth": 2,
|
||||
"depth": 0,
|
||||
"timeout": 300,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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": 1,
|
||||
"target": "fishing_rod",
|
||||
"number_of_target": 1,
|
||||
"type": "techtree",
|
||||
"max_depth": 3,
|
||||
"depth": 1,
|
||||
"timeout": 300,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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": 1,
|
||||
"target": "cake",
|
||||
"number_of_target": 1,
|
||||
"type": "techtree",
|
||||
"max_depth": 3,
|
||||
"depth": 0,
|
||||
"timeout": 300,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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": 1,
|
||||
"target": "golden_carrot",
|
||||
"number_of_target": 1,
|
||||
"type": "techtree",
|
||||
"max_depth": 2,
|
||||
"depth": 0,
|
||||
"timeout": 300,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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": 1,
|
||||
"target": "map",
|
||||
"number_of_target": 1,
|
||||
"type": "techtree",
|
||||
"max_depth": 1,
|
||||
"depth": 0,
|
||||
"timeout": 300,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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": 1,
|
||||
"target": "magenta_wool",
|
||||
"number_of_target": 1,
|
||||
"type": "techtree",
|
||||
"max_depth": 3,
|
||||
"depth": 2,
|
||||
"timeout": 300,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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": 1,
|
||||
"target": "lectern",
|
||||
"number_of_target": 1,
|
||||
"type": "techtree",
|
||||
"max_depth": 2,
|
||||
"depth": 2,
|
||||
"timeout": 300,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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": 1,
|
||||
"target": "clock",
|
||||
"number_of_target": 1,
|
||||
"type": "techtree",
|
||||
"max_depth": 2,
|
||||
"depth": 0,
|
||||
"timeout": 300,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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": 1,
|
||||
"target": "jukebox",
|
||||
"number_of_target": 1,
|
||||
"type": "techtree",
|
||||
"max_depth": 1,
|
||||
"depth": 1,
|
||||
"timeout": 300,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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": 1,
|
||||
"target": "light_gray_wool",
|
||||
"number_of_target": 1,
|
||||
"type": "techtree",
|
||||
"max_depth": 2,
|
||||
"depth": 1,
|
||||
"timeout": 300,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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": 1,
|
||||
"target": "activator_rail",
|
||||
"number_of_target": 1,
|
||||
"type": "techtree",
|
||||
"max_depth": 3,
|
||||
"depth": 2,
|
||||
"timeout": 300,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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": 1,
|
||||
"target": "campfire",
|
||||
"number_of_target": 1,
|
||||
"type": "techtree",
|
||||
"max_depth": 3,
|
||||
"depth": 2,
|
||||
"timeout": 300,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"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": 1,
|
||||
"target": "crossbow",
|
||||
"number_of_target": 1,
|
||||
"type": "techtree",
|
||||
"max_depth": 3,
|
||||
"depth": 2,
|
||||
"timeout": 300,
|
||||
"human_count": 1,
|
||||
"usernames": [
|
||||
"izzycw"
|
||||
],
|
||||
"blocked_actions": {
|
||||
"0": [],
|
||||
"1": []
|
||||
},
|
||||
"missing_items": [],
|
||||
"requires_ctable": true
|
||||
}
|
||||
}
|
|
@ -179,7 +179,8 @@ def check_folder_results(folder_path):
|
|||
|
||||
# Print summary
|
||||
print("\n=== Evaluation Results ===")
|
||||
print(f"Total tasks evaluated: {results['total']}")
|
||||
print("\nEvaluating Tasks!")
|
||||
print(f"Results so far: {results['total']}")
|
||||
|
||||
if "construction" not in folder_path:
|
||||
print(f"Successful tasks: {results['successful']}")
|
||||
|
@ -517,7 +518,7 @@ def make_ops(agent_names, session_name):
|
|||
if agents_op:
|
||||
print("Agents are operators! You are good to go :D")
|
||||
else:
|
||||
print("Agents are not operators! Something went wrong :(")
|
||||
print("Agents are not operators! We will need to try making them operators again!")
|
||||
make_ops(agent_names, session_name)
|
||||
|
||||
def check_agent_ops(agent_names, ops_file="ops.json"):
|
||||
|
|
34
tasks/running_human_ai.md
Normal file
34
tasks/running_human_ai.md
Normal file
|
@ -0,0 +1,34 @@
|
|||
# Human AI Instructions
|
||||
|
||||
## Finishing Installation
|
||||
|
||||
Install the conda environment for running the experiments by executing this in your command line:
|
||||
|
||||
```
|
||||
conda create --name mindcraft python=3.11
|
||||
conda activate mindcraft
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
## Setting up the world
|
||||
|
||||
Setting up the world! Make sure your world has cheats enabled! You can do this on creation of your Minecraft world in the Minecraft console, or you can type ```/op @a``` in the chat or in the console of the world launched from the jar file.
|
||||
|
||||
## Construction
|
||||
Press F3 to view the coordinates of the game. And pull up the file tasks/construction_tasks/church_blueprint.pdf
|
||||
Run
|
||||
```
|
||||
python tasks/evaluation_script.py --no_launch_world --template_profile profiles/tasks/construction_profile.json --task_path tasks/construction_tasks/human_ai/1_agent_1_human.json --usernames YOUR_USERNAME --num_agents 1 --insecure_coding
|
||||
```
|
||||
|
||||
## Crafting
|
||||
|
||||
```
|
||||
python tasks/evaluation_script.py --no_launch_world --template_profile profiles/tasks/crafting_profile.json --task_path tasks/crafting_tasks/human_ai/1_agent_1_human.json --usernames YOUR_USERNAME --num_agents 1
|
||||
```
|
||||
|
||||
## Cooking
|
||||
|
||||
```
|
||||
python tasks/evaluation_script.py --no_launch_world --template_profile profiles/tasks/cooking_profile.json --task_path tasks/cooking_tasks/human_ai/1_agent_1_human.json --usernames YOUR_USERNAME --num_agents 1
|
||||
```
|
Loading…
Add table
Reference in a new issue