您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a visual GUI for quickly editing your browser's local storage, allowing you to add whatever custom object you want.
当前为
- // ==UserScript==
- // @name Infinite Craft Element Cheat
- // @namespace https://duckwithsunglasses.com
- // @version 1.01
- // @description Adds a visual GUI for quickly editing your browser's local storage, allowing you to add whatever custom object you want.
- // @author You
- // @match https://neal.fun/infinite-craft/
- // @grant none
- // @license MIT
- // ==/UserScript==
- (function() {
- 'use strict';
- console.log("Script starting...");
- // Function to parse and stringify JSON data from/to local storage
- function getCraftData() {
- console.log("Fetching craft data...");
- return JSON.parse(localStorage.getItem('infinite-craft-data') || '{"elements":[]}');
- }
- function setCraftData(data) {
- console.log("Setting craft data...");
- localStorage.setItem('infinite-craft-data', JSON.stringify(data));
- }
- // Function to add a new element to the data
- function addElement(text, emoji, discovered) {
- console.log("Adding new element...");
- var data = getCraftData();
- data.elements.push({ text: text, emoji: emoji, discovered: discovered });
- setCraftData(data);
- }
- // Function to create and append GUI elements
- function createGUI() {
- console.log("Creating GUI...");
- var container = document.createElement('div');
- container.innerHTML = `
- <style>
- #container {
- padding-top: 50px;
- padding-left: 10px;
- position: absolute;
- }
- </style>
- <div id="container">
- <h2>Add New Element:</h2>
- <input type="text" id="element-text" placeholder="Element Name"><br>
- <input type="text" id="element-emoji" placeholder="Emoji"><br>
- <label for="element-discovered">New Discovery?:</label>
- <input type="checkbox" id="element-discovered"><br>
- <button id="add-element-btn">Add Element</button>
- </div>
- `;
- document.body.appendChild(container);
- // Add event listener to the "Add Element" button
- document.getElementById('add-element-btn').addEventListener('click', function() {
- console.log("Add Element button clicked...");
- var text = document.getElementById('element-text').value.trim();
- var emoji = document.getElementById('element-emoji').value.trim();
- var discovered = document.getElementById('element-discovered').checked;
- if (text && emoji) {
- console.log("Element name and emoji entered...");
- addElement(text, emoji, discovered);
- console.log("Reloading page...");
- // Reload the page to reflect changes
- window.location.reload();
- } else {
- console.error('Please enter both element name and emoji.');
- alert('Please enter both element name and emoji.');
- }
- });
- }
- // Call the function to create the GUI when the page is loaded
- console.log("Waiting for page to load...");
- // Set a timeout to ensure the script doesn't get stuck indefinitely
- var timeout = setTimeout(function() {
- console.error("Page load timeout. Proceeding anyway...");
- createGUI();
- }, 1000); // 5 seconds timeout
- window.addEventListener('load', function() {
- clearTimeout(timeout); // Cancel the timeout if the page loads successfully
- createGUI();
- });
- // remove search cus god damn autosnap is annoying
- var sidebarInput = document.querySelector('.sidebar-input');
- if (sidebarInput) {
- sidebarInput.remove();
- } else {
- console.log('Element with class "sidebar-input" not found.');
- }
- })();