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, а скорее набор удобных инструментов для тех, кто пишет под Майнкрафт. Если ты разрабатываешь моды или плагины и хочешь меньше возиться с рутиной - присмотрись к этой библиотеке. Она реально упрощает жизнь.

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