BOX++

首先先下载油猴,记住是红色的,可以安装到浏览器的

然后再脚本页面输入:

// ==UserScript==
// @name         box3plus
// @version      0.1.5.220805
// @description  重写Alan_Best的box3++,保留部分功能,涵盖爬取皮肤,第1/3人称视角转换等……持续更新中
// @author       _async_function_
// @match        https://box3.codemao.cn/p/*
// @match        https://box3.fun/p/*
// @icon         https://static.box3.codemao.cn/img/QmUX51Fo1NTRP5H4cQa4UMcTCP7ZhyDwLvQsKM2zbStdMJ_520_216_cover.avif
// @grant        none
// @require      https://cdn.jsdelivr.net/npm/lil-gui@0.16
// @license      GPL
// @namespace    https://greasyfork.org/zh-CN/users/942818-async-function
// ==/UserScript==

(function () {
    var box3plus = {
        flying: false,
        saveblocks: [],
    }
    function a() {
        try {
            var box3CoreElement = document.querySelector('#react-container');
            var reactNodeName = Object.keys(box3CoreElement).filter((v) =>
                v.includes('reactContain')
            )[0];
            var core =
                box3CoreElement[reactNodeName].updateQueue.baseState.element.props.children
                    .props.children.props;
            window.core = core;
            document.func = document.querySelector('.desktop')._reactRootContainer._internalRoot.current.updateQueue.baseState.element.props.children.props.children.props.state;
            return true;
        } catch (e) {
            console.warn(e)
            return undefined;
        };
    };
    var interval = setInterval(async () => {
        if (a()) {
            clearInterval(interval);
            a();
            console.log('box3plus加载完毕');
            var con = confirm(`
        box3plus已加载完成,您好,请认真阅读以下条款:
        1.box3plus有权采集您的公开用户信息,包括用户名,boxId等
        2.box3plus为您无偿提供的有关服务(包括但不限于飞行,获取皮肤等),在您使用box3plus提供的服务时所造成的一切后果,均需您自己承担
        单击确定将视作您同意box3plus服务条款,box3plus将自动为您进入地图并提供box3plus的所有功能;
        单击取消将不会为您提供任何box3plus的服务,您仍然可以正常进入地图
      `);
            if (!con) return;
            console.log('正在进入地图');
            core.start();
            var doNotShield = {
                width: 180,
                height: 180,
                '未开发': () => {
                    console.log('点击-未开发')
                    confirm('开发中,敬请期待');
                },
                '调试中': () => {
                    console.log('点击-调试中')
                    confirm('功能正在调试,暂时无法使用,敬请谅解');
                },
            };
            var map = {
                '大小': (() => {
                    confirm('地图尺寸为:' + document.func.box3.state.voxel.shape);
                }),
            };
            var player = {
                '皮肤': () => {
                    console.log('点击-皮肤')
                    core.state.brpc.skin.api
                        .getAll()
                        .then(
                            (a) => (core.state.box3.state.secret.availableSkin = a.map((o) => o.name))
                        );
                    confirm('获取成功')
                },
                '禁言': () => {
                    console.log('点击-禁言')
                    document.func.box3.state.secret.replica.canChat = true
                    confirm('解除成功(可能对muted无效)');
                },
                '飞行': () => {
                    console.log('点击-飞行')
                    confirm('可能会卡顿')
                    if (box3plus.flying) {
                        console.log('关闭飞行')
                        confirm('调试中')
                        /*
                        var index = 0;
                        var bolckIndex = 0;
                        var block = box3plus.saveblocks[0][0];
                        var lastIndex = box3plus.saveblocks[0][1];
                        for (y = 0; y < document.func.box3.state.voxel.shape[1]; y++) {
                            for (x = 0; x < document.func.box3.state.voxel.shape[0]; x++) {
                                for (z = 0; z < document.func.box3.state.voxel.shape[2]; z++) {
                                    document.func.box3.voxel._setVoxel(x, y, z, block);
                                    index++;
                                    if (index == lastIndex) {
                                        bolckIndex++;
                                        lastIndex += box3plus.saveblocks[bolckIndex][1];
                                        block = box3plus.saveblocks[bolckIndex][0];
                                    };
                                };
                            };
                        };
                        confirm('已关闭飞行模式');
                        box3plus.flying=false;
                        */
                    } else {
                        console.log('开启飞行')
                        // var low = prompt('需飞行的y坐标下限?(低于0无效)');
                        // var high = prompt('需飞行的y坐标上限?(高于'+document.func.box3.state.voxel.shape[1]+'无效)');
                        var blocks = [];
                        function append(item) {
                            if (blocks.length > 0 && blocks[blocks.length - 1][0] === item) {
                                blocks[blocks.length - 1][1] += 1;
                            } else {
                                blocks.push([item, 1]);
                            };
                        };
                        function forEach(fun) {
                            for (var l of blocks) {
                                for (var x = 0; x < l[1]; x++) {
                                    fun(l[0]);
                                };
                            };
                        };
                        for (var x = 0; x <= document.func.box3.state.voxel.shape[0]; x++) {
                            try {
                                document.func.box3.voxel
                                for (var z = 0; z <= document.func.box3.state.voxel.shape[2]; z++) {
                                    for (var y = 0; y <= document.func.box3.state.voxel.shape[1]; y++) {
                                        if (document.func.box3.voxel.getVoxel(x, y, z) == 0) {
                                            document.func.box3.voxel._setVoxel(x, y, z, 364);
                                        };
                                        append(document.func.box3.voxel.getVoxel(x, y, z));
                                    };
                                };
                            } catch (e) {
                                // confirm('error:' + e);
                                console.warn(e);
                            };
                        };
                        box3plus.saveblocks = [];
                        blocks.forEach((i) => {
                            box3plus.saveblocks.push([i[0], i[1]]);
                        });
                        confirm('您可以飞行了,快去试试吧');
                        box3plus.flying = true
                    }
                },
                '第一人称': () => {
                    console.log('点击-第一人称')
                    document.func.box3.state.secret.replica.camera.mode = 2;
                    confirm('切换成功')
                },
                '第三人称': () => {
                    console.log('点击-第三人称')
                    document.func.box3.state.secret.replica.camera.mode = 0;
                    confirm('切换成功')
                },
                'fovY': () => {
                    console.log('点击-fovY')
                    document.func.box3.state.secret.replica.camera.fovY = prompt('请问您要将fovY调为几?目前为' + document.func.box3.state.secret.replica.camera.fovY);
                    confirm('切换成功')
                },
            };
            window.gui = new lil.GUI({ title: '🧰box3plus工具箱' });
            window.gui.domElement.style.top = 'unset';
            window.gui.domElement.style.bottom = '0';
            window.gui.domElement.style.userSelect = 'none';
            var page1 = gui.addFolder('地图');
            page1.add(map, '大小').name('地图尺寸');
            var page2 = gui.addFolder('玩家');
            var page2_1 = page2.addFolder('通用');
            page2_1.add(player, '皮肤').name('获取所有皮肤');
            page2_1.add(player, '禁言').name('解除系统禁言');
            page2_1.add(player, '飞行').name('开/关飞行模式');
            page2_1.add(doNotShield, '未开发').name('改变自身大小');
            var page2_2 = page2.addFolder('视角');
            page2_2.add(player, '第一人称').name('切换第一人称');
            page2_2.add(player, '第三人称').name('切换第三人称');
            page2_2.add(player, 'fovY').name('修改cameraFovY');
            var page2_3 = page2.addFolder('音乐');
            page2_3.add(doNotShield, '未开发').name('开发中');
        };
    }, 100);
})();

在进入代码岛进地图页面即可正常使用

Windows10系统下安装DOSBox和MASM5.0环境可以实现在现代操作系统上进行汇编语言开发和调试。 首先,我们需要下载并安装DOSBox软件。DOSBox是一个模拟DOS环境的工具,可以在Windows10系统中运行老版本的DOS程序。我们可以通过搜索引擎在官网或其他可靠的软件下载网站上找到并下载最新版本的DOSBox。 安装完成后,我们需要准备MASM5.0的安装文件。MASM(Microsoft Macro Assembler)是微软开发的一款汇编语言开发工具。我们可以通过搜索引擎找到MASM5.0的安装文件下载地址,然后下载并保存到本地。 接下来,在安装目录下新建一个文件夹,用于存放MASM5.0的安装文件。然后,打开DOSBox,并输入以下命令: ``` mount c: (安装目录的路径) ``` 这样可以将安装目录与DOSBox关联起来。 然后,输入以下命令: ``` c: ``` 切换到C盘。 接下来,创建一个用于安装MASM5.0的文件夹,输入以下命令: ``` mkdir masm ``` 然后,进入该文件夹,输入以下命令: ``` cd masm ``` 接下来,将之前下载的MASM5.0安装文件移动到当前文件夹中,并解压缩它。根据具体的安装文件格式,可以使用解压工具来解压缩文件。 解压缩完成后,输入以下命令开始安装MASM5.0: ``` install.exe ``` 按照安装程序的提示进行安装,选择安装路径等参数。 完成安装后,可以使用MASM5.0来进行汇编语言开发和调试。 总结:通过在Windows10系统上安装DOSBox和MASM5.0环境,我们可以在现代操作系统中使用老版本的DOS程序进行汇编语言开发和调试。安装步骤包括下载并安装DOSBox、准备MASM5.0的安装文件、关联安装目录与DOSBox、创建安装文件夹、移动并解压缩MASM5.0安装文件、运行安装程序进行安装。安装完成后,即可使用MASM5.0进行开发和调试。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值