diff --git a/mod-list.html b/mod-list.html index 60397d73..c8e47173 100644 --- a/mod-list.html +++ b/mod-list.html @@ -379,6 +379,7 @@ invisible_wall.jsElement like Wall that takes the color of the backgroundAlice lightmap.jsLight sources glowRedBirdly liquid_mixing.jsLiquids can mix colors dynamicallyNekonico +manyMoreThemes.jsAdds additional themesJayd moreViews.jsMany new rendering modesggod nicer_flame.jsFire is visually pleasingRedBirdly occlusion.jsRealistic shadows, similar to Terraria's lightingRedBirdly diff --git a/mods/3pms_mod.js b/mods/3pms_mod.js new file mode 100644 index 00000000..4e39d814 --- /dev/null +++ b/mods/3pms_mod.js @@ -0,0 +1,133 @@ +// mod moment +// also made by 3pm + +// starting the initiation +version = "0.0.1" +subversion = "0.0.12" +versionname = "Gullible On The Ceilling" + +console.log("3pms_mod.js " + version + " \"" + versionname + "\"") +console.log("3pms_mod.js | Initiating...") + +// bypassing the tps limit +// nvm this is useless +// whatever im keeping it + +setTimeout(() => { + const tpsbutton = document.getElementById("tpsButton"); + tpsbutton.onclick = () => { + var tpsprompt = prompt( + "Enter the new simulation Ticks Per Second (TPS). This is how many updates per second the simulation will run.\n\n" + + "The default is 30.\n\nThe current TPS is " + tps + ".\n\nNOTE: 3pms_mod.js removes the TPS limit.\n" + + "Any TPS higher than 1000 isn\'t recommended.\n\n" + ); + + var newtps = parseInt(tpsprompt); + if (tpsprompt !== null) { + if (isNaN(newtps) || newtps == "") { + alert("You did not enter a valid TPS."); + } else { + tps = parseInt(newtps); + if (isNaN(tps) || tps <= 0) { + alert("You did not enter a valid TPS."); + tps = 30; + } + } + resetInterval(tps); + } + focusGame(); + }; +}, 1000); + +// more settings + +function showMoreSettings() { + showingMenu="moresettings" + console.log("3pms_mod.js | Opening More Settings....") + var moresettingsParent = document.getElementById("moresettingsParent"); + moresettingsParent.style.display = "block"; +} + +setTimeout(() => { + const gamediv = document.getElementById("gameDiv") + gamediv.insertAdjacentHTML("beforeend", ` + `); + const menuText = document.getElementsByClassName("menuText")[6] + const newButton = document.createElement("button") + newButton.innerText = "More Settings" + newButton.className = "settingsButton" + newButton.onclick = () => { + closeMenu(); + showMoreSettings() + } + menuText.appendChild(newButton) +}, 1000); + +// elements + +elements.calcium_oxide = { // most of this is taken off calcium + color: ["#544E45","#6A635E","#6E6A61","#756F62","#918A7B"], + tick: function(pixel) { + behaviors.POWDER(pixel); + for (var i = 0; i < adjacentCoords.length; i++) { + var x = pixel.x+adjacentCoords[i][0]; + var y = pixel.y+adjacentCoords[i][1];} }, + tempHigh: 842, + reactions: { + water: {elem1:"calcium_oxide", elem2:"steam"}, + salt_water: {elem1:"calcium_oxide", elem2:"steam"}, + sugar_water: {elem1:"calcium_oxide", elem2:"steam"}, + dirty_water: {elem1:"calcium_oxide", elem2:"steam"} + }, + category: "powders", + state: "solid", + density: 1550, + conduct: 0.40, + hardness: 0.2, + fireColor: "#ff6b21" +} + +elements.eeraser = { // finally integrating it after over a year + color: "#FFFF00", + behavior: behaviors.WALL, + behaviorON: [ + "DL|DL|DL", + "DL|DL|DL", + "DL|DL|DL", + ], + category: "machines", + insulate: elements.wire.insulate, + conduct: elements.wire.conduct, + noMix: elements.wire.noMix +}; + +// stopping the initiation + +setTimeout(() => { + console.log("3pms_mod.js | Initiated. Thank you.") +}, 1000); + + + + + + + + + + + + + + + + +const thing=document.createElement("p");thing.innerText="MY NAME ๐Ÿ“› IS DAVID ๐Ÿ‘จโ€๐ŸŽค DAD ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง I โ„น๏ธ WANT SOME ICE ๐ŸงŠ๐Ÿ‡ฆ๐Ÿ‡ถ CREAM ๐Ÿงด๐Ÿงด DAVID ๐Ÿ‘จโ€๐ŸŽค THAT IS MY NAME ๐Ÿ“› DAVID ๐Ÿ‘จโ€๐ŸŽค๐Ÿ‘จโ€๐ŸŽค I โ„น๏ธ WANT ANOTHER WHERE โ”โ“ IS MY BALL ๐Ÿˆ๐Ÿˆ Iโ€™M RUNNING ๐Ÿƒโ€โ™‚๏ธ๐Ÿƒโ€โ™€๏ธ OUT ON ๐Ÿ”› THE ROAD ๐Ÿšง THERE IS A ๐Ÿ…ฐ๏ธ CAR ๐Ÿš”๐Ÿš– AND IT IS GOING TO HIT ๐Ÿ‘Š ME ๐Ÿ–๐Ÿ™‹โ€โ™€๏ธ HEEEEEEEEELP HELP ๐Ÿ’ MEEEEEEE HEEEEEEEEEEEEEEEEELP\n\nthanks for using 3pms_mod.js :3";document.body.appendChild(thing) \ No newline at end of file diff --git a/mods/CandyCanes.js b/mods/CandyCanes.js new file mode 100644 index 00000000..0fd982f3 --- /dev/null +++ b/mods/CandyCanes.js @@ -0,0 +1,15 @@ +elements.candy.colorPattern = [ + "WWRRRWWRRR", + "WWRRWWWRRW", + "WRRRWWRRRW", + "WRRWWWRRWW", + "RRRWWRRRWW", + "RRWWWRRWWW", + "RRWWRRRWWR", + "RWWWRRWWWR", + "RWWRRRWWRR", + "WWWRRWWWRR", + ] + elements.candy.colorKey = {"R":"#c92626", "W":"#e3e3e3"} + elements.candy.color = ["#c92626","#e3e3e3","#c92626","#e3e3e3","#c92626"] + elements.candy.breakIntoColor = ["#c92626","#e3e3e3"] \ No newline at end of file diff --git a/mods/CandyCorn.js b/mods/CandyCorn.js new file mode 100644 index 00000000..93ca5ce9 --- /dev/null +++ b/mods/CandyCorn.js @@ -0,0 +1,8 @@ +elements.candy.colorPattern = [ + "W","W","W","W","W", + "O","O","O","O","O", + "Y","Y","Y","Y","Y", + ] + elements.candy.colorKey = {"W":"#ffffff", "Y":"#ffcd55", "O":"#ff9933"} + elements.candy.color = ["#ffffff","#ffffff","#ff9933","#ff9933","#ffcd55","#ffcd55"] + elements.candy.breakIntoColor = ["#ffffff","#ffcd55","#ff9933"] \ No newline at end of file diff --git a/mods/EasterEggs.js b/mods/EasterEggs.js new file mode 100644 index 00000000..5ec3707f --- /dev/null +++ b/mods/EasterEggs.js @@ -0,0 +1 @@ +elements.egg.color = elements.bead.color \ No newline at end of file diff --git a/mods/manyMoreThemes.js b/mods/manyMoreThemes.js new file mode 100644 index 00000000..bed56cf0 --- /dev/null +++ b/mods/manyMoreThemes.js @@ -0,0 +1,67 @@ +if (!enabledMods.includes("mods/betterSettings.js")) { enabledMods.unshift("mods/betterSettings.js"); localStorage.setItem("enabledMods", JSON.stringify(enabledMods)); window.location.reload(); }; +let setting = null + +dependOn("betterSettings.js", () => { + const tabMMT = new SettingsTab("Many More Themes"); + setting = new SelectSetting("Themes", "Themes", [[0, "disabled"],[1, "Stardust"], [2, "Aqautic(coming soon!)"], [3, "Supernova(coming soon!)"], [4, "Sunrise(coming soon!)"]]); + + tabMMT.registerSetting(setting); + settingsManager.registerTab(tabMMT); + + + + if (setting.value == 1){ + const link = document.createElement("link"); + link.rel = "stylesheet"; + link.type = "text/css"; + link.href = "https://jayd-rubies.github.io/assets/css/stardust.css"; + document.head.appendChild(link); + document.body.style.backgroundImage = 'url("https://jayd-rubies.github.io/assets/image/2025_05_16_0x5_Kleki.png")'; + document.body.style.backgroundSize = 'cover'; + window.addEventListener("load",function(){; + document.querySelectorAll(".categoryButton").forEach(e => { + e.style.backgroundColor = "#5c008440"; + e.style.borderColor = "#5c0084"; + }) + }); + + } +}, true,); + +settings.bg = "transparernt"; +// setting.onUpdate((setting) => { +// if (setting == 1) { +// function drawCursor() { +// var layerCtx = canvasLayers.gui.getContext('2d'); +// var mouseOffset = Math.trunc(mouseSize/2); +// var topLeft = [mousePos.x-mouseOffset,mousePos.y-mouseOffset]; +// var bottomRight = [mousePos.x+mouseOffset,mousePos.y+mouseOffset]; +// // Draw a square around the mouse +// layerCtx.strokeStyle = "#5c0084"; +// layerCtx.fillStyle = "#5c008440"; +// layerCtx.strokeRect(topLeft[0]*pixelSize,topLeft[1]*pixelSize,(bottomRight[0]-topLeft[0]+1)*pixelSize,(bottomRight[1]-topLeft[1]+1)*pixelSize); +// layerCtx.beginPath(); +// layerCtx.lineWidth = 3; +// layerCtx.stroke(); +// layerCtx.fillRect(topLeft[0]*pixelSize,topLeft[1]*pixelSize,(bottomRight[0]-topLeft[0]+1)*pixelSize,(bottomRight[1]-topLeft[1]+1)*pixelSize); +// layerCtx.fill(); +// // draw one transparent pixel in the center +// if (settings.precision) { +// layerCtx.fillStyle = "#5c008480"; +// layerCtx.fillRect(mousePos.x*pixelSize,mousePos.y*pixelSize,pixelSize,pixelSize); +// } +// if (shaping) { +// if (shaping === 1) { // Draw a white line from shapeStart.x to shapeStart.y +// layerCtx.beginPath(); +// layerCtx.strokeStyle = "#5c0084"; +// layerCtx.lineWidth = 3; +// layerCtx.moveTo(shapeStart.x*pixelSize+pixelSizeHalf, shapeStart.y*pixelSize+pixelSizeHalf); +// layerCtx.lineTo(mousePos.x*pixelSize+pixelSizeHalf, mousePos.y*pixelSize+pixelSizeHalf); +// layerCtx.stroke() +// } +// } +// } +// drawCursor() +// } +// }) ยฏ\_(ใƒ„)_/ยฏ +// i'll figure it out later diff --git a/mods/oxide.theme.js b/mods/oxide.theme.js new file mode 100644 index 00000000..2d1f5133 --- /dev/null +++ b/mods/oxide.theme.js @@ -0,0 +1,43 @@ +// Oxide.theme.js + +runAfterReset(function applyTheme() { + // Only run once + const index = runAfterResetList.findIndex(fn => fn.name === "applyTheme"); + if (index !== -1) runAfterResetList.splice(index, 1); + + const css = ` + :root { + --theme: #66AC92; + --theme-dark: #015C53; + --theme-darker: #015C53; + --theme-darker-opac85: #015C5377; + --theme-darkest: #0B1E1A; + --theme-darkest2: #0B1E1A; + --theme-opac85: #66AC9279; + --theme-opac75: #66AC92BF; + --theme-opac50: #00000080; + --theme-opac25: #66AC9240; + --theme-opac10: #66AC921A; + } + + a { + color: var(--theme); + text-decoration: underline; + } + `; + + let styleTag = document.getElementById("themeStyle"); + if (!styleTag) { + styleTag = document.createElement("style"); + styleTag.id = "themeStyle"; + document.body.appendChild(styleTag); + } + + styleTag.textContent = css; + + document + .getElementById('extraInfo') + .querySelectorAll('*') + .forEach(el => {el.style.color = '#66AC92'; el.style.backgrounda = 'none';}); + +}); diff --git a/mods/saturnsstuff.js b/mods/saturnsstuff.js new file mode 100644 index 00000000..5efc427d --- /dev/null +++ b/mods/saturnsstuff.js @@ -0,0 +1,729 @@ +elements.sand = { + color: "#e6d577", + behavior: behaviors.POWDER, + reactions: { + "water":{elem1:"wet_sand",elem2:null}, + "salt_water":{elem1:"wet_sand",elem2:"foam"}, + "sugar_water":{elem1:"wet_sand",elem2:null}, + "seltzer":{elem1:"wet_sand",elem2:null}, + "dirty_water":{elem1:"wet_sand",elem2:null}, + "pool_water":{elem1:"wet_sand",elem2:null}, + "slush":{elem1:"wet_sand",elem2:null}, + "soda":{elem1:"wet_sand",elem2:null}, + "juice":{elem1:"wet_sand",elem2:null}, + "milk":{elem1:"wet_sand",elem2:null}, + "chocolate_milk":{elem1:"wet_sand",elem2:null}, + "fruit_milk":{elem1:"wet_sand",elem2:null}, + "pilk":{elem1:"wet_sand",elem2:null}, + "eggnog":{elem1:"wet_sand",elem2:null}, + "nut_milk":{elem1:"wet_sand",elem2:null}, + "cream":{elem1:"wet_sand",elem2:null}, + "vinegar":{elem1:"wet_sand",elem2:null}, + "blood":{elem1:"wet_sand",elem2:null}, + "vaccine":{elem1:"wet_sand",elem2:null}, + "antibody":{elem1:"wet_sand",elem2:null}, + "infection":{elem1:"wet_sand",elem2:null}, + "poison":{elem1:"wet_sand",elem2:null}, + "antidote":{elem1:"wet_sand",elem2:null}, + "tornado":{elem1:"sandstorm", oneway:true}, + "charcoal":{elem1:"filter_powder", elem2: null} + }, + tempHigh: 1700, + stateHigh: "molten_glass", + category: "land", + state: "solid", + density: 1602 +} + +elements.water = { + color: "#2167ff", + behavior: behaviors.LIQUID, + tempHigh: 100, + stateHigh: "steam", + tempLow: 0, + stateLow: "ice", + category: "liquids", + heatCapacity: 4.184, + reactions: { + "salt": { elem1: "salt_water", elem2: null, temp1:-20 }, + "sugar": { elem1: "sugar_water", elem2: null }, + "honey": { elem1: "sugar_water" }, + "caramel": { elem1: "sugar_water", elem2: null }, + "molasses": { elem1: "sugar_water", chance:0.05 }, + "candy": { elem1: "sugar_water", elem2:"foam", chance:0.005 }, + "dust": { elem1: "dirty_water", elem2: null }, + "ash": { elem1: "dirty_water", elem2: null }, + "cyanide": { elem1: "dirty_water", elem2: null }, + "cyanide_gas": { elem1: "dirty_water", elem2: null }, + "carbon_dioxide": { elem1: "seltzer", elem2: null, oneway:true }, + "sulfur": { elem1: "dirty_water", elem2: null }, + "rat": { elem1: "dirty_water", chance:0.005 }, + "infection": { elem1: "dirty_water", elem2: null }, + "plague": { elem1: "dirty_water", elem2: null }, + "rust": { elem1: "dirty_water", chance:0.005 }, + "lead": { elem1: "dirty_water", chance:0.005 }, + "solder": { elem1: "dirty_water", chance:0.005 }, + "fallout": { elem1: "dirty_water", chance:0.25 }, + "radiation": { elem1: "dirty_water", chance:0.25 }, + "uranium": { elem1: "dirty_water", chance:0.25 }, + "rad_steam": { elem1: "dirty_water", chance:0.02 }, + "rad_glass": { elem1: "dirty_water", chance:0.005 }, + "rad_shard": { elem1: "dirty_water", chance:0.01 }, + "rotten_meat": { elem1: "dirty_water", chance:0.25 }, + "rotten_cheese": { elem1: "dirty_water", chance:0.25 }, + "cancer": { elem1: "dirty_water", chance:0.25 }, + "oil": { elem1: "dirty_water", chance:0.005 }, + "dioxin": { elem1: "dirty_water", chance:0.1 }, + "neutron": { elem1: ["dirty_water","dirty_water","dirty_water","rad_steam"], elem2:null, chance:0.1 }, + "rock": { elem2: "wet_sand", chance: 0.00035 }, + "limestone": { elem2: "wet_sand", chance: 0.00035 }, + "tuff": { elem2: "wet_sand", color2:"#7a6b5c", chance: 0.00035 }, + "ruins": { elem2: "rock", chance: 0.00035 }, + "mudstone": { elem2: "mud", chance: 0.00035 }, + "methane": { elem1:"primordial_soup", elem2:"primordial_soup", tempMin:60, charged:true }, + "ammonia": { elem1:"primordial_soup", elem2:"primordial_soup", tempMin:60, charged:true }, + "fly": { elem2:"dead_bug", chance:0.1, oneway:true }, + "firefly": { elem2:"dead_bug", chance:0.1, oneway:true }, + "bee": { elem2:"dead_bug", chance:0.05, oneway:true }, + "stink_bug": { elem2:"dead_bug", chance:0.1, oneway:true }, + "cured_meat": { elem1:"salt_water", elem2:"meat" }, + "water": { elem2:"bubble", attr2:{"clone":"water"}, chance:0.001, tempMin:85 }, + // electrolysis: + "aluminum": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0025 }, + "zinc": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.015 }, + "steel": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0125 }, + "iron": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0125 }, + "tin": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.01 }, + "brass": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.001 }, + "bronze": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.001 }, + "copper": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0075 }, + "silver": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0075 }, + "gold": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0075 }, + "glycol":{elem1:"coolant",elem2:"coolant"}, + "filter_powder":{elem1:"filtered_water",elem2: null} + }, + state: "liquid", + density: 997, + conduct: 0.02, + stain: -0.5, + extinguish: true +} + +elements.glycol = { + color: "#ededed", + behavior: behaviors.LIQUID, + tempHigh: 121, + stateHigh: "acid", + tempLow: -12, + stateLow: "glycol_ice", + category: "saturns", + state: "liquid", + density: 1115, + alias: "ethylene glycol" +} + +elements.glycol_ice = { + color: "#dedede", + behavior: behaviors.WALL, + tempHigh: -11, + stateHigh: "glycol", + category: "saturns", + state: "solid", + density: 1115, + alias: "ethylene glycol in ice form" +} + +elements.coolant_ice = { + color: "#beddf7", + behavior: behaviors.WALL, + category: "saturns", + state: "solid", + density: 997, + tempHigh: -37, + stateHigh: "coolant", + temp: -200, + reactions: { + "cooler": { elem1: "supercoolant_ice" }, + "supercooler": { elem1: "supercoolant_ice" } + }, + breakInto: "coolant" +} + +elements.coolant = { + color: "#77b9f2", + behavior: behaviors.LIQUID, + category: "saturns", + state: "liquid", + density: 997, + tempLow: -200, + stateLow: "coolant_ice", + tempHigh: 111, + stateHigh: "fire", + temp: -100, + reactions: { + "cooler": { elem1: "supercoolant" }, + "supercooler": { elem1: "supercoolant" } + }, + extinguish: true +} + +elements.supercoolant_ice = { + color: "#7db9fa", + behavior: behaviors.WALL, + category: "saturns", + state: "solid", + density: 997, + tempHigh: 0, + stateHigh: "supercoolant", + temp: -273, + reactions: { + "heater": { elem1: "coolant_ice" }, + "superheater": { elem1: "coolant_ice" } + }, + breakInto: "supercoolant" +} + +elements.supercoolant = { + color: "#3695f5", + behavior: behaviors.LIQUID, + category: "saturns", + state: "liquid", + density: 997, + tempLow: -273, + stateLow: "supercoolant_ice", + tempHigh: 222, + stateHigh: "steam", + temp: -200, + reactions: { + "heater": { elem1: "coolant" }, + "superheater": { elem1: "coolant" } + }, + extinguish: true +} + +elements.exploder_question_mark = { + color: "#ff0548", + tool: function(pixel) { + if (pixel.element == "sand") + pixel.element = "snad" + }, + category: "saturns", +} + +elements.exploder = { + color: "#ff0548", + tool: function(pixel) { + pixel.element = "explosion" + }, + category: "saturns", +} + +elements.n_exploder = { + color: "#09ff05", + tool: function(pixel) { + pixel.element = "n_explosion" + }, + category: "saturns", +} + +elements.wet_snad = { + color: "#ada67b", + behavior: behaviors.LIQUID, + reactions: { + "snad":{elem1:"snad"} + }, + tempHigh: 100, + stateHigh: "snad", + category: "saturns", + state: "liquid", + density: 1603 +} +elements.snad = { + color: "#968b4d", + behavior: behaviors.SUPPORT, + reactions: { + "water":{elem1:"wet_snad",elem2:null}, + "salt_water":{elem1:"wet_snad",elem2:"salt"}, + "sugar_water":{elem1:"wet_snad",elem2:null}, + "seltzer":{elem1:"wet_snad",elem2:null}, + "dirty_water":{elem1:"wet_snad",elem2:null}, + "pool_water":{elem1:"wet_snad",elem2:null}, + "slush":{elem1:"wet_snad",elem2:null}, + "soda":{elem1:"wet_snad",elem2:null}, + "juice":{elem1:"wet_snad",elem2:null}, + "milk":{elem1:"wet_snad",elem2:null}, + "chocolate_milk":{elem1:"wet_snad",elem2:null}, + "fruit_milk":{elem1:"wet_snad",elem2:null}, + "pilk":{elem1:"wet_snad",elem2:null}, + "eggnog":{elem1:"wet_snad",elem2:null}, + "nut_milk":{elem1:"wet_snad",elem2:null}, + "cream":{elem1:"wet_snad",elem2:null}, + "vinegar":{elem1:"wet_snad",elem2:null}, + "blood":{elem1:"wet_snad",elem2:null}, + "vaccine":{elem1:"wet_snad",elem2:null}, + "antibody":{elem1:"wet_snad",elem2:null}, + "infection":{elem1:"wet_snad",elem2:null}, + "poison":{elem1:"wet_snad",elem2:null}, + "antidote":{elem1:"wet_snad",elem2:null}, + "tornado":{elem1:"sad_storm", oneway:true}, + }, + tempHigh: 1700, + stateHigh: "molten_glass", + category: "saturns", + state: "solid", + density: 1602 +} + +elements.sad_storm = { + color: "#a0d4e8", + behavior: behaviors.SUPERFLUID, + tempHigh: 1700, + stateHigh: "sandstorm", + category: "saturns", + state: "liquid", + density: 20000000, + desc: "it's so sad..." +} + +elements.extinguish = { + color: "#19f7ff", + behavior: [ + "CO:2|CO:2|CO:2", + "CO:2|CO:2|CO:2", + "CO:2|CO:2|CO:2", + ], + tool: function(pixel) { + if (shiftDown) {pixel.temp += elements.cool.temp+(Math.random()*elements.cool.temp*200000)*20;} + else {pixel.temp += elements.cool.temp+(Math.random()*elements.cool.temp*200000);} + pixelTempCheck(pixel); + }, + temp: -2, + insulate:true, + canPlace: false, + category: "saturns" +} + +elements.temp_neutralizer = { + color: "#b4f092", + behavior: [ + "CO:2|CO:2|CO:2", + "CO:2|CO:2|CO:2", + "CO:2|CO:2|CO:2", + ], + tool: function(pixel) { + pixel.temp = 0 + pixelTempCheck(pixel) + }, + temp: -2, + insulate:true, + canPlace: false, + category: "saturns" +} + +elements.icicle = { + color: "#81ccd4", + behavior: [ + "XX|SA|XX", + "XX|XX|XX", + "M2|M1|M2" + ], + reactions: { + "snow":{elem2: "icicle"}, + "ice":{elem2: "icicle"}, + "slush":{elem2: "icicle"}, + "water":{elem2: "icicle"} + }, + category: "saturns", + temp: -5, + tempHigh: 1, + stateHigh: "water", + state: "solid", + breakInto: "snow" +} + +elements.digger = { + color: "#7affc1", + behavior: [ + "XX|XX|XX", + "XX|DL|XX", + "CH:digger_wall|M1 AND CH:digger AND CR:digger|CH:digger_wall" + ], + category: "saturns", + density: 100000, + state: "solid" +} + +elements.digger_plane = { + color: "#6fad90", + behavior: [ + "XX|XX|XX", + "M1|XX|M1", + "XX|CR:digger%25|XX" + ], + category: "saturns", + density: 1000000, + state: "solid" +} + +elements.digger_wall = { + color: "#1d6e45", + behavior: behaviors.WALL, + category: "saturns", + state: "solid", + hardness: 0.5, + noMix: true +} + +elements.assimilator = { + color: "#d52feb", + behavior: [ + "XX|CH:assimilator%25|XX", + "CH:assimilator%25|XX|CH:assimilator%25", + "XX|CH:assimilator%25|XX" + ], + category: "saturns", + state: "solid", + hardness: 0.9, + noMix: true, + breakInto: ["virus", "lattice"], + excludeRandom: true +} + +elements.true_assimilator = { + color: "#e52feb", + behavior: [ + "XX|CH:true_assimilator|XX", + "CH:true_assimilator|XX|CH:true_assimilator", + "XX|CH:true_assimilator|XX" + ], + category: "saturns", + state: "solid", + hardness: 0.9, + noMix: true, + breakInto: ["virus", "filler"], + excludeRandom: true +} + +elements.consumer = { + color: "#eb2fd5", + behavior: [ + "XX|CR:consumer%25|XX", + "CR:consumer%25|XX|CR:consumer%25", + "XX|CR:consumer%25|XX" + ], + category: "saturns", + state: "solid", + hardness: 0.9, + noMix: true, + breakInto: ["assimilator", "lattice"], + excludeRandom: true +} + +elements.true_consumer = { + color: "#fb2fd5", + behavior: [ + "XX|CR:true_consumer|XX", + "CR:true_consumer|XX|CR:true_consumer", + "XX|CR:true_consumer|XX" + ], + category: "saturns", + state: "solid", + hardness: 0.9, + noMix: true, + breakInto: ["assimilator", "filler"], + excludeRandom: true +} + +elements.integrator = { + color: "#eb2f7d", + behavior: [ + "XX|CR:integrator%25 AND CH:integrator%25|XX", + "CR:integrator%25 AND CH:integrator%25|XX|CR:integrator%25 AND CH:integrator%25", + "XX|CR:integrator%25 AND CH:integrator%25|XX" + ], + category: "saturns", + state: "solid", + hardness: 0.9, + noMix: true, + breakInto: ["consumer", "assimilator"], + reactions: { + "strange_matter":{elem1: "eternial",elem2: "eternial"}, + }, + excludeRandom: true +} + +elements.true_integrator = { + color: "#fb2f7d", + behavior: [ + "XX|CR:true_integrator AND CH:true_integrator|XX", + "CR:true_integrator AND CH:true_integrator|XX|CR:true_integrator AND CH:true_integrator", + "XX|CR:true_integrator AND CH:true_integrator|XX" + ], + category: "saturns", + state: "solid", + hardness: 0.9, + noMix: true, + breakInto: ["true_consumer", "true_assimilator"], + reactions: { + "strange_matter":{elem1: "absoluterial",elem2: "absoluterial"}, + }, + excludeRandom: true +} + +elements.eternial = { + color: "#eb2f4e", + behavior: [ + "CR:eternial%25 AND CH:eternial%25|CR:eternial%25 AND CH:eternial%25|CR:eternial%25 AND CH:eternial%25", + "CR:eternial%25 AND CH:eternial%25|XX|CR:eternial%25 AND CH:eternial%25", + "CR:eternial%25 AND CH:eternial%25|CR:eternial%25 AND CH:eternial%25|CR:eternial%25 AND CH:eternial%25" + ], + category: "saturns", + state: "solid", + hardness: 0.9, + noMix: true, + breakInto: ["integrator", "strange_matter"], + alias: "eternal material", + reactions: { + "strange_matter":{elem2: null} + }, + excludeRandom: true +} + +elements.absoluterial = { + color: "#fb2f4e", + behavior: [ + "CR:absoluterial AND CH:absoluterial|CR:absoluterial AND CH:absoluterial|CR:absoluterial AND CH:absoluterial", + "CR:absoluterial AND CH:absoluterial|XX|CR:absoluterial AND CH:absoluterial", + "CR:absoluterial AND CH:absoluterial|CR:absoluterial AND CH:absoluterial|CR:absoluterial AND CH:absoluterial" + ], + category: "saturns", + state: "solid", + hardness: 0.9, + noMix: true, + breakInto: ["true_integrator", "strange_matter"], + alias: "absolute material", + reactions: { + "strange_matter":{elem2: null} + }, + excludeRandom: true +} + +elements.void_jelly = { + color: "#1d052b", + behavior: [ + "XX|DL AND M2%25|XX", + "DL AND M2%10|XX|DL AND M2%10", + "XX|DL AND M1|XX" + ], + category: "saturns", + hardness: 1, + state: "solid", + reactions: { + "void":{elem2:"void_jelly"}, + "strange_matter":{elem2:"explosion"} + }, + excludeRandom: true +} + +elements.glitch = { + color: "#000000", + behavior: [ + "XX|CH:random AND M2|XX", + "CH:random AND M2|XX|CH:random AND M2", + "XX|CH:random AND M1|XX" + ], + category: "saturns", + hardness: 1, + tick: function(pixel) { + var randomColor = "#" + Math.floor(Math.random()*16777215).toString(16); + pixel.color = randomColor; + + var randomTemp = Math.random() * 1000 - 273; + pixel.temperature = randomTemp; + }, + reactions: { + "malware":{elem2:"glitch", chance:0.1}, + "virus":{elem2:"glitch", chance:0.1}, + "filler":{elem2:"lattice", chance:0.25}, + "lattice":{elem2:"filler", chance:0.25}, + "void":{elem2:"warp", chance:0.25}, + "warp":{elem2:"void", chance:0.25}, + "snake":{elem2:"loopy", chance:0.25}, + "loopy":{elem2:["snake","ball"], chance:0.25}, + "ball":{elem2:"loopy", chance:0.25}, + "border":{elem2:["wall","null"], chance:0.25}, + "wall":{elem2:["border","null"], chance:0.25}, + "rainbow":{elem2:"static", chance:0.5}, + "static":{elem2:"rainbow", chance:0.5} + } +} + +elements.filtered_water = { + color: "#578cff", + behavior: behaviors.LIQUID, + tempHigh: 100, + stateHigh: "nice_steam", + tempLow: 0, + stateLow: "nice_ice", + category: "saturns", + heatCapacity: 4.184, + reactions: { + "salt": { elem1: "salt_water", elem2: null, temp1:-20 }, + "sugar": { elem1: "sugar_water", elem2: null }, + "honey": { elem1: "sugar_water" }, + "caramel": { elem1: "sugar_water", elem2: null }, + "molasses": { elem1: "sugar_water", chance:0.05 }, + "candy": { elem1: "sugar_water", elem2:"foam", chance:0.005 }, + "carbon_dioxide": { elem1: "seltzer", elem2: null, oneway:true }, + "rock": { elem2: "wet_sand", chance: 0.00035 }, + "limestone": { elem2: "wet_sand", chance: 0.00035 }, + "tuff": { elem2: "wet_sand", color2:"#7a6b5c", chance: 0.00035 }, + "ruins": { elem2: "rock", chance: 0.00035 }, + "mudstone": { elem2: "mud", chance: 0.00035 }, + "methane": { elem1:"primordial_soup", elem2:"primordial_soup", tempMin:60, charged:true }, + "ammonia": { elem1:"primordial_soup", elem2:"primordial_soup", tempMin:60, charged:true }, + "cured_meat": { elem1:"salt_water", elem2:"meat" }, + "water": { elem2:"bubble", attr2:{"clone":"water"}, chance:0.001, tempMin:85 }, + "filtered_water": { elem2:"bubble", attr2:{"clone":"filtered_water"}, chance:0.001, tempMin:85 }, + // electrolysis: + "aluminum": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0025 }, + "zinc": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.015 }, + "steel": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0125 }, + "iron": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0125 }, + "tin": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.01 }, + "brass": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.001 }, + "bronze": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.001 }, + "copper": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0075 }, + "silver": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0075 }, + "gold": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0075 }, + "glycol":{elem1:"coolant",elem2:"coolant"}, + } +} +elements.nice_steam = { + color: "#abd6ff", + behavior: behaviors.GAS, + tick: function(pixel) { + if (pixel.temp > 3000 && Math.random() < 0.01) { + changePixel(pixel,Math.random() < 0.5 ? "hydrogen" : "oxygen"); + } + }, + reactions: { + "nice_steam": { elem1: "cloud", elem2: "cloud", chance:0.05, "y":[0,15], "setting":"clouds" }, + "rain_cloud": { elem1: "rain_cloud", chance:0.4, "y":[0,12], "setting":"clouds" }, + "cloud": { elem1: "cloud", chance:0.4, "y":[0,12], "setting":"clouds" }, + "snow_cloud": { elem1: "rain_cloud", chance:0.4, "y":[0,12], "setting":"clouds" }, + "hail_cloud": { elem1: "rain_cloud", chance:0.4, "y":[0,12], "setting":"clouds" }, + "thunder_cloud": { elem1: "rain_cloud", chance:0.4, "y":[0,12], "setting":"clouds" }, + "pyrocumulus": { elem1: "cloud", chance:0.4, "y":[0,12], "setting":"clouds" }, + "fire_cloud": { elem1: "cloud", elem2: "cloud", chance:0.4, "y":[0,12], "setting":"clouds" }, + "smoke": { elem2: null, chance:0.001 }, + "carbon_dioxide": { elem2: null, chance:0.001 }, + "plasma": { elem1:"ozone", tempMin:500, charged:true }, + "copper": { elem1:"oxygen", chance:0.01 }, + "bronze": { elem1:"oxygen", chance:0.005 }, + "iron": { elem1:"oxygen", chance:0.005 }, + "steel": { elem1:"oxygen", chance:0.004 }, + "tornado":{elem1:"cloud"}, + "melted_wax": { elem1:"explosion" } + }, + temp: 150, + tempLow: 95, + extraTempLow: { + 0: "rime" + }, + stateLow: "filtered_water", + category: "saturns", + state: "gas", + density: 0.3, + conduct: 0.001, + stain: -0.025, + alias: "water vapor but nice", + extinguish: true +} + +elements.nice_ice = { + color: "#b2daeb", + behavior: behaviors.WALL, + temp: -5, + tempHigh: 5, + stateHigh: "filtered_water", + category: "saturns", + state: "solid", + density: 908, + breakInto: "snow" +} + +elements.filter_powder = { + color: "#7a7862", + behavior: behaviors.POWDER, + tempHigh: 100, + stateHigh: "charcoal", + category: "saturns", + state: "solid", + density: 1080, + breakInto: "sand", + reactions: { + "water": {elem1: null, elem2: "filtered_water"}, + "dirty_water": {elem1: null, elem2: "water"}, + "salt_water": {elem1: "salt", elem2: "filtered_water"}, + "sugar_water": {elem1: "sugar", elem2: "filtered_water"}, + "rock": {elem1: "stable_filter_powder", elem2: null} + } +} + +elements.stable_filter_powder = { + color: "#7d7c72", + behavior: behaviors.POWDER, + tempHigh: 100, + stateHigh: "charcoal", + category: "saturns", + state: "solid", + density: 1080, + breakInto: "sand", + reactions: { + "water": {elem2: "filtered_water"}, + "dirty_water": {elem2: "water"}, + "salt_water": {elem2: "filtered_water"}, + "sugar_water": {elem2: "filtered_water"} + } +} + +elements.petulantia_ferrobacteria = { + color: ["#ee3400","ee8300","#eed600"], + behavior: [ + "XX|M2%10|XX", + "M1%50|XX|M1%50", + "XX|M1|XX" + ], + reactions: { + "infection": { elem2:"dna", chance:0.015 }, + "antibody": { elem2:"cell", chance:0.01 }, + "cell": { elem2:"dna", chance:0.03 }, + "sugar_water": { elem2:"cell", chance:0.04 }, + "alcohol": { elem2:[null,"dna"], chance:0.02 }, + "poison": { elem1:null, chance:0.02 }, + "plague": { elem2:"infection", chance:0.02 }, + "mercury": { elem1:null, chance:0.02 }, + "chlorine": { elem1:null, chance:0.02 }, + "cyanide": { elem1:null, chance:0.02 }, + "soap": { elem1:null, elem2: null, chance:0.15}, + "oxygen": { elem2:"carbon_dioxide", chance:0.05 }, + "ammonia": { elem2:"nitrogen", chance:0.05 }, + "oil": { elem2:"methane", chance:0.001 }, + "milk": { elem2:"yogurt", chance:0.01 }, + "chocolate_milk": { elem2:"yogurt", chance:0.01, color2:"#4c392c" }, + "fruit_milk": { elem2:"yogurt", chance:0.01, color2:"#977871" }, + "pilk": { elem2:"yogurt", chance:0.01, color2:"#bba789" }, + "eggnog": { elem2:"yogurt", chance:0.01, color2:"#ae9a7e" }, + "dna": { elem2:"petulantia_ferrobacteria", chance:0.5} + }, + tempHigh: 102, + stateHigh: ["steam","steam","steam","sugar"], + tempLow: -2, + stateLow: ["ice","ice","ice","sugar_ice"], + state: "solid", + density: 1000.1, + category: "saturns", + breakInto: ["water","dna","dna","dna"], + alias: "iron-stabber" +}