Простая библиотека для Minecraft, созданная для упрощения разработки модов, но доступная для всех! Поддерживаемые загрузчики: Fabric, Spigot и Paper.
Использование в проектах! 👍️
Для добавления OtterLib в проект укажите зависимость в файле build.gradle
:
repositories {
maven {
name "oth3rMavenSnapshots"
url "https://maven.oth3r.one/snapshots"
}
}
Подключение для разных загрузчиков, где ${project.otterlib_version}
— текущая версия OtterLib (например, 0.2.0.0+1.21.6
, 0.2.0.0+1.20-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"
Подробная информация о библиотеке и актуальных версиях доступна в Maven-репозитории.
Возможности
💬 Простой конструктор чата
Пример использования:
player.sendMessage(new CTxT("Hello").color(Color.BLUE).bold(true).strikethrough(true)
.append(new CTxT("World!!!!!!!!!").rainbow(new Rainbow(true)).underline(true).italic(true)).b());
Демонстрация в игре:
📜 Пользовательская система языков
OtterLib предоставляет инструменты для серверной локализации на всех поддерживаемых загрузчиках, включая возможность переопределения локалей игроками.
🗃️ Надежное сохранение и загрузка файлов
Интерфейс для простого создания конфигурационных файлов с поддержкой сохранения, загрузки и обновления версий.
Обновление устаревшей записи в JSON:
@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()
)));
Главный экран конфигурации в игре:
Редактор файлов в игре: