From 39824f41d5f3e68a71aef4004fac8c737a25bb40 Mon Sep 17 00:00:00 2001 From: slweeb <91897291+slweeb@users.noreply.github.com> Date: Mon, 12 Jan 2026 17:04:00 -0500 Subject: [PATCH 1/6] Update chem.js --- mods/chem.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/chem.js b/mods/chem.js index 0fbb9af4..4d121ebd 100644 --- a/mods/chem.js +++ b/mods/chem.js @@ -1098,7 +1098,7 @@ elements.polytetrafluoroethylene = { colored: false, }, tick: function (pixel) { - if (!pixel.colored) { + if (!pixel.colored || !pixel.origColor) { let rgb = elements.polytetrafluoroethylene.colorObject; let coloroffset = Math.floor(Math.random() * (Math.random() > 0.5 ? -1 : 1) * Math.random() * 2); From e6d09e79b06c58cf1628328ef2d56a7f0160cad2 Mon Sep 17 00:00:00 2001 From: slweeb <91897291+slweeb@users.noreply.github.com> Date: Mon, 12 Jan 2026 17:57:23 -0500 Subject: [PATCH 2/6] Update switches.js --- mods/switches.js | 96 ++++++++++++++++++++++++------------------------ 1 file changed, 49 insertions(+), 47 deletions(-) diff --git a/mods/switches.js b/mods/switches.js index 392aa7f3..bfd3a0a4 100644 --- a/mods/switches.js +++ b/mods/switches.js @@ -1,51 +1,53 @@ -var modName = "mods/switches.js"; -var formerlyNoConductMod = "mods/doElectricity changes.js"; +// var modName = "mods/switches.js"; +// var formerlyNoConductMod = "mods/doElectricity changes.js"; -if(enabledMods.includes(formerlyNoConductMod)) { - elements.switch_off = { - name: "switch (off)", - color: "#7F3333", - behavior: behaviors.WALL, - noConduct: ["switch_on_control","switch_off_control"], - category: "machines", - }; +// if(enabledMods.includes(formerlyNoConductMod)) { - elements.switch_on = { - name: "switch (on)", - color: "#33CC33", - behavior: behaviors.WALL, - conduct: 1, - noConduct: ["switch_on_control","switch_off_control"], - category: "machines", - }; +// } else { +// enabledMods.splice(enabledMods.indexOf(modName),0,formerlyNoConductMod) +// alert(`The ${formerlyNoConductMod} mod is required and has been automatically inserted (reload for this to take effect).`) +// localStorage.setItem("enabledMods", JSON.stringify(enabledMods)); +// }; - elements.switch_off_control = { - color: "#FF3333", - behavior: behaviors.WALL, - behaviorOn: [ - "XX|CH:switch_on>switch_off|XX", - "CH:switch_on>switch_off|XX|CH:switch_on>switch_off", - "XX|CH:switch_on>switch_off|XX" - ], - conduct: 1, - noConduct: ["switch_on","switch_off"], - category: "machines", - }; - - elements.switch_on_control = { - color: "#33FF33", - behavior: behaviors.WALL, - behaviorOn: [ - "XX|CH:switch_off>switch_on|XX", - "CH:switch_off>switch_on|XX|CH:switch_off>switch_on", - "XX|CH:switch_off>switch_on|XX" - ], - conduct: 1, - noConduct: ["switch_on","switch_off"], - category: "machines", - }; -} else { - enabledMods.splice(enabledMods.indexOf(modName),0,formerlyNoConductMod) - alert(`The ${formerlyNoConductMod} mod is required and has been automatically inserted (reload for this to take effect).`) - localStorage.setItem("enabledMods", JSON.stringify(enabledMods)); +elements.switch_off = { + name: "switch (off)", + color: "#7F3333", + behavior: behaviors.WALL, + noConduct: ["switch_on_control","switch_off_control"], + category: "machines", }; + +elements.switch_on = { + name: "switch (on)", + color: "#33CC33", + behavior: behaviors.WALL, + conduct: 1, + noConduct: ["switch_on_control","switch_off_control"], + category: "machines", +}; + +elements.switch_off_control = { + color: "#FF3333", + behavior: behaviors.WALL, + behaviorOn: [ + "XX|CH:switch_on>switch_off|XX", + "CH:switch_on>switch_off|XX|CH:switch_on>switch_off", + "XX|CH:switch_on>switch_off|XX" + ], + conduct: 1, + noConduct: ["switch_on","switch_off"], + category: "machines", +}; + +elements.switch_on_control = { + color: "#33FF33", + behavior: behaviors.WALL, + behaviorOn: [ + "XX|CH:switch_off>switch_on|XX", + "CH:switch_off>switch_on|XX|CH:switch_off>switch_on", + "XX|CH:switch_off>switch_on|XX" + ], + conduct: 1, + noConduct: ["switch_on","switch_off"], + category: "machines", +}; \ No newline at end of file From 6330cfa4fb2e11a0603d9da813ad917c0c714be7 Mon Sep 17 00:00:00 2001 From: slweeb <91897291+slweeb@users.noreply.github.com> Date: Mon, 12 Jan 2026 17:58:48 -0500 Subject: [PATCH 3/6] Update switches.js --- mods/switches.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mods/switches.js b/mods/switches.js index bfd3a0a4..04ee3f4e 100644 --- a/mods/switches.js +++ b/mods/switches.js @@ -13,7 +13,7 @@ elements.switch_off = { name: "switch (off)", color: "#7F3333", behavior: behaviors.WALL, - noConduct: ["switch_on_control","switch_off_control"], + ignoreConduct: ["switch_on_control","switch_off_control"], category: "machines", }; @@ -22,7 +22,7 @@ elements.switch_on = { color: "#33CC33", behavior: behaviors.WALL, conduct: 1, - noConduct: ["switch_on_control","switch_off_control"], + ignoreConduct: ["switch_on_control","switch_off_control"], category: "machines", }; @@ -35,7 +35,7 @@ elements.switch_off_control = { "XX|CH:switch_on>switch_off|XX" ], conduct: 1, - noConduct: ["switch_on","switch_off"], + ignoreConduct: ["switch_on","switch_off"], category: "machines", }; @@ -48,6 +48,6 @@ elements.switch_on_control = { "XX|CH:switch_off>switch_on|XX" ], conduct: 1, - noConduct: ["switch_on","switch_off"], + ignoreConduct: ["switch_on","switch_off"], category: "machines", }; \ No newline at end of file From 266e2495dc72d879a78a5bd6a3ea07eee58e5889 Mon Sep 17 00:00:00 2001 From: slweeb <91897291+slweeb@users.noreply.github.com> Date: Mon, 12 Jan 2026 18:07:28 -0500 Subject: [PATCH 4/6] Update mod-list.html --- mod-list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod-list.html b/mod-list.html index 86b7c3db..8a2d911a 100644 --- a/mod-list.html +++ b/mod-list.html @@ -387,7 +387,6 @@ funny elements 2022-11-15.jsFew curated randomly-generated elementsAlice funny_solid.jsFecesAlice funnynames.jsVarious ways to mess with the names of elementsnousernamefound - haseulite.jsLoona-related materials with various propertiesAlice lactose_intolerance_and_celiac.jsHumans explode on contact with milk, wheat, bread, or toastNubo318 lattice_filler.jsCombination of lattice and filler and a destructive variantSuss liquid_mixing.jsLiquids can mix colors dynamicallyNekonico @@ -487,6 +486,7 @@ Broken or Deprecated a_mod_by_alice.jsCombination of most of Alice's mods, and some other thingsAlice + haseulite.jsLoona-related materials with various propertiesAlice adjustablepixelsize.jsSet the pixelSize with a URL parameterAlice advanced_colonies.jsDavlers, creatures with complex coloniesDaviStudios background_changer.jsPress 'B' to change canvas background to a URLR74n From ef24ae9c23c5387825a775400c716032effdeb99 Mon Sep 17 00:00:00 2001 From: slweeb <91897291+slweeb@users.noreply.github.com> Date: Mon, 12 Jan 2026 18:12:35 -0500 Subject: [PATCH 5/6] Update mod-list.html --- mod-list.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/mod-list.html b/mod-list.html index 8a2d911a..5f844ebe 100644 --- a/mod-list.html +++ b/mod-list.html @@ -416,8 +416,6 @@ Visual Effects acid_and_shapes.jsWeird visual effects enabled in settingsAlice asciiboxels.jsRenders pixels as ASCII charactersNekonico - background_changer.jsPress 'B' to change canvas background to a URLR74n - borders.jsBlack borders around pixels (Use bright background)R74n clouds.jsMoving clouds, sky.js recommendedRedBirdly customBackground.jsSet your background to an image linkJayd fractals.jsElement and tools to render fractals in gamenousernamefound From bbdc0e5cf6a68d96fd3f5ad84f5a3cbcc9421fbe Mon Sep 17 00:00:00 2001 From: slweeb <91897291+slweeb@users.noreply.github.com> Date: Mon, 12 Jan 2026 18:29:34 -0500 Subject: [PATCH 6/6] mod hotfixes --- mods/doElectricity changes.js | 105 +++++++++++++++++----------------- mods/the_ground_og.js | 2 +- 2 files changed, 54 insertions(+), 53 deletions(-) diff --git a/mods/doElectricity changes.js b/mods/doElectricity changes.js index 5bb17b70..9390116e 100644 --- a/mods/doElectricity changes.js +++ b/mods/doElectricity changes.js @@ -1,54 +1,55 @@ //console.log("doElectricity should be changed"); -function doElectricity(pixel) { - if(isNaN(pixel.charge)) { - pixel.charge = 0; - }; - if (pixel.charge) { - // Check each adjacent pixel, if that pixel's charge is false, set it to the same charge - for (var i = 0; i < adjacentCoords.length; i++) { - var x = pixel.x+adjacentCoords[i][0]; - var y = pixel.y+adjacentCoords[i][1]; - if (!isEmpty(x,y,true)) { - var newPixel = pixelMap[x][y]; - var con = elements[newPixel.element].conduct; - if (con == undefined) {continue} - if (elements[pixel.element].noConduct?.length && elements[pixel.element].noConduct.includes(newPixel.element)) {continue}; - if (Math.random() < con) { // If random number is less than conductivity - if (!newPixel.charge && !newPixel.chargeCD) { - newPixel.charge = isNaN(pixel.charge) ? 0 : pixel.charge; //Actually set it to the same charge - if (elements[newPixel.element].colorOn) { - newPixel.color = pixelColorPick(newPixel); - } - if(elements[newPixel.element].onCharge) { - pixel.charge ??= 0; - if(isNaN(pixel.charge)) { pixel.charge = 0 }; - elements[newPixel.element].onCharge(pixel); - }; - } - } - else if (elements[newPixel.element].insulate != true && !elements[newPixel.element].noResistance) { // Otherwise heat the pixel (Resistance simulation) - newPixel.temp += isNaN(pixel.charge) ? 0.25 : pixel.charge/4; - pixelTempCheck(newPixel); - } - } - } - pixel.charge -= 0.25; - if (pixel.charge <= 0) { - delete pixel.charge; - //console.log(elements[pixel.element].chargeCD); - var chargeCd = elements[pixel.element].chargeCD ?? 4; - pixel.chargeCD = chargeCd; //Customizable chargeCD - } - } - // Lower charge cooldown - else if (pixel.chargeCD) { - pixel.chargeCD -= 1; - if (pixel.chargeCD <= 0) { - delete pixel.chargeCD; - if (elements[pixel.element].colorOn) { - pixel.color = pixelColorPick(pixel); - } - } - } -} +// [DEPRECATED - BREAKS GAME as of 2026-01] +// function doElectricity(pixel) { +// if(isNaN(pixel.charge)) { +// pixel.charge = 0; +// }; +// if (pixel.charge) { +// // Check each adjacent pixel, if that pixel's charge is false, set it to the same charge +// for (var i = 0; i < adjacentCoords.length; i++) { +// var x = pixel.x+adjacentCoords[i][0]; +// var y = pixel.y+adjacentCoords[i][1]; +// if (!isEmpty(x,y,true)) { +// var newPixel = pixelMap[x][y]; +// var con = elements[newPixel.element].conduct; +// if (con == undefined) {continue} +// if (elements[pixel.element].noConduct?.length && elements[pixel.element].noConduct.includes(newPixel.element)) {continue}; +// if (Math.random() < con) { // If random number is less than conductivity +// if (!newPixel.charge && !newPixel.chargeCD) { +// newPixel.charge = isNaN(pixel.charge) ? 0 : pixel.charge; //Actually set it to the same charge +// if (elements[newPixel.element].colorOn) { +// newPixel.color = pixelColorPick(newPixel); +// } +// if(elements[newPixel.element].onCharge) { +// pixel.charge ??= 0; +// if(isNaN(pixel.charge)) { pixel.charge = 0 }; +// elements[newPixel.element].onCharge(pixel); +// }; +// } +// } +// else if (elements[newPixel.element].insulate != true && !elements[newPixel.element].noResistance) { // Otherwise heat the pixel (Resistance simulation) +// newPixel.temp += isNaN(pixel.charge) ? 0.25 : pixel.charge/4; +// pixelTempCheck(newPixel); +// } +// } +// } +// pixel.charge -= 0.25; +// if (pixel.charge <= 0) { +// delete pixel.charge; +// //console.log(elements[pixel.element].chargeCD); +// var chargeCd = elements[pixel.element].chargeCD ?? 4; +// pixel.chargeCD = chargeCd; //Customizable chargeCD +// } +// } +// // Lower charge cooldown +// else if (pixel.chargeCD) { +// pixel.chargeCD -= 1; +// if (pixel.chargeCD <= 0) { +// delete pixel.chargeCD; +// if (elements[pixel.element].colorOn) { +// pixel.color = pixelColorPick(pixel); +// } +// } +// } +// } diff --git a/mods/the_ground_og.js b/mods/the_ground_og.js index 44ca5f9d..ec585f10 100644 --- a/mods/the_ground_og.js +++ b/mods/the_ground_og.js @@ -2531,7 +2531,7 @@ Proper classification of limestone within these code comments ] }; - elements.plasma.noConduct = ["stellar_plasma","liquid_stellar_plasma","liquid_degenerate_neutronium","gaseous_degenerate_neutronium","neutron_star"]; //I can't suppress the charge overlay and keep the tick color, only effective with noConduct.js but not strictly required + elements.plasma.ignoreConduct = ["stellar_plasma","liquid_stellar_plasma","liquid_degenerate_neutronium","gaseous_degenerate_neutronium","neutron_star"]; //I can't suppress the charge overlay and keep the tick color, only effective with noConduct.js but not strictly required //Main preset