Codemao bcmc edit

bcmc读取与编辑

  1. // ==UserScript==
  2. // @name Codemao bcmc edit
  3. // @namespace CODEMAO_BCMC_EDIT
  4. // @version 1.2
  5. // @description bcmc读取与编辑
  6. // @author Orangesoft, Dream不想变屑awa
  7. // @match https://*.codemao.cn/*
  8. // @require https://cdn.jsdelivr.net/npm/lil-gui@0.16
  9. // @require https://cdn.jsdelivr.net/npm/three@0.142.0/examples/js/libs/stats.min.js
  10. // @require https://unpkg.com/mdui@1.0.2/dist/js/mdui.min.js
  11. // @license MIT
  12. // @grant GM_xmlhttpRequest
  13. // @compatible edge
  14. // @compatible chrome
  15. // @icon https://cdn-community.codemao.cn/community_frontend/asset/cute_4caf9.png
  16. // ==/UserScript==
  17.  
  18. var getworkid = () => location.href.substring(location.href.lastIndexOf('/') + 1,location.href.length)
  19.  
  20.  
  21. function geth (sth){
  22. return document.getElementsByClassName(sth)
  23. }
  24.  
  25. function log (messge){
  26. console.log(
  27. '%c %s %c %s',
  28. 'border: 1px solid white;border-radius: 3px 0 0 3px;padding: 2px 5px;color: white;background-color: green;',
  29. '[Codemao inject1.0]',
  30. 'border: 1px solid white;border-radius: 0 3px 3px 0;padding: 2px 5px;color: black;background-color: white;border-left: none;',
  31. messge
  32. );
  33. }
  34.  
  35. (function() {
  36. if(window.location.pathname.indexOf("/work/")+1) {
  37. log('a work page')
  38. let player_url = 'https://player.codemao.cn/new/'
  39. if (geth('r-work-c-work_info--work_tool r-work-c-work_info--kitten3')[0] != null)player_url = 'https://player.codemao.cn/w/'
  40. else if(geth('r-work-c-work_info--work_tool r-work-c-work_info--kitten4')[0] != null)player_url = 'https://player.codemao.cn/new/'
  41. else if(geth('r-work-c-work_info--nemo')[0] != null)player_url = 'https://nemo.codemao.cn/w/'
  42. var under = {
  43. '未开发': () => {
  44. log('点击-未开发');
  45. alert('开发中,敬请期待');
  46. },
  47. '调试中': () => {
  48. log('点击-调试中');
  49. alert('功能正在调试,暂时无法使用,敬请谅解');
  50. },
  51. };
  52. var inject= {
  53. '文件': () =>{
  54. const input = document.createElement("input");
  55. input.type = "file";
  56. input.style.display = "none";
  57. input.addEventListener("change", () => {
  58. let reader = new FileReader();
  59. reader.addEventListener("load", () => {
  60. GM_xmlhttpRequest({
  61. method: "post",
  62. url: "https://static.box3.codemao.cn/block",
  63. data: reader.result,
  64. binary: true,
  65. onload({ response }) {
  66. const { Key, Size } = JSON.parse(response);
  67. log("上传成功! Hash: "+Key);
  68. const hash = Key;
  69. input.remove();
  70. prompt('url:',player_url+getworkid()+'?bcmc_url=https://static.box3.codemao.cn/block/'+hash+'.json')
  71. },
  72. });
  73. });
  74. reader.readAsBinaryString(input.files[0]);
  75. });
  76.  
  77. input.click();
  78. },
  79. 'id': () =>{
  80. var wi = prompt('请输入修改bcmc后的作品id','');
  81. GM_xmlhttpRequest({
  82. method:"get",
  83. url:"https://api.codemao.cn/api/v2/work/display/"+wi,
  84. onload({response}){
  85. let res = JSON.parse(response);
  86. console.log(res['data']['work_url'][0]);
  87. prompt('url:',`${player_url}${getworkid()}?bcmc_url=${res['data']['work_url'][0]}`)
  88. }
  89. })
  90. },
  91. 'gw': () => {GM_xmlhttpRequest({
  92. method:"post",
  93. url:"https://hackmao.pickfish.repl.co/",
  94. data:getworkid(),
  95. onload({response}){
  96. prompt('bcm_url:',response)
  97. }
  98. })},
  99. 'gwtips': () => {alert('获取源代码的请求过程约5-10s,请耐心等待\n此功能仅供交流学习,请勿抄袭!')}
  100. }
  101. window.gui = new lil.GUI({ title: '🧰BCMC EDIT TOOLS' });
  102. window.gui.domElement.style.top = 'unset';
  103. window.gui.domElement.style.bottom = '0';
  104. window.gui.domElement.style.userSelect = 'none';
  105. var page1 = gui.addFolder('注入');
  106. page1.add(inject, '文件').name('上传bcmc文件');
  107. page1.add(inject, 'id').name('通过作品id获取bcmc修改端');
  108. page1.add(inject, 'gw').name('获取作品源代码')
  109. page1.add(inject, 'gwtips').name('获取作品源代码-使用提示')
  110. }
  111. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址