Перейти к содержимому

Brainless Lib

AI Library для Better than Adventure

BTA (Babric)
Загрузчики
BTA (Babric)
Скачиваний на Modrinth
153
Подписчиков на Modrinth
0
версий
5
Обновлён
28 мая 202628 мая
Опубликован
в 2026

Коротко о моде

Работает на BTA (Babric)
Ставится только на сервер; игрокам ставить не нужно
Последняя версия — 1.3.1 от 28 мая 2026
Лицензия CC0-1.0 — бесплатно
Где нужен
В игрене нуженНа сервереобязателен

Ставится только на сервер; игрокам ставить не нужно

Версии игрыВерсии игры не указаны
Описание переведено автоматическиПоказать оригинал (EN)

Brainless Library

Игровой AI-фреймворк и утилиты, WIP!

Кстати

Начиналось как эксперимент с кодом, может, им и закончится.

Предупреждение:

Он не имеет ничего общего с генеративным ИИ или сложными нейросетями.

Пример AI жителя

AI ai = AI.create(brain -> {
    brain.inputs()
        .add("hunger",  0.0)
        .add("fatigue", 0.0)
        .add("danger",  0.0)
        .add("work",    0.0);

    brain.layer("desires", layer -> {
        layer.mix("desire_eat")
            .add("hunger", 1.0).sub("danger", 0.7).sigmoid(6);
        layer.mix("desire_sleep")
            .add("fatigue", 1.0).sub("danger", 0.9).sigmoid(6);
        layer.mix("desire_flee")
            .add("danger", 1.0).sigmoid(8);
        layer.mix("desire_work")
            .add("work", 1.0).sub("hunger", 0.5).sub("fatigue", 0.4).sigmoid(5);
    });
});

JobQueue queue = ai.queue(JobQueue.Mode.HIGHEST_WINS, 0.25, 3);
queue.register("Eat",   ai.getBrain().getNode("desire_eat"),   () -> System.out.println("Villager eats"));
queue.register("Sleep", ai.getBrain().getNode("desire_sleep"), () -> System.out.println("Villager sleeps"), () -> System.out.println("Sleep interrupted"));
queue.register("Flee",  ai.getBrain().getNode("desire_flee"),  () -> System.out.println("Villager flees!"), () -> System.out.println("Flee interrupted"));
queue.register("Work",  ai.getBrain().getNode("desire_work"),  () -> System.out.println("Villager works"));

// Each game tick:
ai.update(in -> in
    .set("hunger",  0.8)
    .set("fatigue", 0.3)
    .set("danger",  0.0)
    .set("work",    0.5));

Режимы очереди

РежимПоведение
HIGHEST_WINSСамое насущное желание всегда первым
FIFO_TIEREDСортировка на высокий/средний/низкий уровни, FIFO внутри каждого
WEIGHTED_RANDOMВыше желание = выше шанс, но не гарантированно

Очередь заранее рассчитывает следующие N задач. Если суммарная дельта желания превышает порог, она отбрасывается и перестраивается.

Операции связей

Встроенные: add, sub, mul, div, max, min.
Пользовательские:

layer.mix("desire_eat").op("hunger", (a, b) -> a + b * 1.5, 0.8);

Частые вопросы

Как установить Brainless Lib?

Установите BTA (Babric) под свою версию Minecraft, скачайте Brainless Lib под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Нужен ли Brainless Lib на сервере?

Ставится только на сервер; игрокам ставить не нужно

Лицензия и источник
Creative Commons Zero v1.0 Universalможно свободно использовать и распространять с указанием автора
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее