

ModernConfig
Активный0.0
Установок
0
Последнее обновление
2 месяца назад
Версии
1.21.6 — 1.21.8
Клиент
Fabric
Библиотеки
ModernConfig

🚀 Введение
ModernConfig представляет собой продвинутую библиотеку конфигурации для модов Minecraft на базе Fabric, которая кардинально упрощает управление настройками. Забудьте о сложных консольных командах — теперь все параметры можно настраивать через интуитивно понятный интерфейс с плавными анимациями и современным дизайном.
🎯 Основные возможности
📋 Типы настроек
- Переключатели: Булевы значения (включено/выключено)
- Текстовые поля: Ввод строковых значений
- Ползунки: Числовые параметры с настраиваемым диапазоном и точностью
- Списки: Динамические перечни строк с возможностью добавления и удаления элементов
- Выбор цвета: Палитра цветов с поддержкой HSV и HEX-формата
- Выпадающие списки: Меню выбора из нескольких вариантов
- Категории: Логическая группировка настроек с вложенной структурой
💻 Для разработчиков
- Простой API: Удобный конструктор для быстрой интеграции
- Обработчики изменений: Возможность отслеживания изменений конфигурации
- Глобальный экран настроек: Единая точка доступа ко всем настройкам модов
- Горячая клавиша: Открытие настроек по правому Shift (настраивается)
- Оптимизация: Анимации не влияют на производительность игры
📷 Примеры интерфейса
Основное меню
Главный интерфейс с анимациями и современным дизайном
Варианты конфигурации
Разнообразие типов ввода: переключатели, ползунки, текстовые поля и другие
Выбор цвета
Инструмент выбора цвета HSV с предпросмотром в реальном времени
📥 Установка
Для игроков
- Установите Fabric Loader и Fabric API
- Скачайте ModernConfig
- Поместите файл .jar в папку mods
- Запустите Minecraft с профилем Fabric
Для разработчиков
Добавьте ModernConfig в ваш build.gradle:
repositories {
maven {
name = 'QWERTZ-Repo'
url = 'https://repo.qwertz.app/'
}
}
dependencies {
modImplementation 'app.qwertz:modernconfig:1.0'
}
🎮 Использование
Открытие настроек
- В игре: Нажмите правый Shift (клавишу можно переназначить)
Навигация
- Главный экран: Отображает все моды, использующие ModernConfig
- Выбор мода: Открывает настройки конкретного мода
- Кнопка назад: Возврат к предыдущему экрану
💻 Руководство для разработчиков
Быстрый старт
Вот как просто создать конфигурацию:
public class YourMod implements ClientModInitializer {
@Override
public void onInitializeClient() {
ModernConfig config = ConfigBuilder.create("YourMod", "Настройки вашего мода")
.toggle("enabled", "Включить мод", true)
.slider("power", "Уровень мощности", 50, 0, 100, 1)
.text("username", "Имя игрока", "Стив")
.color("theme_color", "Цвет темы", 0x4A90E2)
.list("whitelist", "Белый список игроков", "Имя игрока")
.dropdown("difficulty", "Сложность", Arrays.asList("Легко", "Нормально", "Сложно"), "Нормально")
.build();
}
}
Использование категорий
Для организации множества настроек используйте категории:
ModernConfig config = ConfigBuilder.create("AdvancedMod", "Расширенные настройки")
.category("general", "Основные настройки", "Главные параметры конфигурации", category -> category
.toggle("enabled", "Включить мод", true)
.slider("update_interval", "Интервал обновления", 20, 1, 100, 1)
.text("server_url", "URL сервера", "https://api.example.com")
)
.category("ui", "Пользовательский интерфейс", "Настройка интерфейса", category -> category
.color("primary_color", "Основной цвет", 0x4A90E2)
.color("secondary_color", "Вторичный цвет", 0x2ECC71)
.dropdown("theme", "Тема", Arrays.asList("Тёмная", "Светлая", "Авто"), "Тёмная")
.slider("ui_scale", "Масштаб интерфейса", 1.0f, 0.5f, 2.0f, 0.1f)
)
.build();
Доступ к значениям конфигурации
// Получение параметров конфигурации по пути категории
ConfigOption<?> enabledOption = config.getOption("general", "enabled");
ConfigOption<?> updateOption = config.getOption("general", "update_interval");
// Получение фактических значений
boolean isEnabled = (Boolean) enabledOption.getValue();
int updateInterval = (Integer) updateOption.getValue();
🛠️ Типы параметров конфигурации
Переключатель (Boolean)
.toggle("toggle_id", "Отображаемое имя", значение_по_умолчанию)
- Назначение: Включение/выключение функций
- Примеры: Флаги функций, опции включения/отключения
Текстовое поле (String)
.text("text_id", "Отображаемое имя", "значение_по_умолчанию")
.text("text_id", "Отображаемое имя", "значение_по_умолчанию", максимальная_длина)
- Назначение: Поля для ввода текста
- Примеры: Имена игроков, URL серверов, пути к файлам, API ключи
Ползунок (Numeric)
.slider("slider_id", "Отображаемое имя", значение_по_умолчанию, минимальное_значение, максимальное_значение, шаг)
- Назначение: Числовой ввод с ограничениями диапазона
- Примеры: Проценты, масштабы, интервалы, счётчики, задержки
Выбор цвета (Integer)
.color("color_option_id", "Отображаемое имя", 0xRRGGBB)
- Назначение: Выбор цвета с помощью палитры
- Примеры: Цвета тем, выделение, настройка интерфейса
Список (String Array)
.list("list_id", "Отображаемое имя", "Отображаемое имя элемента")
- Назначение: Списки текстовых записей
- Примеры: Белые списки игроков, заблокированные предметы, ключевые слова
Выпадающий список (String Selection)
.dropdown("dropdown_id", "Отображаемое имя", Arrays.asList("Опция1", "Опция2"), "По умолчанию")
- Назначение: Выбор одной опции из списка
- Примеры: Уровни сложности, темы, режимы рендеринга, выбор языка
Категории (Organization)
.category("category_id", "Имя категории", "Описание", category -> category
// Добавьте параметры здесь
)
- Назначение: Организация связанных параметров
- Примеры: Логическая группировка связанных настроек