scratch extesion: misc by rssaromeo

none

目前为 2025-01-26 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name scratch extesion: misc by rssaromeo
  3. // @version 1
  4. // @description none
  5. // @run-at document-start
  6. // @author rssaromeo
  7. // @tag lib
  8. // @license GPLv3
  9. // @match *://*/*
  10. // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAABhQTFRFAAAA7e3th4V6h4V+h4eFh4eH////7e3sbLmULQAAAAh0Uk5TAP/////////VylQyAAABsUlEQVR4nI2VS07FMAxFYwkJiVGzBFgJgy67A3ZkFoBU4r/dJoUOnvrq03tTx7Gh+QWb357f8dTvessX3oD0ftGAeTwIA8QAPt7bz1cxgRR/+ZQ/imAC2MDiRogJuMCeV3C4BJhAvO8aLAEqUONKoAIksLfLdagEzAWUQAamAmIyJASYCLCEAHMHkcABLBxMApYODqwc1APWDiIB5kDbEVVCm4cF4P32IuHqQfI4QZagBYkpPnBaBAE7C+D4cWCsfht6RwIo7ZsB5NUdGA7yyABRImB4/Bvg2jCAv6YA9nV+ngrgeewtAeJ63AEJTIFOmeyarpELbAWg9FF6JOPGXQD0Lem6MQngZLNwZyFZSQFshV034gp4LhnAFoAkagrkTPaolj+A3h4B+doKyCoVkAQYEBWVgVRbCqRz4wkwhwb15N2A8wbkmjEgHb0K8Mmqh7cAcnifAe0P4VEA7Q9FIgPWgp4A73LTFuJdbtGExMGAO6F91Hv1zUQ7sXf7K2G9POZFNfFpkCZO1oiBk2dWEBzXfdepZ2Nzt/BibqbLMuqjuc/jAby+5XgUXkz/rJH2/BcDpA4mLRW1igAAAABJRU5ErkJggg==
  11. // @grant none
  12. // @namespace https://greasyfork.org/users/1184528
  13. // ==/UserScript==
  14.  
  15. ;(async () => {
  16. await loadlib("libloader").waitforlib("scratchextesnsionmanager")
  17. const {
  18. newext,
  19. newmenu,
  20. newblock,
  21. bt,
  22. inp,
  23. gettarget,
  24. totype,
  25. scratch_math,
  26. projectid,
  27. canvas,
  28. scratchvar,
  29. scratchlist,
  30. } = loadlib("scratchextesnsionmanager")
  31. var a = loadlib("allfuncs")
  32. var vm
  33. loadlib("libloader")
  34. .waitforlib("scratch")
  35. .then(() => (vm = loadlib("scratch").vm))
  36.  
  37. newext(
  38. "misc",
  39. "rssaromeo",
  40. class {
  41. setturbomode({ on }) {
  42. on = totype(on, "bool")
  43. vm.emit("TURBO_MODE_" + (on ? "ON" : "OFF"))
  44. }
  45.  
  46. cursor({ a }) {
  47. a = totype(a, "string")
  48. canvas().style.cursor = a
  49. }
  50. setfullscreen({ on }) {
  51. on = totype(on, "bool")
  52. if (on) canvas().requestFullscreen()
  53. else document.exitFullscreen()
  54. }
  55. getfullscreen() {
  56. return !!document.fullscreenElement
  57. }
  58. },
  59. [
  60. newblock(bt.cmd, "setturbomode", "set turbomode [on]", [
  61. newmenu("setturbomode", {
  62. items: ["true", "false"],
  63. defaultValue: "true",
  64. }),
  65. ]),
  66. newblock(bt.cmd, "cursor", "set the cursor image to [a]", [
  67. newmenu("cursor", {
  68. items: ["none", "default"],
  69. defaultValue: "default",
  70. }),
  71. ]),
  72. newblock(bt.cmd, "setfullscreen", "set fullscreen to [on]", [
  73. newmenu("setfullscreen", {
  74. items: ["true", "false"],
  75. defaultValue: "true",
  76. }),
  77. ]),
  78. newblock(bt.bool, "getfullscreen", "fullscreen"),
  79. ],
  80. undefined,
  81. "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAABhQTFRFAAAA7e3th4V6h4V+h4eFh4eH////7e3sbLmULQAAAAh0Uk5TAP/////////VylQyAAABsUlEQVR4nI2VS07FMAxFYwkJiVGzBFgJgy67A3ZkFoBU4r/dJoUOnvrq03tTx7Gh+QWb357f8dTvessX3oD0ftGAeTwIA8QAPt7bz1cxgRR/+ZQ/imAC2MDiRogJuMCeV3C4BJhAvO8aLAEqUONKoAIksLfLdagEzAWUQAamAmIyJASYCLCEAHMHkcABLBxMApYODqwc1APWDiIB5kDbEVVCm4cF4P32IuHqQfI4QZagBYkpPnBaBAE7C+D4cWCsfht6RwIo7ZsB5NUdGA7yyABRImB4/Bvg2jCAv6YA9nV+ngrgeewtAeJ63AEJTIFOmeyarpELbAWg9FF6JOPGXQD0Lem6MQngZLNwZyFZSQFshV034gp4LhnAFoAkagrkTPaolj+A3h4B+doKyCoVkAQYEBWVgVRbCqRz4wkwhwb15N2A8wbkmjEgHb0K8Mmqh7cAcnifAe0P4VEA7Q9FIgPWgp4A73LTFuJdbtGExMGAO6F91Hv1zUQ7sXf7K2G9POZFNfFpkCZO1oiBk2dWEBzXfdepZ2Nzt/BibqbLMuqjuc/jAby+5XgUXkz/rJH2/BcDpA4mLRW1igAAAABJRU5ErkJggg=="
  82. )
  83. })()