diff --git a/mod-list.html b/mod-list.html
index 06e0a360..7e754a4c 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -202,6 +202,7 @@
| ticking_temp_stuff.js | Adds more heaters and coolers | Alice |
| video.js | Adds a video player | ggod |
| waterspout.js | Adds back the old Water Spout | mollthecoder |
+| WhisperingTheory.js | Adds powder and gas variant of heater and cooler | kaeud |
| Weapons |
| aircrafts.js | Adds aircraft and aircraft part pixels | Jayd |
@@ -243,7 +244,7 @@
| fwibblen.js | Adds a flying creature that turns nickel into itself, and a second creature that does the same to the first one | Alice |
| human_edit.js | Improvements to humans | Alice |
| kopalstuff.js | Adds creatures, spirits, DNA, foods, and more | DaviStudios |
-| lost_souls.js | Adds souls and related elements, the mod can also be found https://github.com/HACKERPRO908/lost_souls.js | pixelegend4, SquareScreamYT, salmonfishy |
+| lost_souls.js | Adds souls and related elements, the mod can also be found on Github | pixelegend4, SquareScreamYT, salmonfishy |
| miscible_psoup_and_birthpool.js | Makes Primordial Soup and Birthpool mix instead of the birthpool settling to the bottom. Will be deprecated upon the release of Magical Menagerie | Alice |
| mobs.js | Adds Creepers, Zombies, and Skeletons | Alice |
| nocancer.js | Removes cancer from the game one tick after it is created | mollthecoder |
@@ -282,6 +283,7 @@
| sus.js | Adds an Among Us crewmate | Nv7 |
| triggerable_random_powders.js | Adds powders with different abilities, such as heating and cooling | Alice |
| troll.js | Adds various dumb elements that iterate randomly on the entire screen | Alice |
+| WhisperingTheory.js | Adds powder and gas variant of heater and cooler | kaeud |
| Visual Effects |
| acid_and_shapes.js | Weird visual effects. Enable in Settings | Alice |
diff --git a/mods/CoCpu.js b/mods/CoCpu.js
new file mode 100644
index 00000000..f9ddbc15
--- /dev/null
+++ b/mods/CoCpu.js
@@ -0,0 +1,76 @@
+elements.carbon_monoxide = {
+ color: "#b5b5b5",
+ behavior: behaviors.GAS,
+ behaviorOn: [
+ "XX|XX|XX",
+ "XX|CH:fire|XX",
+ "XX|XX|XX",
+ ],
+ category: "gases",
+ state: "gas",
+ density: 1.14,
+ burn: 75,
+ tempHigh: 609,
+ stateHigh: "fire",
+ tempLow: -192,
+ stateLow: "liquid_carbon_monoxide",
+ burntime: 5,
+ fireColor: "#ebba34",
+ reactions: {
+ "head": { elem2:"rotten_meat", chance:0.5 },
+ "body": { elem2:"rotten_meat", chance:0.5 },
+ "human": { elem2:"rotten_meat", chance:0.5 },
+ }
+};
+elements.liquid_carbon_monoxide = {
+ color: "#b5b5b5",
+ behavior: behaviors.LIQUID,
+ category: "liquids",
+ state: "liquid",
+ density: 1.14,
+ tempHigh: 190,
+ tempLow: -199,
+ stateLow: "ice_carbon_monoxide",
+ stateHigh: "carbon_monoxide",
+ temp: -192,
+};
+elements.ice_carbon_monoxide = {
+ color: "#b5b5b5",
+ behavior: behaviors.WALL,
+ category: "solids",
+ state: "solid",
+ density: 1.14,
+ tempHigh: -192,
+ stateHigh: "liquid_carbon_monoxide",
+ temp: -199,
+};
+elements.cpu = {
+ color: "#575757",
+ behavior: behaviors.SOLID,
+ category: "machines",
+ state: "solid",
+ density: 75,
+ tempHigh: 1414,
+ stateHigh: "explosion",
+reactions: {
+ "virus": { elem1 : null , elem2:"malware", chance:0.9 },
+ "battery": { elem2:"computer" },
+
+ }
+};
+
+elements.computer = {
+ color: "#2b2b2a",
+ behavior: behaviors.SOLID,
+ category: "machines",
+ state: "solid",
+ density: 8908,
+ tempHigh: 1414,
+ stateHigh: "explosion",
+ conduct: 1,
+ reactions: {
+ "virus": { elem1 : null , elem2:"malware", chance:0.9 },
+ "water": { elem1: null , elem2: "electric" },
+ }
+};
+
diff --git a/mods/WhisperingTheory.js b/mods/WhisperingTheory.js
index ad41280b..a3a6bb02 100644
--- a/mods/WhisperingTheory.js
+++ b/mods/WhisperingTheory.js
@@ -1,8 +1,31 @@
-/* TODO
-- [x] powder heater & coller
-- [x] block roomtemp
-- [x] no smoke from cold fire
-*/
+elements.roomtemper = {
+ color: "#29632f",
+ behavior: behaviors.WALL,
+ tick: function(pixel) {
+ // from nouserthings.js <3
+ for (var i = 0; i < squareCoords.length; i++) {
+ var coord = squareCoords[i];
+ var x = pixel.x+coord[0];
+ var y = pixel.y+coord[1];
+ if (!isEmpty(x,y, true)) {
+ if(pixelMap[x][y].temp < -230) {
+ pixelMap[x][y].temp = (pixelMap[x][y].temp + 7)
+ } else if(pixelMap[x][y].temp > 270) {
+ pixelMap[x][y].temp = (pixelMap[x][y].temp - 7)
+ } else if (pixelMap[x][y].temp < 20) {
+ pixelMap[x][y].temp = (pixelMap[x][y].temp + 2)
+ } else if (pixelMap[x][y].temp > 20) {
+ pixelMap[x][y].temp = (pixelMap[x][y].temp - 2)
+ }
+ }
+ }
+ },
+ category:"machines",
+ state:"solid",
+ insulate: true,
+ noMix: true,
+ movable: false,
+};
elements.powder_heater = {
category: "machines",
@@ -48,36 +71,52 @@ elements.powder_freeze = {
insulate: true,
};
-elements.roomtemper = {
- color: "#29632f",
- behavior: behaviors.WALL,
- tick: function(pixel) {
- for (var i = 0; i < squareCoords.length; i++) {
- var coord = squareCoords[i];
- var x = pixel.x+coord[0];
- var y = pixel.y+coord[1];
- if (!isEmpty(x,y, true)) {
- if(pixelMap[x][y].temp < -230) {
- pixelMap[x][y].temp = (pixelMap[x][y].temp + 7)
- } else if(pixelMap[x][y].temp > 270) {
- pixelMap[x][y].temp = (pixelMap[x][y].temp - 7)
- } else if (pixelMap[x][y].temp < 20) {
- pixelMap[x][y].temp = (pixelMap[x][y].temp + 2)
- } else if (pixelMap[x][y].temp > 20) {
- pixelMap[x][y].temp = (pixelMap[x][y].temp - 2)
- }
- }
- }
- },
- category:"machines",
- state:"solid",
- insulate: true,
- noMix: true,
- movable: false,
-},
-
elements.cold_fire.behavior = [
"M1|M1|M1",
"M2|DL%8|M2",
"XX|M2|XX",
-]
+];
+
+elements.gas_heater = {
+ color: "#881111",
+ behavior: [
+ "M2|M1 AND HT:2|M2",
+ "M1 AND HT:2|XX|M1 AND HT:2",
+ "M2|M1 AND HT:2 | M2",
+ ],
+ category: "machines",
+ insulate: true,
+};
+
+elements.gas_superheater = {
+ color: "#dd1111",
+ behavior: [
+ "M2|M1 AND HT:10|M2",
+ "M1 AND HT:10|XX|M1 AND HT:10",
+ "M2|M1 AND HT:10|M2",
+ ],
+ category: "machines",
+ insulate: true,
+};
+
+elements.gas_cooler = {
+ color: "#111188",
+ behavior: [
+ "M2|M1 AND CO:2|M2",
+ "M1 AND CO:2|XX|M1 AND CO:2",
+ "M2|M1 AND CO:2|M2",
+ ],
+ category: "machines",
+ insulate: true,
+};
+
+elements.gas_freezer = {
+ color: "#1111dd",
+ behavior: [
+ "M2|M1 AND CO:10|M2",
+ "M1 AND CO:10|XX|M1 AND CO:10",
+ "M2|M1 AND CO:10|M2",
+ ],
+ category: "machines",
+ insulate: true,
+};
diff --git a/mods/aChefsDream.js b/mods/aChefsDream.js
index 5330f1df..bae2ab56 100644
--- a/mods/aChefsDream.js
+++ b/mods/aChefsDream.js
@@ -1,8 +1,8 @@
/*
-Created by SquareScreamYT <@918475812884344852> and RealerRaddler <@914371295561535508>
-Thanks to Alice <@697799964985786450>, nousernamefound <@316383921346707468>, Adora the Transfem <@778753696804765696> and Fioushemastor <@738828785482203189> for helping :)
+Created by SquareScreamYT/sqec <@918475812884344852>
+Thanks to RealerRaddler <@914371295561535508>, Alice <@697799964985786450>, nousernamefound <@316383921346707468>, Adora the Transfem <@778753696804765696> and Fioushemastor <@738828785482203189> for helping :)
-v1.10.5
+v1.10.8
you can support me at my youtube: https://youtube.com/@sqec
@@ -12,6 +12,7 @@ Upcoming Features:
- white rice noodles
- matcha leaves, powder, tea
- cacao pods
+- more chocolate, cocoa powder, white chocolate, cocoa butter
- agar (makes juice into jelly)
- pigs, ham and bacon
- garlic
@@ -34,6 +35,14 @@ Upcoming Features:
- peaches
- cucumbers
- eggplants
+- food coloring
+- crabs (they eat coconuts)
+- squids
+- tofu
+- miso
+- juice reaction with milk makes average color
+- juice reaction with other juices
+- jackfruit
Changelog (v1.0)
- added chickens
@@ -98,7 +107,7 @@ Changelog (v1.1)
- added knife tool
- cuts, peels, etc. pixels
- readded potato skin and peeled potato
- - changed fried potato recipe from potato to skinned potato\
+ - changed fried potato recipe from potato to skinned potato
- added pepper
- added cake
- made by mixing baked batter and cream
@@ -342,6 +351,23 @@ Changelog (v1.10.5)
+Changelog (v1.10.7)
+ - added mango milk
+
+
+
+
+Changelog (v1.10.8)
+ - added onion powder
+ - fix carrot plant bug
+ - added fried rice
+ - added durians
+ - added cut durians
+ - added durian seed, wood, leaves and branches
+
+
+
+
*/
/*
@@ -2645,46 +2671,52 @@ elements.lemon_seed = {
elements.carrot_seed = {
color: "#b08d35",
- tick: function(pixel) {
+ tick: function (pixel) {
+ if (isEmpty(pixel.x, pixel.y + 1)) {
+ movePixel(pixel, pixel.x, pixel.y + 1);
+ }
+ else {
if (Math.random() < 0.1 && pixel.age > 100 && pixel.temp < 100 && pixel.leafgrown == true && pixel.growthpixel == 0) {
- if (!outOfBounds(pixel.x,pixel.y+1)) {
- var randomNumber1 = Math.round(Math.random())
- pixel.growthpixel = pixel.growthpixel+randomNumber1
- var dirtPixel = pixelMap[pixel.x][pixel.y+1];
+ if (!outOfBounds(pixel.x, pixel.y + 1)) {
+ var randomNumber1 = Math.round(Math.random());
+ pixel.growthpixel = pixel.growthpixel + randomNumber1;
+ var dirtPixel = pixelMap[pixel.x][pixel.y + 1];
if (dirtPixel.element === "dirt" || dirtPixel.element === "mud" || dirtPixel.element === "sand" || dirtPixel.element === "wet_sand" || dirtPixel.element === "clay_soil" || dirtPixel.element === "mycelium") {
- deletePixel(pixel.x,pixel.y+1);
- movePixel(pixel,pixel.x,pixel.y+1);
- createPixel("carrot_leaves",pixel.x,pixel.y-1);
+ deletePixel(pixel.x, pixel.y + 1);
+ movePixel(pixel, pixel.x, pixel.y + 1);
+ createPixel("carrot_leaves", pixel.x, pixel.y - 1);
pixel.growthpixel++;
}
}
}
if (Math.random() < 0.1 && pixel.age > 100 && pixel.temp < 100 && pixel.leafgrown == true && pixel.growthpixel > 0 && pixel.growthpixel < 4) {
- if (!outOfBounds(pixel.x,pixel.y+1)) {
- var dirtPixel = pixelMap[pixel.x][pixel.y+1];
+ if (!outOfBounds(pixel.x, pixel.y + 1)) {
+ var dirtPixel = pixelMap[pixel.x][pixel.y + 1];
if (dirtPixel.element === "dirt" || dirtPixel.element === "mud" || dirtPixel.element === "sand" || dirtPixel.element === "wet_sand" || dirtPixel.element === "clay_soil" || dirtPixel.element === "mycelium") {
- deletePixel(pixel.x,pixel.y+1);
- movePixel(pixel,pixel.x,pixel.y+1);
- createPixel("carrot",pixel.x,pixel.y-1);
+ deletePixel(pixel.x, pixel.y + 1);
+ movePixel(pixel, pixel.x, pixel.y + 1);
+ createPixel("carrot", pixel.x, pixel.y - 1);
pixel.growthpixel++;
}
}
}
- if (!isEmpty(pixel.x,pixel.y+1) && Math.random() > 0.95 && isEmpty(pixel.x-1,pixel.y-1) && isEmpty(pixel.x+1,pixel.y-1) && pixel.leafgrown == false) {
+ if (!isEmpty(pixel.x, pixel.y + 1) && Math.random() > 0.95 && isEmpty(pixel.x - 1, pixel.y - 1) && isEmpty(pixel.x + 1, pixel.y - 1) && pixel.leafgrown == false) {
+ var dirtPixel = pixelMap[pixel.x][pixel.y + 1];
if (dirtPixel.element === "dirt" || dirtPixel.element === "mud" || dirtPixel.element === "sand" || dirtPixel.element === "wet_sand" || dirtPixel.element === "clay_soil" || dirtPixel.element === "mycelium") {
- createPixel("carrot_leaves",pixel.x-1,pixel.y-1);
- createPixel("carrot_leaves",pixel.x+1,pixel.y-1);
- pixel.leafgrown++
+ createPixel("carrot_leaves", pixel.x - 1, pixel.y - 1);
+ createPixel("carrot_leaves", pixel.x + 1, pixel.y - 1);
+ pixel.leafgrown = true;
}
}
else if (pixel.age > 150 && pixel.growthpixel == 4 && Math.random() < 0.1) {
- changePixel(pixel,"carrot");
+ changePixel(pixel, "carrot");
}
pixel.age++;
+ }
doDefaults(pixel);
},
properties: {
- "age":0,
+ "age": 0,
"growthpixel": 0,
"leafgrown": false
},
@@ -2705,6 +2737,7 @@ elements.carrot_seed = {
"XX|M1|XX",
],
};
+
elements.carrot_leaves = {
color: ["#61cc3d","#58c234"],
behavior: behaviors.WALL,
@@ -4645,6 +4678,11 @@ elements.mango_juice = {
}
}
},
+ reactions: {
+ "milk": { elem1: "fruit_milk", elem2: "fruit_milk", chance: 0.35, color1:"#fada70", color2:"#fada70"},
+ "coconut_milk": { elem1: "fruit_milk", elem2: "fruit_milk", chance: 0.35, color1:"#fada70", color2:"#fada70"},
+ "nut_milk": { elem1: "fruit_milk", elem2: "fruit_milk", chance: 0.35, color1:"#fada70", color2:"#fada70"}
+ },
behavior: behaviors.LIQUID,
category: "liquids",
tempHigh: 100,
@@ -5101,7 +5139,8 @@ elements.onion = {
state: "solid",
density: 1050,
cutInto: "cut_onion",
- cutIntoEmit: "stench",
+ breakInto:"onion_powder",
+ //cutIntoEmit: "stench",
}
elements.cut_onion = {
color: "#dcc5ed",
@@ -5114,6 +5153,7 @@ elements.cut_onion = {
burnInto: "steam",
state: "solid",
density: 1050,
+ breakInto:"onion_powder",
hidden: true,
reactions:{ "nut_oil": {elem1:"fried_onion", tempMin: 70, chance:10}}
}
@@ -5183,6 +5223,28 @@ elements.onion_seed = {
"XX|M1|XX",
],
}
+elements.onion_powder = {
+ color: "#e6d8b8",
+ reactions: {
+ "stench": { elem2:null, chance:0.25 },
+ "steam": { elem2:"fragrance", chance:0.1 },
+ "flea": { elem2:null, chance:0.01 },
+ "termite": { elem2:null, chance:0.01 },
+ "fly": { elem2:null, chance:0.01 },
+ "ant": { elem2:null, chance:0.01 },
+ "stink_bug": { elem2:null, chance:0.01 },
+ },
+ behavior: behaviors.POWDER,
+ tempHigh: 300,
+ stateHigh: ["fire","smoke","smoke","smoke","ash"],
+ burn:10,
+ burnTime:300,
+ burnInto: ["fire","smoke","smoke","smoke","smoke","smoke","smoke","fragrance"],
+ category:"food",
+ state: "solid",
+ density: 1400,
+ isFood: true,
+}
elements.unhusked_rice = {
color: ["#c99a42","#b08638","#deb15d"],
behavior: [
@@ -5223,7 +5285,8 @@ elements.rice = {
isFood: true,
density: 1050,
reactions:{
- "water":{elem1:"porridge",elem2:"porridge",chance:3,tempMin:70}
+ "water":{elem1:"porridge",elem2:"porridge",chance:3,tempMin:70},
+ "nut_oil":{elem1:"fried_rice",elem2:null,chance:3,tempMin:60}
}
}
elements.cooked_rice = {
@@ -5233,13 +5296,12 @@ elements.cooked_rice = {
tempHigh: 200,
stateHigh: "burnt_rice",
burn:65,
- burnTime:60,
- burnInto: "dead_plant",
breakInto: "rice_flour",
state: "solid",
isFood: true,
density: 1050,reactions:{
- "water":{elem1:"porridge",elem2:"porridge",chance:3,tempMin:70}
+ "water":{elem1:"porridge",elem2:"porridge",chance:3,tempMin:70},
+ "nut_oil":{elem1:"fried_rice",elem2:null,chance:3,tempMin:60}
},
hidden:true
}
@@ -5251,12 +5313,26 @@ elements.porridge = {
stateHigh: "steam",
viscosity: 999,
burn:65,
- burnTime:60,
- burnInto: "dead_plant",
state: "solid",
isFood: true,
density: 1050,
}
+elements.fried_rice = {
+ color: "#e8dda0",
+ behavior: behaviors.POWDER,
+ category:"food",
+ tempHigh: 200,
+ stateHigh: "burnt_rice",
+ burn:65,
+ burnTime:60,
+ state: "solid",
+ isFood: true,
+ density: 1050,reactions:{
+ "salt":{color1:"#ede5b9",elem2:null,chance:3},
+ "monosodium_glutamate":{color1:"#ede5b9",elem2:null,chance:3}
+ },
+ hidden:true
+}
elements.burnt_rice = {
color: "#262217",
behavior: behaviors.POWDER,
@@ -5265,7 +5341,6 @@ elements.burnt_rice = {
stateHigh: "ash",
burn:65,
burnTime:60,
- burnInto: "dead_plant",
state: "solid",
isFood: true,
density: 1050,
@@ -6696,3 +6771,141 @@ elements.hot_sauce = {
isFood: true
}
elements.head.reactions.hot_sauce = {elem2:["smoke","fire",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null], chance:3}
+
+
+elements.durian_wood = {
+ color: "#5e4b23",
+ behavior: behaviors.WALL,
+ tempHigh: 400,
+ stateHigh: ["ember","charcoal","fire","fire","fire"],
+ category: "solids",
+ burn: 5,
+ burnTime: 300,
+ burnInto: ["ember","charcoal","fire"],
+ state: "solid",
+ hardness: 0.15,
+ breakInto: "sawdust",
+ breakIntoColor: ["#dba66e","#cc8a64"],
+ hidden: true
+}
+elements.durian_branch = {
+ color: "#5e4b23",
+ behavior: [
+ "CR:durian_leaves,durian_branch%2|CR:durian_leaves,durian_branch%2|CR:durian_leaves,durian_branch%2",
+ "XX|XX|XX",
+ "XX|XX|XX",
+ ],
+ tempHigh: 100,
+ stateHigh: "durian_wood",
+ tempLow: -30,
+ stateLow: "durian_wood",
+ category: "life",
+ burn: 40,
+ burnTime: 50,
+ burnInto: ["sap","ember","charcoal"],
+ hidden: true,
+ state: "solid",
+ density: 1500,
+ hardness: 0.15,
+ breakInto: ["sap","sawdust"],
+}
+elements.durian_leaves = {
+ color: ["#326b25","#2e751e"],
+ behavior: [
+ "XX|XX|XX",
+ "XX|XX|XX",
+ "XX|CR:durian%0.1|XX",
+ ],
+ reactions: {
+ "vinegar": { elem1:"dead_plant", elem2:null, chance:0.035 },
+ "baking_soda": { elem1:"dead_plant", elem2:null, chance:0.01 },
+ "bleach": { elem1:"dead_plant", elem2:null, chance:0.05 },
+ "alcohol": { elem1:"dead_plant", elem2:null, chance:0.035 }
+ },
+ category:"life",
+ tempHigh: 100,
+ stateHigh: "dead_plant",
+ tempLow: -1.66,
+ stateLow: "frozen_plant",
+ burn:65,
+ burnTime:60,
+ burnInto: "dead_plant",
+ breakInto: "dead_plant",
+ state: "solid",
+ density: 1050,
+ hidden: true
+}
+elements.durian = {
+ color: ["#578524","#5b8f1f"],
+ behavior: behaviors.POWDER,
+ category:"food",
+ tempHigh: 100,
+ stateHigh: "dead_plant",
+ burn:65,
+ burnTime:60,
+ cutInto: "cut_durian",
+ state: "solid",
+ density: 1050,
+}
+
+elements.cut_durian = {
+ color: ["#e3e04b","#d1cf36"],
+ behavior: behaviors.STURDYPOWDER,
+ category:"food",
+ tempHigh: 100,
+ stateHigh: ["sugar","steam"],
+ burn:65,
+ burnTime:60,
+ state: "solid",
+ density: 1050,
+ hidden: true,
+ freezeDryInto: "freeze_dried_fruits",
+ freezeDryIntoColor: "#a19f3b",
+}
+
+elements.durian_seed = {
+ color: "#a17d3b",
+ tick: function(pixel) {
+ if (isEmpty(pixel.x,pixel.y+1)) {
+ movePixel(pixel,pixel.x,pixel.y+1);
+ }
+ else {
+ if (Math.random() < 0.02 && pixel.age > 50 && pixel.temp < 100) {
+ if (!outOfBounds(pixel.x,pixel.y+1)) {
+ var dirtPixel = pixelMap[pixel.x][pixel.y+1];
+ if (dirtPixel.element === "dirt" || dirtPixel.element === "mud" || dirtPixel.element === "sand" || dirtPixel.element === "wet_sand" || dirtPixel.element === "clay_soil" || dirtPixel.element === "mycelium") {
+ changePixel(dirtPixel,"root");
+ }
+ }
+ if (isEmpty(pixel.x,pixel.y-1)) {
+ movePixel(pixel,pixel.x,pixel.y-1);
+ createPixel(Math.random() > 0.5 ? "durian_wood" : "durian_branch",pixel.x,pixel.y+1);
+ }
+ }
+ else if (pixel.age > 1000) {
+ changePixel(pixel,"durian_wood");
+ }
+ pixel.age++;
+ }
+ doDefaults(pixel);
+ },
+ properties: {
+ "age":0
+ },
+ tempHigh: 100,
+ stateHigh: "dead_plant",
+ tempLow: -2,
+ stateLow: "frozen_plant",
+ burn: 65,
+ burnTime: 15,
+ category: "life",
+ state: "solid",
+ density: 1500,
+ cooldown: defaultCooldown,
+ seed: true,
+ behavior: [
+ "XX|XX|XX",
+ "XX|FX%10|XX",
+ "XX|M1|XX",
+ ],
+};
diff --git a/mods/a_mod_by_alice.js b/mods/a_mod_by_alice.js
index 0b5bda76..bae9e2fd 100644
--- a/mods/a_mod_by_alice.js
+++ b/mods/a_mod_by_alice.js
@@ -1,5 +1,5 @@
var modName = "mods/../a_mod_by_alice.js" //can't do "alice's mod" because the apostrophe will fuck up code, be too confusing, or both
-var dependencies = ["mods/libhooktick.js", "mods/chem.js", "mods/minecraft.js", "mods/Neutronium Mod.js", "mods/CrashTestDummy.js", "mods/fey_and_more.js", "mods/velocity.js", "mods/ketchup_mod.js", "mods/moretools.js", "mods/aChefsDream.js", "mods/nousersthings.js"]; //thanks to mollthecoder, PlanetN9ne, StellarX20 (3), MelecieDiancie, R74n, Nubo318, Sightnado, sqeč, and NoUsernameFound
+var dependencies = ["mods/libhooktick.js", "mods/chem.js", "mods/minecraft.js", "mods/Neutronium Mod.js", "mods/CrashTestDummy.js", "mods/fey_and_more.js", "mods/velocity.js", "mods/ketchup_mod.js", "mods/moretools.js", "mods/aChefsDream.js", "mods/nousersthings.js"]; //thanks to mollthecoder, PlanetN9ne, StellarX20 (3), MelecieDiancie, R74n, Nubo318, Sightnado, SquareScreamYT, and NoUsernameFound
var dependencyExistence = dependencies.map(x => enabledMods.includes(x));
var allDependenciesExist = dependencyExistence.reduce(function(a,b) { return a && b });
//console.log(allDependenciesExist);
diff --git a/mods/elementEraser.js b/mods/elementEraser.js
index 5505fa7a..c2c5ceef 100644
--- a/mods/elementEraser.js
+++ b/mods/elementEraser.js
@@ -15,5 +15,22 @@ elements.element_eraser = {
},
category: "tools",
excludeRandom: true,
- desc: "Input a element to erase only that element."
+ desc: "Use on pixels to delete specified element."
+}
+let finalEraseElement2 = null;
+elements.exclusive_element_eraser = {
+ color: "#eeeeee",
+ onSelect: function() {
+ var answer = prompt("Please input the element you do not wish to delete. It will not work if you enter multiple element types while paused.",(finalEraseElement2||undefined));
+ if (!answer2) { return }
+ finalEraseElement2 = mostSimilarElement(answer2);
+ },
+ tool: function(pixel) {
+ if (pixel.element != finalEraseElement2) {
+ deletePixel(pixel.x,pixel.y)
+ }
+ },
+ category: "tools",
+ excludeRandom: true,
+ desc: "Use on pixels to delete any element except the specified element."
}
diff --git a/mods/jaydsfunctions.js b/mods/jaydsfunctions.js
index 724ace4b..61f0c00c 100644
--- a/mods/jaydsfunctions.js
+++ b/mods/jaydsfunctions.js
@@ -24,9 +24,9 @@ elements.selective_exploder = {
}
},
onSelect: function() {
- var answer2 = prompt("Please input what element to explode.",(explode1Var||undefined));
- if (!answer2) { return }
- explode1Var = answer2;
+ var answer1 = prompt("Please input what element to explode.",(explode1Var||undefined));
+ if (!answer1) { return }
+ explode1Var = answer1;
}
},
convert11Var = 0;
@@ -41,12 +41,12 @@ elements.converter_tool = {
}
},
onSelect: function() {
- var answer3 = prompt("Please input what should element be converted.",(convert11Var||undefined));
- if (!answer3) { return }
- convert11Var = answer3;
- var answer4 = prompt("Please input what element to convert into.",(convert22Var||undefined));
- if (!answer4) { return }
- convert22Var = answer4;
+ var answer1 = prompt("Please input what should element be converted.",(convert11Var||undefined));
+ if (!answer1) { return }
+ convert11Var = answer1;
+ var answer2 = prompt("Please input what element to convert into.",(convert22Var||undefined));
+ if (!answer2) { return }
+ convert22Var = answer2;
}
},
elements.fast_bomb = {
@@ -82,9 +82,9 @@ elements.exclusive_eraser = {
}
},
onSelect: function() {
- var answer5 = prompt("Please input what element shouldn't be erased.",(exclude1Var||undefined));
- if (!answer5) { return }
- exclude1Var = answer5;
+ var answer1 = prompt("Please input what element shouldn't be erased.",(exclude1Var||undefined));
+ if (!answer1) { return }
+ exclude1Var = answer1;
}
},
elements.tenth_heater = {
@@ -99,7 +99,7 @@ elements.tenth_heater = {
},
elements.e_tenth_heater = {
category: "special",
- color: "#ff0000",
+ color: "#ff3000",
behavior: behaviors.WALL,
behaviorOn: [
"XX|HT:0.1|XX",
@@ -108,4 +108,63 @@ elements.e_tenth_heater = {
],
ignore: "tenth_heater",
conduct: 1
+},
+paint1Var = 0;
+elements.selective_paint_tool = {
+ color: ["#ff0000","#ff0000","#ff0000","#00ff00","#00ff00","#00ff00","#0000ff","#0000ff","#0000ff"],
+ tool: function(pixel) {
+ if (pixel.element === paint1Var) {
+ if (!shiftDown) {
+ pixel.color = pixelColorPick(pixel,currentColor)
+ }
+ else {
+ // convert the hex of currentColor to rgb and set it as a string
+ var rgb = currentColor.replace("#","").match(/.{1,2}/g);
+ for (var i = 0; i < rgb.length; i++) {
+ rgb[i] = parseInt(rgb[i],16);
+ }
+ pixel.color = "rgb(" + rgb.join(",") + ")"
+ }
+ delete pixel.origColor;
+ }
+ },
+ onSelect: function() {
+ var answer1 = prompt("Please input what element should be painted.",(paint1Var||undefined));
+ if (!answer1) { return }
+ paint1Var = answer1;
+ },
+ customColor: true,
+ category: "tools",
+ canPlace: false,
+ desc: "Select certain pixels to change color."
+},
+paint2Var = 0;
+elements.exclusive_paint_tool = {
+ color: ["#ff0000","#00ff00","#0000ff","#0000ff","#00ff00","#ff0000"],
+ tool: function(pixel) {
+ if (pixel.element !== paint2Var) {
+ if (!shiftDown) {
+ pixel.color = pixelColorPick(pixel,currentColor)
+ }
+ else {
+ // convert the hex of currentColor to rgb and set it as a string
+ var rgb = currentColor.replace("#","").match(/.{1,2}/g);
+ for (var i = 0; i < rgb.length; i++) {
+ rgb[i] = parseInt(rgb[i],16);
+ }
+ pixel.color = "rgb(" + rgb.join(",") + ")"
+ }
+ delete pixel.origColor;
+ }
+ },
+ onSelect: function() {
+ var answer1 = prompt("Please input what element should be painted.",(paint2Var||undefined));
+ if (!answer1) { return }
+ paint2Var = answer1;
+ },
+ customColor: true,
+ category: "tools",
+ canPlace: false,
+ desc: "Excludes pixels you don't want to color."
+ //hello
}
\ No newline at end of file
diff --git a/mods/the_snail.js b/mods/the_snail.js
new file mode 100644
index 00000000..84435ea6
--- /dev/null
+++ b/mods/the_snail.js
@@ -0,0 +1,63 @@
+elements.the_snail = {
+ color: "#5c3104",
+ behavior: [
+ "XX|XX|XX",
+ "XX|FX%0.25|M2%0.5 AND BO",
+ "XX|M1|XX",
+ ],
+ reactions: {
+ "salt": { elem1: "quicklime", elem2: null },
+ "dirty_water": { elem2:"water", chance:0.05, func:behaviors.FEEDPIXEL },
+ "broth": { elem2:"water", chance:0.05, func:behaviors.FEEDPIXEL },
+ "tea": { elem2:"water", chance:0.05, func:behaviors.FEEDPIXEL },
+ "plant": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
+ "evergreen": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
+ "cactus": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
+ "dead_plant": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
+ "worm": { elem2:null, chance:0.01, func:behaviors.FEEDPIXEL },
+ "mushroom_spore": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
+ "grass": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
+ "herb": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
+ "lettuce": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
+ "grass_seed": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
+ "algae": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
+ "mushroom_cap": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
+ "mushroom_stalk": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
+ "mushroom_gill": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
+ "lichen": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
+ "hyphae": { elem2:"dirt", chance:0.05, func:behaviors.FEEDPIXEL },
+ "mycelium": { elem2:"dirt", chance:0.05, func:behaviors.FEEDPIXEL },
+ "pumpkin": { elem2:null, chance:0.01, func:behaviors.FEEDPIXEL },
+ "calcium": { elem2:null, chance:0.01, func:behaviors.FEEDPIXEL },
+ "limestone": { elem2:null, chance:0.001, func:behaviors.FEEDPIXEL },
+ "quicklime": { elem2:null, chance:0.01, func:behaviors.FEEDPIXEL },
+ "slaked_lime": { elem2:null, chance:0.01, func:behaviors.FEEDPIXEL },
+ "paper": { elem2:null, chance:0.01, func:behaviors.FEEDPIXEL },
+ "pickle": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
+ "grape": { elem2:null, chance:0.01, func:behaviors.FEEDPIXEL },
+ "body": { elem1:"crasher" },
+ "head": { elem1:"crasher" },
+ },
+ category: "special",
+ state: "solid",
+ hardness: 1,
+ conduct: 0.16,
+ alias: "The Immortal Snail",
+};
+
+elements.crasher = {
+ onSelect: function() {
+ logMessage("WARNING: DO NOT PLACE THIS! This WILL crash your game and is only used for the immortal snail.");
+ },
+ color: "#FFFFFF",
+ behavior: [
+ "XX|CL|XX",
+ "CL|EX:10000000000>flash|CL",
+ "XX|CL|XX",
+ ],
+ category: "special",
+ insulate: true,
+ hardness: 1,
+ noMix: true,
+ hidden: true,
+};
\ No newline at end of file