Crystall Texture v3.1 Sploop.io

texturerelease pack for sploop WORKS ON MOBILE!!

  1. // ==UserScript==
  2. // @name Crystall Texture v3.1 Sploop.io
  3. // @version v3.1
  4. // @description texturerelease pack for sploop WORKS ON MOBILE!!
  5. // @namespace none
  6. // @author Oneway and Frozen Cat
  7. // @match https://sploop.io/
  8. // @icon https://sploop.io/img/ui/favicon.png
  9. // @grant none
  10. // @run-at document-start
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. 'use strict';
  15.  
  16. const [config] = [
  17. {
  18. "enabled": true,
  19. "id": "54760342-0298-4efa-9dd9-0ae0853ca468",
  20. "name": "Crystall texture v3",
  21. "filter": {
  22. "key": "page-url",
  23. "condition": "contains",
  24. "value": "sploop.io"
  25. },
  26. "rules": [
  27. {
  28.  
  29. "enabled": true,
  30. "id": "26943b38-2c48-4079-acba-afec1063525c",
  31. "criteria": {
  32. "key": "url",
  33. "condition": "contains",
  34. "value": "/img/entity/hat_1.png"
  35. },
  36. "actions": [
  37. {
  38. "type": "redirect-to",
  39. "details": {
  40. "value": "https://media.discordapp.net/attachments/951523489809072198/963088950182948884/bull.io.png"
  41. }
  42. }
  43. ]
  44. },
  45. {
  46. "enabled": true,
  47. "criteria": {
  48. "key": "url",
  49. "condition": "contains",
  50. "value": "/img/entity/hat_2.png"
  51. },
  52. "actions": [
  53. {
  54. "type": "redirect-to",
  55. "details": {
  56. "value": "https://media.discordapp.net/attachments/951523489809072198/961002006456197140/Medicinehat.webp"//jungle gear
  57. }
  58. }
  59. ]
  60. },
  61. {
  62. "enabled": true,
  63. "criteria": {
  64. "key": "url",
  65. "condition": "contains",
  66. "value": "/img/entity/teleporter.png"
  67. },
  68. "actions": [
  69. {
  70. "type": "redirect-to",
  71. "details": {
  72. "value": "https://cdn.discordapp.com/attachments/970942496672743444/1000002663267717190/unknown.png"
  73. }
  74. }
  75. ]
  76. },
  77. {
  78. "enabled": true,
  79. "id": "616f7e00-0a9e-43d9-a56c-bd3bd6326401",
  80. "criteria": {
  81. "key": "url",
  82. "condition": "contains",
  83. "value": "/img/entity/hat_3.png"
  84. },
  85. "actions": [
  86. {
  87. "type": "redirect-to",
  88. "details": {
  89. "value": "https://media.discordapp.net/attachments/951523489809072198/960992157076955226/cyrstal.io.png"//soldier
  90. }
  91. }
  92. ]
  93. },
  94. {
  95. "enabled": true,
  96. "id": "c3f5db14-5741-483f-8f8a-dd7df4372e5a",
  97. "criteria": {
  98. "key": "url",
  99. "condition": "contains",
  100. "value": "/img/entity/hat_4.png"
  101. },
  102. "actions": [
  103. {
  104. "type": "redirect-to",
  105. "details": {
  106. "value": "https://media.discordapp.net/attachments/951523489809072198/963089283969855559/spike.io.png"//spike gear
  107. }
  108. }
  109. ]
  110. },
  111. {
  112. "enabled": true,
  113. "id": "520fb136-afa6-40e8-897b-c8b5c0bbec35",
  114. "criteria": {
  115. "key": "url",
  116. "condition": "contains",
  117. "value": "/img/entity/hat_5.png"
  118. },
  119. "actions": [
  120. {
  121. "type": "redirect-to",
  122. "details": {
  123. "value": "https://media.discordapp.net/attachments/951523489809072198/963089515730337802/immunity.io.png"//immunity gear
  124. }
  125. }
  126. ]
  127. },
  128. {
  129. "enabled": true,
  130. "criteria": {
  131. "key": "url",
  132. "condition": "contains",
  133. "value": "img/items/pearl.png"
  134. },
  135. "actions": [
  136. {
  137. "type": "redirect-to",
  138. "details": {
  139. "value": "https://cdn.discordapp.com/attachments/970942496672743444/1000004850005839892/unknown.png"
  140. }
  141. }
  142. ]
  143. },
  144. {
  145. "enabled": true,
  146. "id": "96069f8f-59f7-4e7c-ac83-a7cf79dd422a",
  147. "criteria": {
  148. "key": "url",
  149. "condition": "contains",
  150. "value": "/img/entity/hat_6.png"
  151. },
  152. "actions": [
  153. {
  154. "type": "redirect-to",
  155. "details": {
  156. "value": "https://media.discordapp.net/attachments/951523489809072198/961000887084539944/unknown.png"//boost hat
  157. }
  158. }
  159. ]
  160. },
  161. {
  162. "enabled": true,
  163. "criteria": {
  164. "key": "url",
  165. "condition": "contains",
  166. "value": "/img/entity/hat_9.png"
  167. },
  168. "actions": [
  169. {
  170. "type": "redirect-to",
  171. "details": {
  172. "value": "https://media.discordapp.net/attachments/951523489809072198/961001314047913984/Thief27s_Hat_1.webp"//hood gear
  173. }
  174. }
  175. ]
  176. },
  177. {
  178. "enabled": true,
  179. "criteria": {
  180. "key": "url",
  181. "condition": "contains",
  182. "value": "/img/entity/hat_8.png"
  183. },
  184. "actions": [
  185. {
  186. "type": "redirect-to",
  187. "details": {
  188. "value": "https://media.discordapp.net/attachments/951523489809072198/960999830702923856/15_Vampire27s_Hat.webp"
  189. }
  190. }
  191. ]
  192. },
  193. {
  194. "enabled": true,
  195. "criteria": {
  196. "key": "url",
  197. "condition": "contains",
  198. "value": "/img/entity/hammer.png"
  199. },
  200. "actions": [
  201. {
  202. "type": "redirect-to",
  203. "details": {
  204. "value": "https://media.discordapp.net/attachments/951523489809072198/954090905005080576/ci5zKrt.png"//hammer
  205. }
  206. }
  207. ]
  208. },
  209. {
  210. "enabled": true,
  211. "criteria": {
  212. "key": "url",
  213. "condition": "contains",
  214. "value": "/img/entity/shield.png"
  215. },
  216. "actions": [
  217. {
  218. "type": "redirect-to",
  219. "details": {
  220. "value": "https://media.discordapp.net/attachments/987611878408745041/1002112011846570065/unknown.png?width=188&height=404"
  221. }
  222. }
  223. ]
  224. },
  225. {
  226. "enabled": true,
  227. "criteria": {
  228. "key": "url",
  229. "condition": "contains",
  230. "value": "/img/entity/xbow.png"
  231. },
  232. "actions": [
  233. {
  234. "type": "redirect-to",
  235. "details": {
  236. "value": "https://media.discordapp.net/attachments/951523489809072198/958171910066278420/unknown.png"
  237. }
  238. }
  239. ]
  240. },
  241. {
  242. "enabled": true,
  243. "criteria": {
  244. "key": "url",
  245. "condition": "contains",
  246. "value": "/img/entity/bow.png"
  247. },
  248. "actions": [
  249. {
  250. "type": "redirect-to",
  251. "details": {
  252. "value": "https://media.discordapp.net/attachments/951523489809072198/958171910066278420/unknown.png"
  253. }
  254. }
  255. ]
  256. },
  257. {
  258. "enabled": true,
  259. "criteria": {
  260. "key": "url",
  261. "condition": "contains",
  262. "value": "/img/entity/s_musket.png"
  263. },
  264. "actions": [
  265. {
  266. "type": "redirect-to",
  267. "details": {
  268. "value": "https://media.discordapp.net/attachments/951523489809072198/958171488979157003/unknown.png"//musket currently none
  269. }
  270. }
  271. ]
  272. },
  273. {
  274. "enabled": true,
  275. "criteria": {
  276. "key": "url",
  277. "condition": "contains",
  278. "value": "/img/entity/katana.png"
  279. },
  280. "actions": [
  281. {
  282. "type": "redirect-to",
  283. "details": {
  284. "value": "https://media.discordapp.net/attachments/951523489809072198/958182293053263892/stone_katana.png"//stone kattana
  285. }
  286. }
  287. ]
  288. },
  289. {
  290. "enabled": true,
  291. "criteria": {
  292. "key": "url",
  293. "condition": "contains",
  294. "value": "img/items/g_katana.png"
  295. },
  296. "actions": [
  297. {
  298. "type": "redirect-to",
  299. "details": {
  300. "value": "https://media.discordapp.net/attachments/951523489809072198/958183242618519632/g_katana.png"//gold kattana
  301. }
  302. }
  303. ]
  304. },
  305. {
  306. "enabled": true,
  307. "criteria": {
  308. "key": "url",
  309. "condition": "contains",
  310. "value": "/img/items/d_katana.png"
  311. },
  312. "actions": [
  313. {
  314. "type": "redirect-to",
  315. "details": {
  316. "value": "https://media.discordapp.net/attachments/951523489809072198/958183596387086376/d_katana.png"//diamond kattana
  317. }
  318. }
  319. ]
  320. },
  321. {
  322. "enabled": true,
  323. "criteria": {
  324. "key": "url",
  325. "condition": "contains",
  326. "value": "/img/items/c_katana.png"
  327. },
  328. "actions": [
  329. {
  330. "type": "redirect-to",
  331. "details": {
  332. "value": "https://media.discordapp.net/attachments/951523489809072198/958184370122924032/Emerald_katana.png"//ruby katana
  333. }
  334. }
  335. ]
  336. },
  337. {
  338. "enabled": true,
  339. "criteria": {
  340. "key": "url",
  341. "condition": "contains",
  342. "value": "/img/skins/body17.png"
  343. },
  344. "actions": [
  345. {
  346. "type": "redirect-to",
  347. "details": {
  348. "value": "https://cdn.discordapp.com/attachments/970942496672743444/999935175490289664/unknown.png"
  349. }
  350. }
  351. ]
  352. },
  353. {
  354. "enabled": true,
  355. "criteria": {
  356. "key": "url",
  357. "condition": "contains",
  358. "value": "/img/entity/stone_toolhammer.png"
  359. },
  360. "actions": [
  361. {
  362. "type": "redirect-to",
  363. "details": {
  364. "value": "https://media.discordapp.net/attachments/951523489809072198/956208756256022588/R.png"//
  365. }
  366. }
  367. ]
  368. },
  369. {"enabled": true,
  370. "criteria": {
  371. "key": "url",
  372. "condition": "contains",
  373. "value": "/img/entity/bed.png"
  374. },
  375. "actions": [
  376. {
  377. "type": "redirect-to",
  378. "details": {
  379. "value": "https://cdn.discordapp.com/attachments/970942496672743444/999999940984062023/unknown.png"//
  380. }
  381. }
  382. ]
  383. },
  384. {
  385.  
  386. "enabled": true,
  387. "criteria": {
  388. "key": "url",
  389. "condition": "contains",
  390. "value": "/img/entity/stone_sword.png"
  391. },
  392. "actions": [
  393. {
  394. "type": "redirect-to",
  395. "details": {
  396. "value": "https://media.discordapp.net/attachments/987611878408745041/1001655160570921082/unknown.png?width=74&height=404"
  397. }
  398. }
  399. ]
  400. },
  401. {
  402. "enabled": true,
  403. "criteria": {
  404. "key": "url",
  405. "condition": "contains",
  406. "value": "/img/entity/lootbox.png"
  407. },
  408. "actions": [
  409. {
  410. "type": "redirect-to",
  411. "details": {
  412. "value": "https://cdn.discordapp.com/attachments/970942496672743444/999991311056773180/unknown.png"//
  413. }
  414. }
  415. ]
  416. },
  417. {
  418. "enabled": true,
  419. "criteria": {
  420. "key": "url",
  421. "condition": "contains",
  422. "value": "/img/entity/cut_spear.png"
  423. },
  424. "actions": [
  425. {
  426. "type": "redirect-to",
  427. "details": {
  428. "value": "https://media.discordapp.net/attachments/386994737090920450/698151330933637240/Spear_1_c.png"
  429. }
  430. }
  431. ]
  432. },
  433. {
  434. "enabled": true,
  435. "criteria": {
  436. "key": "url",
  437. "condition": "contains",
  438. "value": "/img/items/g_cutspear.png"
  439. },
  440. "actions": [
  441. {
  442. "type": "redirect-to",
  443. "details": {
  444. "value": "https://cdn.discordapp.com/attachments/927514120121618463/1019973157236510760/unknown.png"
  445. }
  446. }
  447. ]
  448. },
  449. {
  450. "enabled": true,
  451. "criteria": {
  452. "key": "url",
  453. "condition": "contains",
  454. "value": "/img/items/d_cutspear.png"
  455. },
  456. "actions": [
  457. {
  458. "type": "redirect-to",
  459. "details": {
  460. "value": "https://cdn.discordapp.com/attachments/927514120121618463/1019974483349614694/unknown.png"
  461. }
  462. }
  463. ]
  464. },
  465. {
  466. "enabled": true,
  467. "criteria": {
  468. "key": "url",
  469. "condition": "contains",
  470. "value": "/img/items/bat.png"
  471. },
  472. "actions": [
  473. {
  474. "type": "redirect-to",
  475. "details": {
  476. "value": "https://media.discordapp.net/attachments/983280898915069982/1001658643357372546/unknown.png"
  477. }
  478. }
  479. ]
  480. },
  481. {
  482.  
  483. "enabled": true,
  484. "criteria": {
  485. "key": "url",
  486. "condition": "contains",
  487. "value": "/img/items/g_spear.png"
  488. },
  489. "actions": [
  490. {
  491. "type": "redirect-to",
  492. "details": {
  493. "value": "https://images-ext-1.discordapp.net/external/XE_BUYuNwnTzaEEzm2fugMMi8zimewjqFn1Gokow6aA/https/media.discordapp.net/attachments/386994737090920450/698151330933637240/Spear_1_c.png"
  494. }
  495. }
  496. ]
  497. },
  498. {
  499. "enabled": true,
  500. "criteria": {
  501. "key": "url",
  502. "condition": "contains",
  503. "value": "/img/entity/stone_spear.png"
  504. },
  505. "actions": [
  506. {
  507. "type": "redirect-to",
  508. "details": {
  509. "value": "https://images-ext-1.discordapp.net/external/XE_BUYuNwnTzaEEzm2fugMMi8zimewjqFn1Gokow6aA/https/media.discordapp.net/attachments/386994737090920450/698151330933637240/Spear_1_c.png"
  510. }
  511. }
  512. ]
  513. },
  514. {
  515. "enabled": true,
  516. "criteria": {
  517. "key": "url",
  518. "condition": "contains",
  519. "value": "/img/entity/hat_11.png"
  520. },
  521. "actions": [
  522. {
  523. "type": "redirect-to",
  524. "details": {
  525. "value": "https://cdn.discordapp.com/attachments/999317627270856755/999674408820035604/Beter_Tank_Head.png"
  526. }
  527. }
  528. ]
  529. },
  530. {
  531. "enabled": true,
  532. "criteria": {
  533. "key": "url",
  534. "condition": "contains",
  535. "value": "/img/entity/hard_spike.png"
  536. },
  537. "actions": [
  538. {
  539. "type": "redirect-to",
  540. "details": {
  541. "value": "https://cdn.discordapp.com/attachments/970942496672743444/999948593274306640/unknown.png"
  542. }
  543. }
  544. ]
  545. },
  546. {
  547. "enabled": true,
  548. "criteria": {
  549. "key": "url",
  550. "condition": "contains",
  551. "value": "/img/items/hard_spike.png"
  552. },
  553. "actions": [
  554. {
  555. "type": "redirect-to",
  556. "details": {
  557. "value": "https://media.discordapp.net/attachments/983280898915069982/1001661076624130221/unknown.png"
  558. }
  559. }
  560. ]
  561. },
  562. {
  563. "enabled": true,
  564. "criteria": {
  565. "key": "url",
  566. "condition": "contains",
  567. "value": "/img/entity/skid_had.png"
  568. },
  569. "actions": [
  570. {
  571. "type": "redirect-to",
  572. "details": {
  573. "value": "https://media.discordapp.net/attachments/987611878408745041/1001662247388594247/unknown.png"
  574. }
  575. }
  576. ]
  577. },
  578. {
  579. "enabled": true,
  580. "criteria": {
  581. "key": "url",
  582. "condition": "contains",
  583. "value": "/img/entity/stone_spear.png"
  584. },
  585. "actions": [
  586. {
  587. "type": "redirect-to",
  588. "details": {
  589. "value": "https://images-ext-1.discordapp.net/external/XE_BUYuNwnTzaEEzm2fugMMi8zimewjqFn1Gokow6aA/https/media.discordapp.net/attachments/386994737090920450/698151330933637240/Spear_1_c.png"
  590. }
  591. }
  592. ]
  593. }
  594. ],
  595. "description": "Oneways and Frozen Cats texture pack"
  596. }
  597. ];//stop here
  598.  
  599.  
  600. const remaps = new Map();
  601.  
  602. const colorRemaps = {
  603. "#788F57": "#768f5a",
  604. "#fcefbb": "#8f815a",
  605. "#2a8b9b": "#5e74a7"
  606. };
  607.  
  608. //shh
  609.  
  610. const rules = config.rules;
  611. rules.forEach(rule => {
  612.  
  613. const {actions, criteria } = rule;
  614. const [action] = actions;
  615. const toUrl = action.details.value;
  616. const fromUrl = criteria.value;
  617. remaps.set(fromUrl, {
  618.  
  619. src: toUrl,
  620. scale: 1,
  621. });
  622.  
  623. })
  624.  
  625. const sfs = Object.getOwnPropertyDescriptor(CanvasRenderingContext2D.prototype, "fillStyle").set;
  626. Object.defineProperty(CanvasRenderingContext2D.prototype, "fillStyle", {
  627. set(f){
  628. if(colorRemaps[f]) f = colorRemaps[f];
  629. return sfs.call(this, f);
  630. }
  631. })
  632.  
  633. const origImage = Image;
  634. window.Image = class extends Image {
  635. set onload(fn){
  636. this._onloadFn = fn;
  637. super.onload = function(){
  638. this.width = this.width * this._scale;
  639. this.height = this.height * this._scale;
  640. return fn.apply(this, arguments);
  641. }
  642. }
  643.  
  644. set src(_src){
  645. const [path] = _src.split("?v=");
  646. if(remaps.has(path)) {
  647. const that_ = this;
  648. const {src, scale} = remaps.get(path);
  649. _src = src;
  650. this._scale = scale;
  651. } else this._scale = 1;
  652. super.src = _src;
  653. }
  654. }
  655. })();
  656.  
  657. //visual affects

QingJ © 2025

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