Skip to content

rolloerro/minecraft-protobuf-fabric-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

🧩 Minecraft Protobuf Fabric Demo

Интеграция Minecraft (Fabric) + Protocol Buffers + внешние сервисы

Java Fabric Gradle Protobuf

Демонстрационный мод на Fabric + Java + Protocol Buffers, показывающий, как можно сериализовать игровые данные, передавать их через бинарный протокол и интегрировать игровой мир Minecraft с внешними backend-сервисами.

Хороший пример гибридной архитектуры:
Minecraft → Protobuf → Backend → AI / логирование / телеметрия / аналитика


🚀 Возможности

  • 🔄 Сериализация данных игрока (координаты, состояние, инвентарь) через Protocol Buffers
  • 📡 Отправка бинарных сообщений на внешний сервер
  • 🧰 Пример Fabric-мода для интеграции с backend-микросервисами
  • 🛠 База для расширения: AI-анализ действий, телеметрия, сбор игрового поведения
  • 🎓 Отличный демонстрационный проект для портфолио

🧰 Стек технологий

Компонент Используется
☕ Java 17+
🧵 Fabric Loader мод-загрузка
🧶 Fabric API Minecraft моддинг
🛰 Protocol Buffers (protobuf) бинарная сериализация
🛠 Gradle сборка
🌐 (опционально) Node.js / Rust backend обработка данных

📁 Структура проекта

minecraft-protobuf-fabric-demo/
│
├── src/                     # Исходники мода (Java)
├── primitives/              # .proto схемы Protobuf
├── build.gradle             # Сборка + зависимости
├── gradle/                  # Gradle wrapper
├── README.md                # Документация
└── .gitignore

🧪 Пример использования Protobuf

Схема сообщения (пример):

message PlayerState {
  string username = 1;
  float x = 2;
  float y = 3;
  float z = 4;
  int32 health = 5;
}

Сериализация:

PlayerState state = PlayerState.newBuilder()
        .setUsername(player.getName().getString())
        .setX(player.getX())
        .setY(player.getY())
        .setZ(player.getZ())
        .setHealth((int) player.getHealth())
        .build();

byte[] data = state.toByteArray();

⚙️ Как запустить локально (dev)

1) Установи зависимости

  • JDK 17
  • Fabric MC Development Environment

2) Склонируй репо

git clone https://github.com/rolloerro/minecraft-protobuf-fabric-demo
cd minecraft-protobuf-fabric-demo

3) Собери и запусти Minecraft с модом

./gradlew clean build
./gradlew runClient

4) Проверь логи — там появятся protobuf-сообщения.


🎯 План расширений (Roadmap)

  • Пример backend-сервиса, принимающего protobuf (Node.js / Rust / Python)
  • WebSocket/HTTP-интеграция с внешним сервером
  • Сериализация событий мира
  • Отправка данных по интервалу (tick-tracker)
  • AI-анализ игровой телеметрии
  • CI/CD + автосборки артефактов

📊 GitHub-статистика (опционально)

GitHub stats


📝 Лицензия

MIT License


📬 Контакты / автор

Владимир Копылов
Digital WM Core
Telegram: https://t.me/MSL72Rph

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages