▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/OtterLib
OtterLib

OtterLib

OtterLib - библиотека модов для Minecraft, которая упрощает разработку: чат-билдер, кастомные языки, конфиги и экраны. Подходит для Fabric, Spigot и Paper.

Оцените первым
136.8K
63

OtterLib - это библиотека модов для Майнкрафт, которую автор сделал в первую очередь для себя, чтобы упростить разработку своих проектов. Но, по факту, она доступна всем. Если ты когда-нибудь писал моды или плагины и мучился с чатом, конфигами или локализацией - OtterLib может стать твоей палочкой-выручалочкой.

Сейчас библиотека поддерживает три загрузчика: Fabric, Spigot и Paper. То есть её можно использовать как на клиенте, так и на сервере. Удобно, когда один и тот же код работает везде.

Что внутри

Чат-билдер

С OtterLib отправлять цветные сообщения в чат - одно удовольствие. Вместо кучи строк кода ты пишешь что-то вроде:

player.sendMessage(new CTxT("Привет").color(Color.BLUE).bold(true).strikethrough(true)
    .append(new CTxT("Мир!!!!!!!!!").✨(new ✨(true)).underline(true).italic(true)).b());

И получаешь красивое форматирование без головной боли.

Кастомный язык локализации

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

Работа с конфигами

OtterLib добавляет интерфейс для создания конфигурационных файлов. Сохранение, загрузка, обновление версий - всё из коробки. Пример обновления старого поля:

@Override
public void update(JsonElement jsonElement) {
    JsonObject file = jsonElement.getAsJsonObject();
    if (file.get("version").getAsDouble() == 1.0) {
        this.version = 1.1;
        this.test = file.get("test-bool").getAsBoolean();
    }
}

Кастомный экран настроек

Можно создать свой конфиг-скрин с кнопками для редактирования файлов, ссылками на соцсети или открытием других экранов. Пример создания:

client.setScreen(new ConfigScreen(client.currentScreen, Text.of("test"),
    new CustomImage(Identifier.of(FabricTest.MOD_ID, "textures/gui/banner.png"),240, 60),
    List.of(
            SimpleButton.Templates.fileEditor(new CTxT("Test File"), FabricTest.testFile, new CustomImage(Identifier.of(FabricTest.MOD_ID, "button/server_button"),246,26)).build(),
            SimpleButton.Templates.fileEditor(new CTxT("Test File No Image"), FabricTest.testFile).build(),
            SimpleButton.Templates.wiki(new CTxT("Help")).openLink("https://oth3r.one").size(30,30).build(),
            SimpleButton.Templates.wiki(new CTxT("Help")).openLink("https://oth3r.one").size(30,30).build(),
            SimpleButton.Templates.warning(new CTxT("Help")).openLink("https://oth3r.one").size(150,15).hideText(false).build()
    ),
    List.of(
            new SimpleButton.Builder(new CTxT("Donate"))
                    .miniIcon(new CustomImage(Identifier.of(Assets.ID, "icon/donate"),15,15)).build(),
            SimpleButton.Templates.donate(new CTxT("Donate")).openLink(URI.create("https://ko-fi.com/oth3r")).build(),
            SimpleButton.Templates.done(new CTxT("Done")).build(),
            SimpleButton.Templates.wiki(new CTxT("Wiki")).openLink("https://oth3r.one").build()
    )));

Как подключить к своему проекту

Добавь репозиторий в build.gradle:

repositories {
    maven {
        name "oth3rMavenSnapshots"
        url "https://maven.oth3r.one/snapshots"
    }
}

И укажи зависимость для нужного загрузчика (вместо ${project.otterlib_version} подставь актуальную версию, например 0.2.0.0+1.21.6):

// fabric
modImplementation "one.oth3r:otterlib:${project.otterlib_version}-fabric"
// spigot
implementation "one.oth3r:otterlib:${project.otterlib_version}-spigot"
// paper
implementation "one.oth3r:otterlib:${project.otterlib_version}-paper"

Итог

OtterLib - это не монстр вроде Fabric API, а скорее набор удобных инструментов для тех, кто пишет под Майнкрафт. Если ты разрабатываешь моды или плагины и хочешь меньше возиться с рутиной - присмотрись к этой библиотеке. Она реально упрощает жизнь.

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

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

Minecraft: Java Edition

26.1.x1.21.x1.20.x

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

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

Зависимости

Ссылки


Создатели

Детали

Лицензия:
Опубликован:1 год назад
Обновлён:4 недели назад
Главная