Скачать DGLAB x Minecraft — Minecraft Моды — MetaMods

DGLAB x Minecraft

Активный

Установок

11

Последнее обновление

8 месяцев назад

Версии

1.20.1 — 1.21.1
Клиент и сервер
Forge
Neoforge
Декорации
Библиотеки

DGLAB x Minecraft - интеграция с устройствами стимуляции

Этот мод создает мост между Minecraft и устройствами DG-LAB, позволяя игровым событиям напрямую влиять на интенсивность стимуляции.

Как начать работу

Для использования мода потребуется установить его вместе с KubeJS в папку модов. После запуска игры вы сможете писать скрипты на JavaScript, которые будут определять, как различные игровые ситуации влияют на параметры стимуляции.

Примеры скриптов

Вот как можно настроить реакцию на смерть персонажа:

// Полный список событий доступен на https://wiki.latvian.dev/books/kubejs/page/list-of-events
EntityEvents.death('player', event => {
    // Ищем активное подключение по UUID игрока
    const connection = DgLabManager.getByUUID(event.getEntity().getUuid())

    // Если подключение существует
    if (connection != null) {
        // Получаем текущие значения интенсивности
        connection.getStrength().getACurrentStrength()
        connection.getStrength().getBCurrentStrength()
        connection.getStrength().getAMaxStrength()
        connection.getStrength().getBMaxStrength()

        // Добавляем 10 единиц интенсивности на канал A
        connection.addStrength(ChannelType.A, 10)
    }
})

А этот скрипт реагирует на получение урона:

EntityEvents.afterHurt('player', event => {
    let connection = DgLabManager.getByUUID(event.getEntity().getUuid())

    if (connection != null) {
        let damage = event.getDamage()
        let strength = 0;
        if (damage >= 20) {
            strength = 100
        } else {
            strength = Math.ceil((damage / 20)  100)
        }
        // Создаем пульсирующий эффект с постепенным нарастанием и спадом
        let pulse = DgLabPulseUtil.pulse(
            500, 0,
            500, 0,
            500, 0,
            500, 0,
            500, Math.ceil(strength / 3),
            500, Math.ceil(strength / 3),
            500, Math.ceil(strength / 3),
            500, Math.ceil(strength / 3),
            500, Math.ceil((strength / 3)  2),
            500, Math.ceil((strength / 3)  2),
            500, Math.ceil((strength / 3)  2),
            500, Math.ceil((strength / 3)  2),
            500, Math.ceil(strength),
            500, Math.ceil(strength),
            500, Math.ceil(strength),
            500, Math.ceil(strength),
            500, Math.ceil((strength / 3)  2),
            500, Math.ceil((strength / 3)  2),
            500, Math.ceil((strength / 3)  2),
            500, Math.ceil((strength / 3) * 2),
            500, Math.ceil(strength / 3),
            500, Math.ceil(strength / 3),
            500, Math.ceil(strength / 3),
            500, Math.ceil(strength / 3),
            500, 0,
            500, 0,
            500, 0,
            500, 0
        )

        // Применяем пульсацию к каналу A
        connection.addPulse('a', pulse)
    }
})

Первый пример добавляет интенсивность при смерти игрока, а второй создает волнообразный эффект при получении урона, где сила воздействия зависит от величины полученного ущерба.

Подключение устройства

В игре используйте команду /dglab connect для получения ссылки с QR-кодом. Отсканируйте его в приложении DG-LAB для установки соединения с игрой.

Настройки

Файл конфигурации находится по пути .minecraft/config/dglab.yml и создается при первом запуске игры.

address (String) - IP-адрес для WebSocket соединения. Если телефон и компьютер находятся в одной локальной сети, укажите IP-адрес компьютера вида 192.168.xx.xx

port (int) - порт для создания WebSocket сервера, к которому подключается приложение DG-LAB

Участники проекта
DancingSnow0517

DancingSnow0517

Разработчик

雪舞天使

雪舞天使

Создан: 13 июл 2024

ID: 26186