diff --git a/mod-list.html b/mod-list.html
index 54f54812..d66c98aa 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -263,6 +263,7 @@
| gameOfLife.js | Conway's Game of Life on a screen | ggod |
| heatshield.js | Heatshields, makes Plasma cooler | Taterbob |
| human_friendly_design.js | Pipes, Portals, Drag, and Mix don't kill humans | Nekonico |
+| industry.js | Conveyors and emitters for most energy types | pogdog |
| logicgates.js | Predictable electricity and logic gates | nousernamefound |
| note_block_advanced.js | Edit of Alice's note_block.js, adds different blocks with different frequencies | CharsonBurensen |
| note_block.js | Musical Note Blocks | Alice |
@@ -363,6 +364,7 @@
| volcanic_expansion.js | Obsidian, Pumice, and Andesite rocks | Jayd |
| Fun & Games |
+| 3pms_mod.js | Adds random stuff and tools | 3pm |
| 10kelements.js | Customizable amount of randomly generated elements | nousernamefound |
| all_around_fillers.js | Directional Filler variants | idk73248 |
| allliquids.js | Made all elements liquids | Orchid |
@@ -396,6 +398,7 @@
| random_liquids.js | Randomly generates liquids on game load | Alice |
| sbmixup.js | Silly elements from a Mix-Up! game | stefanblox |
| scp.js | Creatures and items from the SCP Wiki | Nekonico |
+| sensitive.js | Makes all elements sensitive to air | pogdog |
| sports_beta.js | Several sports items | BluBun5193 |
| star_wars.js | Various items from Star Wars by Disney | SeaPickle754 |
| sus.js | Among Us crewmate | Nv7 |
@@ -404,6 +407,7 @@
| troll.js | Various dumb elements that iterate randomly on the entire screen | Alice |
| WhisperingTheory.js | Powder and gas variant of heater and cooler | kaeud |
+
| Visual Effects |
| acid_and_shapes.js | Weird visual effects enabled in settings | Alice |
| asciiboxels.js | Renders pixels as ASCII characters | Nekonico |
diff --git a/mods/3pms_mod.js b/mods/3pms_mod.js
index 4e39d814..622d42db 100644
--- a/mods/3pms_mod.js
+++ b/mods/3pms_mod.js
@@ -1,43 +1,37 @@
-// mod moment
-// also made by 3pm
+// made by 3pm
-// starting the initiation
-version = "0.0.1"
-subversion = "0.0.12"
-versionname = "Gullible On The Ceilling"
+version = "0.0.2"
+subversion = "0.0.21"
+versionname = "Let's take a look..."
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;
+function tpsPrompt() {
+ promptInput("Enter the new simulation Ticks Per Second (TPS). This is how many updates per second the simulation will run.\n\nThe default is 30.\n\nThe current TPS is " + tps + ".\n\nNOTE: 3pms_mod.js removes the TPS limit.\nAny TPS higher than 1000 isn't recommended.\n\n",
+ (r) => {
+ var newtps = parseInt(r);
+ if (r !== null) {
+ if (isNaN(newtps) || newtps == "") logMessage("You did not enter a valid TPS.");
+ else {
+ newtps = parseInt(newtps);
+ if (isNaN(newtps) || newtps <= 0) {
+ logMessage("You did not enter a valid TPS.");
+ }
+ else {
+ tps = newtps;
+ delete currentSaveData.oldTps;
+ }
+ }
+ resetInterval(tps);
}
- }
- resetInterval(tps);
- }
- focusGame();
- };
-}, 1000);
+ focusGame();
+ },
+ "Change TPS"
+ )
+}
// more settings
@@ -60,7 +54,7 @@ setTimeout(() => {
`);
- const menuText = document.getElementsByClassName("menuText")[6]
+ const menuText = document.getElementsByClassName("menuText")[9]
const newButton = document.createElement("button")
newButton.innerText = "More Settings"
newButton.className = "settingsButton"
@@ -73,7 +67,7 @@ setTimeout(() => {
// elements
-elements.calcium_oxide = { // most of this is taken off calcium
+elements.calcium_oxide = {
color: ["#544E45","#6A635E","#6E6A61","#756F62","#918A7B"],
tick: function(pixel) {
behaviors.POWDER(pixel);
@@ -95,39 +89,56 @@ elements.calcium_oxide = { // most of this is taken off calcium
fireColor: "#ff6b21"
}
-elements.eeraser = { // finally integrating it after over a year
+elements.eeraser = {
color: "#FFFF00",
- behavior: behaviors.WALL,
- behaviorON: [
- "DL|DL|DL",
- "DL|DL|DL",
+ behaviorOn: [
+ "DL|XX|DL",
+ "DL|XX|DL",
"DL|DL|DL",
],
+ behavior: [
+ "XX|XX|XX",
+ "XX|XX|XX",
+ "XX|XX|XX"
+ ],
+ conduct: 0.5,
category: "machines",
- insulate: elements.wire.insulate,
- conduct: elements.wire.conduct,
- noMix: elements.wire.noMix
+ state: "solid",
};
-// stopping the initiation
+// tools
+elements.replace_all_of_element = {
+ color: ["#ff3030", "#800000"],
+ name: "replace all of element",
+ onSelect: async function() {
+ promptInput(
+ "Enter the element to be replaced.",
+ (r) => {
+ if (r in elements) {
+ elements.replace_all_of_element.tool = function(pixel) {
+ elementbefore = pixel.element
+ for (var i = 0; i <= width; i++) {
+ for (var j = 0; j <= height; j++) {
+ if (!isEmpty(i,j,true)) {
+ if(pixelMap[i][j].element == elementbefore) {
+ changePixel(pixelMap[i][j], r)
+ }
+ }
+ }
+ }
+ }
+ } else {
+ logMessage("You did not enter an existing element.");
+ }
+ },
+ "3pms_mod.js"
+ );
+ },
+ category: "tools",
+};
+
+
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
+}, 1000);
\ No newline at end of file
diff --git a/mods/aChefsDream2.js b/mods/aChefsDream2.js
index 4a089e68..31fc4cfa 100644
--- a/mods/aChefsDream2.js
+++ b/mods/aChefsDream2.js
@@ -3,7 +3,7 @@
// https://github.com/SquareScreamYT/
// https://youtube.com/@sqec
-version = "v2.1.0"
+version = "v2.1.1"
runAfterLoad(function() {
console.log("Current aChefsDream version: "+version)
@@ -595,4 +595,147 @@ elements.pistachio_powder = {
hidden: true
}
+elements.pumpkin_mash = {
+ color: ["#f59c2f", "#efa810", "#e38f1a"],
+ behavior: behaviors.STURDYPOWDER,
+ tempHigh: 125,
+ stateHigh: ["pumpkin_spice","pumpkin_spice","smoke"],
+ category: "food",
+ state: "liquid",
+ density: 500,
+ isFood: true,
+ hidden: true,
+}
+
+elements.pumpkin.breakInto = ["pumpkin_seed", "pumpkin_mash", "pumpkin_mash", "pumpkin_mash", "pumpkin_mash", null];
+
+elements.pumpkin_spice = {
+ color: ["#95570b", "#ba7f36"],
+ behavior: behaviors.POWDER,
+ tempHigh: 400,
+ stateHigh: ["smoke","smoke","smoke","smoke","ash"],
+ category: "food",
+ state: "solid",
+ density: 500,
+ isFood: true,
+ hidden: true,
+}
+
+elements.cinnamon_powder.reactions.nutmeg_powder = { elem1: "pumpkin_spice", elem2: null, chance: 0.5 };
+
+elements.coffee.reactions.pumpkin_mash = { elem2: null, color1: "#7e3c09", chance: 0.005 };
+elements.coffee.reactions.pumpkin_spice = { elem2: null, color1: "#7e3c09", chance: 0.005 };
+
+elements.nutmeg_tree = {
+ color: "#6B4226",
+ behavior: behaviors.WALL,
+ tempHigh: 400,
+ stateHigh: ["ember", "charcoal", "fire"],
+ category: "solids",
+ burn: 5,
+ burnTime: 300,
+ burnInto: ["ember", "charcoal", "fire"],
+ state: "solid",
+ hardness: 0.2,
+ breakInto: "sawdust",
+ hidden: true
+};
+
+elements.nutmeg_branch = {
+ color: "#5c3b23",
+ behavior: [
+ "CR:nutmeg_leaves,nutmeg_branch%2|CR:nutmeg_leaves,nutmeg_branch%2|CR:nutmeg_leaves,nutmeg_branch%2",
+ "XX|XX|XX",
+ "XX|XX|XX",
+ ],
+ tempHigh: 100,
+ stateHigh: "nutmeg_tree",
+ tempLow: -30,
+ stateLow: "nutmeg_tree",
+ category: "life",
+ burn: 30,
+ burnTime: 60,
+ burnInto: ["sap", "ember"],
+ hidden: true,
+ state: "solid",
+ density: 1400,
+ breakInto: ["sap", "sawdust"]
+};
+
+elements.nutmeg_leaves = {
+ color: ["#4b7d3d", "#558c40"],
+ behavior: [
+ "XX|XX|XX",
+ "XX|XX|XX",
+ "XX|CR:nutmeg_fruit%0.1|XX",
+ ],
+ reactions: {
+ "vinegar": { elem1: "dead_plant", chance: 0.035 },
+ "baking_soda": { elem1: "dead_plant", chance: 0.01 },
+ "bleach": { elem1: "dead_plant", chance: 0.05 },
+ "alcohol": { elem1: "dead_plant", chance: 0.035 },
+ },
+ category: "life",
+ tempHigh: 90,
+ stateHigh: "dead_plant",
+ tempLow: -1.5,
+ stateLow: "frozen_plant",
+ burn: 60,
+ burnTime: 60,
+ burnInto: "dead_plant",
+ state: "solid",
+ density: 1050,
+ hidden: true
+};
+
+elements.nutmeg_fruit = {
+ color: ["#c0a25d", "#ddb86c"],
+ behavior: behaviors.POWDER,
+ category: "food",
+ tempHigh: 100,
+ stateHigh: "dead_plant",
+ burn: 60,
+ burnTime: 60,
+ cutInto: ["mace", "nutmeg", "nutmeg"],
+ breakInto: ["mace", "nutmeg", "nutmeg"],
+ state: "solid",
+ density: 1050
+};
+
+elements.mace = {
+ color: ["#e04e1b", "#cc3614"],
+ behavior: behaviors.POWDER,
+ category: "food",
+ tempHigh: 250,
+ stateHigh: ["ash", "smoke"],
+ isFood: true,
+ state: "solid",
+ density: 900,
+ hidden: false
+};
+
+elements.nutmeg = {
+ color: ["#8b5a2b", "#A0522D"],
+ behavior: behaviors.POWDER,
+ category: "food",
+ tempHigh: 250,
+ stateHigh: ["ash", "smoke"],
+ isFood: true,
+ state: "solid",
+ density: 1000,
+ breakInto: "nutmeg_powder",
+};
+
+elements.nutmeg_powder = {
+ color: "#C58940",
+ behavior: behaviors.POWDER,
+ category: "food",
+ tempHigh: 250,
+ stateHigh: ["ash", "smoke"],
+ isFood: true,
+ state: "solid",
+ density: 950,
+ hidden: false
+};
+
},true)
\ No newline at end of file