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");
})();