Greasy Fork

Greasy Fork is available in English.

MC百科丨后台 GUI 处理辅助

给顶栏加个按钮,以便在模组间切换

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

作者
WuzgXY-GitHub
日安装量
0
总安装量
60
评分
0 0 0
版本
0.1
创建于
2023-01-17
更新于
2023-01-17
大小
665.5 KB
许可证
CC BY-NC-SA 3.0
适用于

MC百科丨后台 GUI 处理辅助

给顶栏加个按钮,以便在模组间或本模组各 GUI 间(未实现)切换

仅对 GUI 及 8860 前的模组有效

别反复点

十分钟瞎写的,仅供自用,懒得更新

依赖 jQuery 但是 MC 百科有所以我这也没写 require

目前进度:全是 bug 懒得写了,代码见下

// ==UserScript== // @name MC百科丨后台 GUI 处理辅助 // @namespace WuzgXY-MCMOD-GUIAssist // @version 0.1.0 // @description 给顶栏加个按钮,以便在模组间切换 // @author WuzgXY // @match https://admin.mcmod.cn/ // @require https://www.mcmod.cn/static/public/js/jquery-2.1.0.min.js // @require https://cdn.bootcdn.net/ajax/libs/bootstrap-select/1.13.18/js/bootstrap-select.min.js // @license CC BY-NC-SA 3.0 // ==/UserScript==

// 必须异步加载!https://developer.mozilla.org/zh-CN/docs/Web/API/MutationObserver/observe

(function () { "use strict";

var leftButtonList = document.getElementsByName("menuJump");
for (var i in leftButtonList)
{
    if (leftButtonList[i].getAttribute("data-page") == "pageModGUI")
    {
        leftButtonList[i].addEventListener("click", () =>
        {
            setTimeout(() =>
            {
                var innerFirstPanel = '<div class="panel panel-default">' + $(".panel.panel-default")[1].innerHTML + '</div>'; // 直接拿到整个 innerHTML,强过请求 https://admin.mcmod.cn/frame/pageModGUI/
                document.onmousedown = (event) =>
                {
                    if (event.target.tagName == "I") // 如果点了编辑
                    {
                        var classId = $("#class-version-list")[0].selectedIndex;
                        setTimeout(() =>
                        {
                            var buttonIntermod = '<button id="buttonIntermod" class="btn btn-primary action-btn" style="display: none; margin-right: 8px;">切换模组</button>';
                            var buttonIntergui = '<button id="buttonIntergui" class="btn btn-primary action-btn" style="display: none;">本模组内切换 GUI</button>';
                            $(".panel-default")[0].innerHTML += buttonIntermod + " " + buttonIntergui; //  + "<br>"
                            $("#buttonIntermod")[0].addEventListener("click", () =>
                            {
                                appendSelect();
                            }, false); // 这个 addEventListener 怎么点击一次自动销毁啊??还把另一个按钮一块也销毁了??
                            $("#buttonIntergui")[0].addEventListener("click", () =>
                            {
                                appendSelect();
                                setTimeout(() =>
                                {
                                    $("#class-version-list").selectpicker("val", classId.toString());
                                }, 1000);
                            }, false);
                            function appendSelect()
                            {
                                console.log(1);
                                if ($(".panel-default")[2]) { console.log(111); $(".panel-default")[1].remove(); } // 已有一个去掉原来的
                                $(".panel-default")[0].innerHTML += innerFirstPanel;
                                $(".dropdown-toggle")[1].remove(); // 去掉多的那个选框

                                function selectOnchanged() // 直接来自 plugins.js?v=16
                                {
                                    var t = $("#class-version-list").attr("data-frame"), e = $("#class-version-list").attr("data-page"), a = {};
                                    var n = {}, i = $("#class-version-list").attr("data-name");
                                    a.length > 0 && (n = $.parseJSON(a)), i && (n[i] = $("#class-version-list").val()), setPage(e, t, n);
                                }
                                selectOnchanged();
                            }
                            buttonIntermod = $("#buttonIntermod")[0];
                            buttonIntergui = $("#buttonIntergui")[0];
                            $(".panel-default")[0].appendChild(buttonIntermod);
                            $(".panel-default")[0].appendChild(buttonIntergui);
                            $("#buttonIntermod").show();
                            $("#buttonIntergui").show();
                        }, 1000);
                    }
                }
            }, 2000);
        }, false);
        break;
    }
}
console.log("成功启动 WuzgGUIAssist");

})();