Скачать GameQuery — Minecraft Моды — MetaMods
GameQuery

GameQuery

Активный

Установок

0

Последнее обновление

3 месяца назад

Версии

1.21.6
Клиент
Fabric
Библиотеки
Утилиты

GameQuery - Мод для запросов к Minecraft

GameQuery - это Fabric-мод для Minecraft 1.21.6, который открывает локальный интерфейс запросов на порту 25566, позволяя внешним скриптам и приложениям получать данные из игры в реальном времени или управлять определёнными игровыми действиями. Это идеальное решение для ИИ-агентов, ботов, автоматизированных скриптов или интеграции с пользовательскими инструментами.

🛠️ Установка

  1. Установите Fabric Loader для Minecraft 1.21.6
  2. Установите Fabric API
  3. Поместите файл GameQuery JAR в папку .minecraft/mods
  4. Запустите игру
  5. Сервер запросов автоматически запустится на localhost:25566

📡 Протокол запросов

Запросы отправляются на localhost:25566 в формате JSON строк (по одному JSON объекту на строку). Ответы возвращаются в том же формате.

Пример запроса:

{ "type": "inventory" }

Пример ответа:

{ "inventory": { "slots": [...], "selected": 0 } }

📋 Доступные запросы

Инвентарь

Получение содержимого инвентаря игрока.

{ "type": "inventory" }

Позиция

Получение текущей позиции и поворота игрока.

{ "type": "position" }

Блоки

Получение 3D массива блоков вокруг игрока.

{ "type": "blocks", "range": 5 }

Сущности

Получение данных о ближайших сущностях.

{ "type": "entities", "range": 10 }

Информация о мире

Получение общей информации о мире (измерение, время и т.д.).

{ "type": "world_info" }

Отправка сообщения в чат

Отправка сообщения в игровой чат.

{ "type": "send_chat", "message": "Привет, мир!" }

Поворот

Поворот обзора игрока.

{
  "type": "rotate",
  "yaw": 90.0,
  "pitch": 0.0
}

Наведение на сущность

Поворот игрока для наведения на сущность с определённым UUID.

{ "type": "point_to_entity", "uuid": "2e290bd5-81f5-4166-bc25-806818f1d958" }

Наведение на координаты

Поворот игрока для наведения на определённые координаты.

{ "type": "point_to_xyz", "x": 42, "y": 69, "z": -42.2 }

Действия с предметами

  • drop_item - Выброс предмета из инвентаря
  • select_slot - Выбор слота горячей панели
  • hotbar - Получение предметов на горячей панели

Взаимодействие с окружением

  • left_click - Левый клик
  • right_click - Правый клик
  • open_container - Открытие контейнера
  • attack - Атака
  • shoot_bow - Стрельба из лука
  • use_door - Использование двери
  • use_bed - Использование кровати
  • leave_bed - Выход из кровати

🐍 Пример Python клиента

import socket
import json
from typing import Any, Dict, Optional

class GameQueryClient:
    def init(self, host="localhost", port=25566):
        self.host = host
        self.port = port

    def send_query(self, query: Dict[str, Any]) -> Optional[Dict[str, Any]]:
        """Отправка запроса к клиенту Minecraft и получение ответа."""
        try:
            with socket.create_connection((self.host, self.port), timeout=5) as sock:
                query_json = json.dumps(query) + "\n"
                sock.sendall(query_json.encode('utf-8'))

                with sock.makefile('r', encoding='utf-8') as f:
                    response_line = f.readline()
                    return json.loads(response_line.strip())

        except socket.timeout:
            print(f"❌ Таймаут подключения к {self.host}:{self.port}")
            return None
        except ConnectionRefusedError:
            print(f"❌ Подключение отклонено к {self.host}:{self.port}")
            print("   Убедитесь, что Minecraft запущен с загруженным модом GameQuery")
            return None
        except Exception as e:
            print(f"❌ Ошибка: {e}")
            return None

# Пример использования:
if name == "main":
    client = GameQueryClient()
    response = client.send_query({"type": "position"})
    print(response)

⚠️ Предупреждение безопасности

Этот мод предоставляет внутренние данные игры через открытый TCP-порт. Запускайте этот мод только в доверенной однопользовательской среде или локальной сети. Не открывайте порт для доступа из интернета.

Участники проекта
YeeticusFinch

YeeticusFinch

Разработчик

Создан: 20 июл 2025

ID: 257791