Spaces:
Running
Running
File size: 16,263 Bytes
8e39a34 3a7703d 8e39a34 3a7703d 0f57f68 8e39a34 3a7703d 0f57f68 8e39a34 3a7703d 8e39a34 3a7703d 0f57f68 8e39a34 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 |
{
"cubix_docs": [
"https://cubixworld.net/autumn-update-2024",
"https://cubixworld.net/articles/avtokraft-shakhterskogo-lazera-i-almaznogo-bura"
],
"mob_mappings": {
"зомби": "EntityZombie",
"скелет": "EntitySkeleton",
"паук": "EntitySpider",
"крипер": "EntityCreeper",
"свинья": "EntityPig",
"корова": "EntityCow",
"овца": "EntitySheep",
"курица": "EntityChicken",
"волк": "EntityWolf",
"кошка": "EntityOcelot",
"лошадь": "EntityHorse",
"мобы": "Mobs"
},
"command_specs": {
"follow_me": {
"description": "Команда для следования за игроком или перемещения к игроку",
"required_fields": ["type", "message", "repeat"],
"examples": [
{
"input": "Следуй за мной",
"output": {"type": "follow_me", "message": "Хорошо, я буду следовать за вами", "repeat": true}
},
{
"input": "Приди ко мне",
"output": {"type": "follow_me", "message": "Сейчас подойду к вам", "repeat": false}
},
{
"input": "Следуй за мной и убивай встречных зомби",
"output": {"type": "follow_me", "message": "Хорошо, я буду следовать за вами и убивать встречных зомби", "repeat": true, "secondary_action": {"type": "kill_mob", "mob": "EntityZombie", "repeat": true}}
},
{
"input": "Иди за мной и добывай камень",
"output": {"type": "follow_me", "message": "Хорошо, я буду следовать за вами и добывать камень", "repeat": true, "secondary_action": {"type": "break_block", "blocks": ["minecraft:stone"], "repeat": true}}
}
]
},
"message": {
"description": "Обычное сообщение в чате или запоминание обращения",
"required_fields": ["type", "message"],
"examples": [
{
"input": "Привет, как дела?",
"output": {"type": "message", "message": "Привет! У меня всё хорошо, готов помочь вам в игре!"}
},
{
"input": "Называй меня лучший друг",
"output": {"type": "message", "message": "Хорошо, буду называть вас лучший друг!"}
}
]
},
"kill_mob": {
"description": "Команда для убийства мобов или животных. Поле mob должно содержать entity ID моба из списка доступных.",
"required_fields": ["type", "message", "repeat", "mob"],
"examples": [
{
"input": "Убей зомби",
"output": {"type": "kill_mob", "message": "Хорошо, я иду убивать зомби", "repeat": false, "mob": "EntityZombie"}
},
{
"input": "Убивай мобов",
"output": {"type": "kill_mob", "message": "Хорошо, я буду убивать мобов", "repeat": true, "mob": "Mobs"}
},
{
"input": "Убивай скелетов",
"output": {"type": "kill_mob", "message": "Хорошо, я буду убивать скелетов", "repeat": true, "mob": "EntitySkeleton"}
},
{
"input": "Убей всех свиней",
"output": {"type": "kill_mob", "message": "Хорошо, я убью всех свиней", "repeat": false, "mob": "EntityPig"}
}
]
},
"break_tree": {
"description": "Команда для ломания деревьев",
"required_fields": ["type", "message", "repeat", "quantityTrees", "quantity", "blocks"],
"examples": [
{
"input": "Сломай дерево",
"output": {"type": "break_tree", "message": "Хорошо, я сломаю дерево", "repeat": false, "quantityTrees": 1, "quantity": 0, "blocks": []}
},
{
"input": "Добудь дерева",
"output": {"type": "break_tree", "message": "Хорошо, я буду добывать дерево", "repeat": true, "quantityTrees": 0, "quantity": 0, "blocks": []}
},
{
"input": "Добудь 10 деревьев",
"output": {"type": "break_tree", "message": "Хорошо, я добуду 10 деревьев", "repeat": false, "quantityTrees": 10, "quantity": 0, "blocks": []}
},
{
"input": "Добудь 50 блоков дуба",
"output": {"type": "break_tree", "message": "Хорошо, я добуду 50 блоков дуба", "repeat": false, "quantityTrees": 0, "quantity": 50, "blocks": ["minecraft:oak_log"]}
}
]
},
"harvest_crops": {
"description": "Команда для сбора урожая",
"required_fields": ["type", "message", "repeat", "harvest"],
"examples": [
{
"input": "Собери урожай",
"output": {"type": "harvest_crops", "message": "Хорошо, я соберу урожай", "repeat": false, "harvest": []}
},
{
"input": "Собирай пшеницу",
"output": {"type": "harvest_crops", "message": "Хорошо, я буду собирать пшеницу", "repeat": true, "harvest": ["пшеница"]}
},
{
"input": "Собирай картофель и морковь",
"output": {"type": "harvest_crops", "message": "Хорошо, я буду собирать картофель и морковь", "repeat": true, "harvest": ["картофель", "морковь"]}
}
]
},
"break_block": {
"description": "Команда для ломания блоков",
"required_fields": ["type", "message", "repeat", "blocks", "quantity"],
"examples": [
{
"input": "Сломай землю",
"output": {"type": "break_block", "message": "Хорошо, я сломаю землю", "repeat": false, "blocks": ["minecraft:dirt"], "quantity": 1, "location": ""}
},
{
"input": "Сломай 20 земли",
"output": {"type": "break_block", "message": "Хорошо, я сломаю 20 блоков земли", "repeat": false, "quantity": 20, "blocks": ["minecraft:dirt"], "location": ""}
},
{
"input": "Копай камень",
"output": {"type": "break_block", "message": "Хорошо, я буду копать камень", "repeat": true, "blocks": ["minecraft:stone"], "quantity": 0, "location": ""}
},
{
"input": "Копай вниз",
"output": {"type": "break_block", "message": "Хорошо, я буду копать вниз", "repeat": true, "blocks": [], "quantity": 0, "location": "вниз"}
},
{
"input": "Добудь руду на севере",
"output": {"type": "break_block", "message": "Хорошо, я добуду руду на севере", "repeat": false, "blocks": [], "quantity": 0, "location": "на севере"}
}
]
},
"cycle_break_block": {
"description": "Команда для цикличного ломания блока на координатах игрока",
"required_fields": ["type", "message"],
"examples": [
{
"input": "Копай вот здесь постоянно",
"output": {"type": "cycle_break_block", "message": "Буду копать на этом месте"}
},
{
"input": "Ломай блок под собой",
"output": {"type": "cycle_break_block", "message": "Буду ломать блок в этом месте"}
}
]
},
"fishing": {
"description": "Команда для ловли рыбы",
"required_fields": ["type", "repeat", "quantity", "message"],
"examples": [
{
"input": "Слови рыбу",
"output": {"type": "fishing", "repeat": false, "quantity": 1, "message": "Хорошо, я поймаю рыбу"}
},
{
"input": "Лови рыбу",
"output": {"type": "fishing", "repeat": true, "quantity": 0, "message": "Хорошо, я буду ловить рыбу"}
},
{
"input": "Слови 10 рыб",
"output": {"type": "fishing", "repeat": false, "quantity": 10, "message": "Хорошо, я поймаю 10 рыб"}
}
]
},
"shear_wool": {
"description": "Команда для стрижки овец",
"required_fields": ["type", "repeat", "quantity", "message"],
"examples": [
{
"input": "Постриги овец",
"output": {"type": "shear_wool", "repeat": false, "quantity": 0, "message": "Хорошо, я постригу овец"}
},
{
"input": "Стриги овец",
"output": {"type": "shear_wool", "repeat": true, "quantity": 0, "message": "Хорошо, я буду стричь овец"}
},
{
"input": "Постриги 10 овец",
"output": {"type": "shear_wool", "repeat": false, "quantity": 10, "message": "Хорошо, я постригу 10 овец"}
}
]
},
"lighting": {
"description": "Команда для освещения или размещения источников света",
"required_fields": ["type", "message", "quantity"],
"examples": [
{
"input": "Подсвети мне",
"output": {"type": "lighting", "message": "Хорошо, я буду освещать путь", "quantity": 0}
},
{
"input": "Освещай",
"output": {"type": "lighting", "message": "Включаю освещение", "quantity": 0}
},
{
"input": "Поставь 10 факелов",
"output": {"type": "lighting", "message": "Хорошо, я поставлю 10 факелов", "quantity": 10}
},
{
"input": "Расставь факелы вокруг дома",
"output": {"type": "lighting", "message": "Хорошо, я расставлю факелы вокруг дома", "quantity": 0}
}
]
},
"stop": {
"description": "Команда для остановки действий бота",
"required_fields": ["type", "message"],
"examples": [
{
"input": "Остановись",
"output": {"type": "stop", "message": "Я остановился"}
},
{
"input": "Прекрати убивать зомби",
"output": {"type": "stop", "message": "Я прекратил убивать зомби"}
},
{
"input": "Хватит копать",
"output": {"type": "stop", "message": "Я прекратил копать"}
}
]
}
},
"system_prompt_template": {
"intro": "You are an AI assistant for the Minecraft game server called CubixWorld. Your task is to understand player requests in Russian and convert them into structured JSON commands with high precision and reliability.",
"role_section": [
"Analyze player messages carefully to determine their exact intent and required actions",
"Convert natural language requests into precise JSON commands following the exact specifications",
"Ensure all command parameters are validated and properly formatted",
"Respond with valid JSON only, maintaining strict schema compliance",
"When uncertain about intent, prefer message responses over incorrect commands",
"For conversational messages like greetings, thanks, or jokes, respond in a friendly and engaging manner"
],
"command_detection_guidelines": [
"Carefully analyze verb forms and temporal indicators to determine command type:",
"- Continuous actions: \"продолжай\", \"постоянно\", verbs with \"-ай\" suffix",
"- One-time commands: \"сделай\", \"сломай\", \"приди\"",
"For compound actions, identify primary and secondary components clearly",
"Extract and validate all numeric quantities before including in commands",
"Process spatial and directional information with high precision",
"For conversational inputs (greetings, thanks, jokes, etc.), use the 'message' type response"
],
"contextual_information_processing": [
"Prioritize exact matches from documentation over general knowledge",
"Cross-reference game mechanics with server-specific features",
"Use precise entity IDs as specified in mob mappings",
"When documentation provides specific command formats, follow them exactly",
"Consider server limitations and restrictions when generating commands"
],
"response_format": [
"Ensure all JSON responses are properly nested and formatted",
"Include all required fields as specified in command schemas",
"Validate numeric values are within acceptable ranges",
"Use consistent casing and formatting for entity IDs and commands",
"Include relevant metadata and context in responses when available"
],
"conversation_handling": [
"For greetings (привет, здравствуй, etc.), respond with a friendly greeting and offer to help",
"For questions about your status (как дела, как ты, etc.), respond positively and ask how you can assist",
"For expressions of gratitude (спасибо, благодарю, etc.), acknowledge with a friendly response",
"For requests for jokes or fun content, respond with a Minecraft-themed joke or fun fact",
"Always maintain a helpful, friendly tone appropriate for a game assistant",
"Support both Russian and Ukrainian language inputs with appropriate responses"
]
}
} |