diff --git a/mods/replace.js b/mods/replace.js new file mode 100644 index 00000000..cd5f3905 --- /dev/null +++ b/mods/replace.js @@ -0,0 +1,75 @@ +replaceFrom = "rock"; +replaceTo = "sand"; + +document.addEventListener("keydown", function(e) { //replace prompt listener + // r = replaceElementPrompt() + if (e.keyCode == 222) { + e.preventDefault(); + replaceElementPrompt(); + } +}); + +function replaceElementPrompt() { + var fromElement = prompt("Enter the element you want to change"); + // replace spaces with underscores + fromElement = fromElement.replace(/ /g, "_"); + fromElementS = mostSimilarElement(fromElement); + if (fromElementS === null || fromElementS === undefined || fromElementS === "") { + alert("Element \"" + fromElement + "\" not found! Defaulting to rock."); + fromElementS = "rock"; + }; + + var toElement = prompt("Enter what you want to replace \"" + fromElementS + "\" with"); + // replace spaces with underscores + toElement = toElement.replace(/ /g, "_"); + toElementS = mostSimilarElement(toElement); + if (toElementS === null || toElementS === undefined || toElementS === "") { + alert("Element \"" + toElement + "\" not found! Defaulting to sand."); + toElementS = "sand"; + }; + replaceFrom = fromElementS; + replaceTo = toElementS; + updateReplaceDescriptions(); +} + +function updateReplaceDescriptions() { + elements.replace.desc = "Changes pixels of a specified type to another specified type.
Currently replacing \"" + replaceFrom + "\" with \"" + replaceTo + "\".
Press [\"] to open the replace prompt."; + elements.alt_replace.desc = "Changes pixels of a specified type to another specified type, but keeping their non-element-based properties.
Currently replacing \"" + replaceFrom + "\" with \"" + replaceTo + "\".
Press [\"] to open the replace prompt."; + elements.alt_alt_replace.desc = "Changes pixels of a specified type to another specified type, but keeping their non-element-based properties except for color.
Currently replacing \"" + replaceFrom + "\" with \"" + replaceTo + "\".
Press [\"] to open the replace prompt."; +}; + +elements.replace = { + color: ["#ff0000", "#ff0000", "#ff0000", "#7f00ff", "#0000ff", "#0000ff", "#0000ff"], + tool: function(pixel) { + if(pixel.element === replaceFrom) { + changePixel(pixel,replaceTo,true); + }; + }, + category: "tools", + desc: "Changes pixels of a specified type to another specified type.
Currently replacing \"" + replaceFrom + "\" with \"" + replaceTo + "\".
Press [KEY] to open the replace prompt.", +}; + +elements.alt_replace = { + color: ["#ffff00", "#ffff00", "#ffff00", "#cf7f4f", "#ff00ff", "#ff00ff", "#ff00ff"], + tool: function(pixel) { + if(pixel.element === replaceFrom) { + pixel.element = replaceTo; + }; + }, + category: "tools", + desc: "Changes pixels of a specified type to another specified type, but keeping their non-element-based properties.
Currently replacing \"" + replaceFrom + "\" with \"" + replaceTo + "\".
Press [KEY] to open the replace prompt.", + hidden: true, +}; + +elements.alt_alt_replace = { + color: ["#00ff00", "#00ff00", "#00ff00", "#cfcf00", "#ff0000", "#ff0000", "#ff0000"], + tool: function(pixel) { + if(pixel.element === replaceFrom) { + pixel.element = replaceTo; + pixel.color = pixelColorPick(pixel); + }; + }, + category: "tools", + desc: "Changes pixels of a specified type to another specified type, but keeping their non-element-based properties except for color.
Currently replacing \"" + replaceFrom + "\" with \"" + replaceTo + "\".
Press [KEY] to open the replace prompt.", + hidden: true, +}; \ No newline at end of file