НАЖМИ, чтобы запустить свой Сервер Майнкрафт + 8🎁
modМоды/Silk - Kotlin API для Minecraft
Silk - Kotlin API для Minecraft

Silk - Kotlin API для Minecraft

Silk - библиотека и API для разработки модов и серверных плагинов Minecraft на Kotlin. Она добавляет готовые инструменты для GUI инвентаря, команд, NBT, сетевого обмена, корутин, scoreboard и работы с игровыми объектами.

Оцените первым
Открыть в FateLauncher
5.5M
852

Что такое Silk

Silk - это не контентный мод с новыми блоками, мобами или измерениями, а библиотека API для разработчиков Minecraft-проектов на Kotlin. Она собирает часто нужные инструменты в одном месте и помогает писать моды, серверные плагины и общие игровые системы без большого количества повторяющегося кода.

Проект рассчитан на Fabric, Quilt и Paper. Библиотека подходит для клиентских и серверных разработок, поэтому её можно использовать как основу для модификаций Minecraft Java Edition и Kotlin-плагинов. На практике Silk особенно полезен там, где нужно связать игровые механики, интерфейсы, команды, сохранение данных и сетевое взаимодействие в одном проекте.

Если вы создаёте собственный мод или серверный плагин на Kotlin, Silk закрывает сразу несколько типичных задач. Вместо того чтобы отдельно писать обёртки для Brigadier, обработку NBT, сериализацию объектов и служебные расширения для Entity или World, можно использовать готовые модули API.

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

Silk предоставляет набор Kotlin-инструментов для разных частей Minecraft. Это не меняет игру само по себе, но заметно упрощает разработку функций, которые увидят игроки: меню инвентаря, команды, таблицы очков, синхронизацию данных и пользовательские интерфейсы.

  • API для GUI инвентаря - создание интерактивных меню и экранов на основе контейнеров Minecraft.
  • Kotlin-обёртка для Brigadier - более удобное объявление команд и аргументов без избыточного шаблонного кода.
  • Kotlin DSL для объектов Text - построение сложных текстовых сообщений, подсказок и компонентов интерфейса в более удобном стиле.
  • Утилиты для корутин и задач - инструменты для работы с асинхронными операциями и запланированными действиями.
  • Поддержка kotlinx.serialization - сериализация данных с использованием стандартного Kotlin-подхода.
  • API scoreboard - создание и настройка боковых таблиц очков, целей и отображаемых показателей.
  • Утилиты для ItemStack - вспомогательные операции с предметами, их свойствами и данными.
  • Сериализация объектов в NBT - сохранение практически любого класса в формате NBT через kotlinx.serialization.
  • NBT builder - удобное создание структур NBT без ручного конструирования каждого вложенного элемента.
  • Хранение постоянных данных - запись данных на чанки, сущности и другие игровые объекты, чтобы состояние сохранялось между загрузками мира.
  • Сетевое взаимодействие - сериализация пакетов для направлений C2S, S2C и C2C на базе kotlinx.serialization.
  • Поддержка Kotlin Compose UI - использование подхода Compose при создании пользовательских интерфейсов.
  • Расширения для игровых объектов - дополнительные функции для Entity, World и других частей Minecraft API.
  • Геометрические утилиты - готовые инструменты для работы с координатами, формами и пространственными вычислениями.

Зачем Silk нужен разработчикам

Обычный мод на Kotlin быстро обрастает техническими слоями. Нужно зарегистрировать команды, отобразить меню, сохранить данные сущности, передать пакет между клиентом и сервером, а затем ещё учесть различия платформ. Silk объединяет такие задачи в общий набор API и делает код проекта более последовательным.

Для разработчика модов это означает меньше ручной обвязки вокруг Minecraft. Для автора серверного плагина важнее другое: можно быстрее собрать интерфейс, обработать команды игроков и хранить дополнительные данные без самостоятельного проектирования каждой вспомогательной системы.

Silk также полезен для крупных проектов, где один и тот же подход используется в нескольких модулях. Например, данные предметов, сущностей и чанков можно сериализовать через знакомые Kotlin-механизмы, а сетевые сообщения оформлять тем же способом. Это упрощает поддержку кода и снижает риск ошибок при обновлении отдельных функций.

Что изменится в игре

После установки Silk игрок не получает новый контент автоматически. В мире не появятся дополнительные руды, рецепты или интерфейсы, если поверх библиотеки не установлен отдельный мод или плагин, который использует её возможности.

Изменения появляются через зависимый проект. С его помощью могут работать кастомные меню инвентаря, команды, scoreboard, синхронизация клиентских и серверных данных, новые способы хранения информации и другие механики. Поэтому Silk правильнее воспринимать как технический фундамент для Minecraft-проектов, а не как самостоятельный мод для обычного прохождения.

Это важный нюанс при установке. Если вы просто играете в готовую сборку модов, Silk может быть обязательной библиотекой для другого мода. Удалять её вручную в таком случае не стоит: зависимый проект перестанет запускаться или выдаст ошибку загрузки.

Платформы и версии

Silk нацелен на Fabric, Quilt и Paper. В актуальном описании проекта также указана поддержка клиентской и серверной установки. Страница проекта отмечает совместимость с Minecraft Java Edition 26.3, 26.2, 26.1.x и более ранними версиями вплоть до Minecraft 1.16.5, однако конкретная версия загрузчика зависит от выбранного файла и самого проекта, который подключает Silk.

Для Fabric и Quilt библиотека используется в экосистеме модов, а для Paper предназначена серверная разработка. Это разные платформы, поэтому перед установкой нужно проверить, какой вариант Silk требуется конкретному моду или плагину. Нельзя автоматически подменять Fabric-версию Paper-зависимостью или наоборот.

Текущий внутриигровой ID обёртки - silk-all. Он может понадобиться при проверке зависимостей, настройке сборки или диагностике ошибки запуска.

Установка и подключение

Silk предназначен прежде всего для разработчиков. Обычно библиотека подключается как зависимость в Gradle-проекте вместе с модом или плагином, который использует её API. Обычному игроку достаточно установить сам зависимый проект и все указанные для него библиотеки нужной версии.

Перед запуском проверьте несколько вещей:

  • совпадает ли версия Minecraft;
  • подходит ли платформа: Fabric, Quilt или Paper;
  • требуется ли клиентская, серверная или общая часть библиотеки;
  • присутствует ли зависимость с ID silk-all;
  • используется ли версия Kotlin и набор библиотек, ожидаемый конкретным проектом.

Если игра сообщает об отсутствующей зависимости Silk, это обычно означает, что библиотека не установлена, лежит не в той папке или не соответствует версии Minecraft. На сервере отдельно проверьте, не требуется ли установить её только на серверной стороне.

Совместимость и практические нюансы

Silk не заменяет Fabric API, Quilt API или Paper API. Это дополнительный слой инструментов для Kotlin-разработки, поэтому конкретный мод может требовать несколько библиотек одновременно. Список зависимостей всегда определяется проектом, который использует Silk.

Не стоит ожидать, что библиотека автоматически ускорит Minecraft или повысит FPS. Она не является оптимизационным модом и не меняет рендеринг сама по себе. Производительность зависит от кода зависимого мода, количества задач, сетевых пакетов, операций с NBT и логики интерфейсов.

При работе с корутинами и сетевыми функциями важно учитывать основной поток игры. Неправильно организованная асинхронная задача может привести к ошибкам при обращении к миру или сущностям. Silk даёт инструменты, но ответственность за корректное выполнение игрового кода остаётся на разработчике.

Хранение данных на чанках и сущностях тоже требует аккуратности. Большие объёмы постоянных данных увеличивают размер сохранения мира, а частая запись может создавать лишнюю нагрузку. Для серверных проектов лучше заранее определить, какие значения действительно нужно сохранять между перезапусками.

Лицензия

Актуальные версии Silk распространяются по лицензии GPL-3.0. Старые версии ниже 1.5.1, когда проект ещё назывался FabrikMC, выпускались по лицензии Apache-2.0. При использовании библиотеки в собственном моде или плагине учитывайте условия лицензии именно той версии, которую подключаете.

Скриншоты Silk - Kotlin API для Minecraft

Kotlin is modern
20 апреля 2022 г.
Kotlin is multiplatform
20 апреля 2022 г.
Kotlin is versatile
20 апреля 2022 г.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

Нажмите на диапазон, чтобы выбрать точную версию.

Платформы

Поддерживаемые окружения

Клиент и сервер

Зависимости

Детали

Лицензия:
Опубликован:5 лет назад
Обновлён:3 недели назад

Версии мода Silk - Kotlin API для Minecraft

Доступно 52 версий. Сначала показаны самые популярные и самые свежие.

16 из 51 версий
Самые популярные
R
1.10.71.10.7
1.21–1.21.1
R
1.11.5Silk 1.11.5
1.21.11
R
1.10.11.10.1
1.20–1.20.1
R
1.11.4Silk 1.11.4
1.21.9–1.21.10
R
1.11.11.11.1
1.21.5
R
1.11.01.11.0
1.21.2–1.21.4
Самые Новые
R
1.12.1Silk 1.12.1
26.3
R
1.12.0Silk 1.12.0
26.2
R
1.11.8Silk 1.11.8
26.1.x
R
1.11.7Silk 1.11.7
26.1.x
R
1.11.6Silk 1.11.6
26.1.x
R
1.11.3Silk 1.11.3
1.21.8
B
1.11.2Silk 1.11.2
1.21.6–1.21.8
R
1.10.61.10.6
1.20.5–1.20.6
R
1.10.51.10.5
1.20.5–1.20.6
A
1.10.41.10.4
1.20.5–1.20.6
Главная