跳到正文

DGLAB Integration

作者:雪舞天使

A mod connected Minecraft with DG-LAB

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

Minecraft-DG-LAB

A Mod to connect minecraft with DgLab

Usage

  1. Download this mod and kubejs, put them to mods folder, start the game.

  2. write kubejs scripts to control how the strength change

    this is example script

    // More event see https://wiki.latvian.dev/books/kubejs/page/list-of-events
    EntityEvents.death('player', event => {
        // use player uuid to find exist connection
        const connection = DgLabManager.getByUUID(event.getEntity().getUuid())
    
        // If this is not null, it means that the player's dglab has already been connected to the server
        if (connection != null) {
            // get the player current strength
            connection.getStrength().getACurrentStrength()
            connection.getStrength().getBCurrentStrength()
            connection.getStrength().getAMaxStrength()
            connection.getStrength().getBMaxStrength()
    
            // Add 10 strength to channel A
            connection.addStrength(ChannelType.A, 10)
        }
    })
    
    EntityEvents.afterHurt('player', event => {
        // use player uuid to find exist connection
        let connection = DgLabManager.getByUUID(event.getEntity().getUuid())
    
        // If this is not null, it means that the player's dglab has already been connected to the server
        if (connection != null) {
            let damage = event.getDamage()
            let strength = 0;
            if (damage >= 20) {
                strength = 100
            } else {
                strength = Math.ceil((damage / 20) * 100)
            }
            // use DgLabPulseUtil.pulse(int...) to convent pulse data
            // the method parameter is frequency and strength alternation, Each segment contains 25ms of data
            // The frequency ranges from 10-1000 and the strength ranges from 0-100
            // ex. DgLabPulseUtil.pulse(500, 10, 500, 50) 
            // These are two small segments, 500 frequency, 10 strength and 500 frequency, 50 strength
            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
            )
    
            // addPulse methon to add your pulse to channel A
            connection.addPulse('a', pulse)
        }
    })
    

    the example script run when player death, that means when player dead, will add 10 strength to channel A.

    And after the player receives damage, the maximum strength will be calculated based on the damage received, generating a gradually increasing and decreasing waveform that occurs in channel A.

  3. in game use command /dglab connect, you will get a link with QR code, and scan it in app, will connect to the game.

Configuration

you can see the config file in .minecraft/config/dglab.yml, when you first start game will generate this file.

  • address (String)
    • A String to set the ws address, if your computer and your phone installed DG-LAB in same LAN, can set it to 192.168.xx.xx that your computer ip address
  • port (int)
    • the port to create ws server, and DG-LAB app will connect it.

常见问题

DGLAB Integration 支持哪些 Minecraft 版本?

DGLAB Integration 支持 Minecraft Java 版 1.20.1–1.21.1,共 3 个版本,可用的加载器:Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。

DGLAB Integration 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

雪舞天使 的其他作品

查看全部 →