HTTP Block
HTTP Block добавляет два блока с питанием от Redstone, которые связывают Minecraft с HTTP-сервисами. Отправляйте HTTP POST-запросы из схем на Redstone и получайте HTTP-события в виде импульсов Redstone.
- Загрузчики
- Fabric
- Скачиваний на Modrinth
- 119
- Подписчиков на Modrinth
- 2
- версии
- 3
- Обновлён
- 25 июня 202625 июн.
- Опубликован
- в 2026
Коротко о моде
Нужен и в игре, и на сервере
HTTP Block
HTTP Block добавляет два настраиваемых редстоун-блока, которые позволяют Minecraft обмениваться данными с внешними HTTP-сервисами. HTTP Sender может отправлять JSON POST-запросы при подаче сигнала редстоуна, а HTTP Receiver непрерывно опрашивает HTTP-эндпоинт и выдаёт импульс редстоуна всякий раз, когда обнаруживает новое событие. Это позволяет легко обмениваться данными между Minecraft и любым приложением, способным отправлять или принимать HTTP-запросы, независимо от используемого языка программирования или фреймворка.
- HTTP Sender — отправляет HTTP
POST-запрос при появлении нарастающего фронта редстоуна. - HTTP Receiver — опрашивает HTTP-эндпоинт и выдаёт короткий импульс редстоуна всякий раз, когда обнаруживает новое событие.
HTTP Sender
Нажмите ПКМ по блоку, чтобы настроить его.
URL
HTTP-эндпоинт, который будет получать запрос. Пример:
http://localhost:8000/eventPayload
Тело JSON в сыром виде, которое будет отправлено вместе с запросом. Пример:
{ "message": "Hello" }Поведение
- Отправляет HTTP
POST-запрос только когда редстоун меняет состояние с OFF на ON. - Не отправляет запросы повторно, пока питание подаётся непрерывно.
- Использует
Content-Type: application/json. - Запросы выполняются асинхронно и не блокируют игру.
HTTP Receiver
Нажмите ПКМ по блоку, чтобы настроить его.
URL
Эндпоинт для опроса событий. Пример:
http://localhost:8000/eventПримечание: Эндпоинт должен возвращать JSON, соответствующий формату события, описанному ниже. Receiver ожидает именно такую структуру для корректного обнаружения новых событий.
Последнее сообщение
Отображает сообщение из последнего полученного события.
Поведение
- Периодически опрашивает настроенный эндпоинт.
- Сравнивает
hashполученного события с последним полученным.- Выдаёт импульс редстоуна только при изменении хэша.
- Повторяющиеся события не вызывают новый импульс.
- Сила импульса всегда равна 15.
- Длительность импульса настраивается.
Формат события
Receiver ожидает, что эндпоинт вернёт JSON в следующем формате:
{ "timestamp": 1750412345, "message": "Hello", "hash": "6a8f6c5d..." }
Поле Описание timestampUnix-время события. messageТекст, отображаемый в интерфейсе receiver. hashУникальный идентификатор события. Новый хэш вызывает импульс. Для обнаружения новых событий используется только
hash. Простой пример на Python показан ниже.Пример ретранслятора (FastAPI)
HTTP Receiver ожидает эндпоинт, возвращающий события в формате, показанном выше. Ниже приведена минимальная реализация ретранслятора на FastAPI, удовлетворяющая требуемому API.
from fastapi import FastAPI from pydantic import BaseModel import hashlib import time import uvicorn
app = FastAPI()
latest_event = { "timestamp": 0, "message": "", "hash": "", }
class EventIn(BaseModel): message: str
@app.post("/send_event") async def create_event(data: EventIn): global latest_event message = str(data.message) timestamp = int(time.time()) event_hash = hashlib.sha256(f"{timestamp}:{message}".encode()).hexdigest() latest_event = { "timestamp": timestamp, "message": message, "hash": event_hash, } return {"success": True}
@app.get("/get_event") async def get_event(): return latest_event
if name == "main": uvicorn.run(app, host="0.0.0.0", port=9000)
Установите необходимые пакеты:
```bash
pip install fastapi uvicornЗапустите ретранслятор:
python relay.pyЗатем настройте свои блоки:
- HTTP Sender URL:
http://localhost:9000/send_event - HTTP Receiver URL:
http://localhost:9000/get_event
Команды
/http pollrate <ticks>Задаёт, как часто receiver'ы опрашивают свой настроенный URL.
/http pulselength <ticks>Задаёт длительность импульсов receiver'а.
/http statusПоказывает текущую конфигурацию и количество зарегистрированных sender'ов/receiver'ов.
/http reloadПерезагружает конфигурацию с диска.
Частые вопросы
Как установить HTTP Block?
Установите Fabric под свою версию Minecraft, скачайте HTTP Block под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть HTTP Block?
У HTTP Block есть сборки для Minecraft 26.1.2–26.2.
Нужен ли HTTP Block на сервере?
Нужен и в игре, и на сервере