From 85ba90bef59b7f2c30204a75828fae76a7bebf6b Mon Sep 17 00:00:00 2001
From: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
Date: Sat, 20 Jan 2024 08:13:24 +0000
Subject: [PATCH 01/34] Update 1.1 more_gold.js
adds gold tree
Signed-off-by: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
---
mods/more_gold.js | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/mods/more_gold.js b/mods/more_gold.js
index 0e7d944d..ec98ce31 100644
--- a/mods/more_gold.js
+++ b/mods/more_gold.js
@@ -15,4 +15,26 @@ elements.molten_green_gold = {
density: 13000,
conduct: 0.87,
Hidden: true
-};
\ No newline at end of file
+};
+elements.gold_tree = {
+ color: "#f2e013",
+ tick: function (pixel) {
+ if (pixel.h > 0 && pixelTicks % (50+pixel.h) === 0) {
+
+ if (isEmpty(pixel.x-1,pixel.y)) {
+ createPixel("gold",pixel.x-1,pixel.y);
+ pixelMap[pixel.x-1][pixel.y].h = pixel.h-2;
+ }
+ if (isEmpty(pixel.x+1,pixel.y)) {
+ createPixel("gold",pixel.x+1,pixel.y);
+ pixelMap[pixel.x+1][pixel.y].h = pixel.h-2;
+ }
+ }
+ doDefaults(pixel);
+ },
+ category:"solid",
+ breakInto: "gold",
+ state: "solid",
+ density: 8000,
+ seed: "gold_coin",
+},
From c19b6aff9ebb2006d54884e90aedd6d282c496a3 Mon Sep 17 00:00:00 2001
From: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
Date: Sat, 20 Jan 2024 08:15:03 +0000
Subject: [PATCH 02/34] Update mod-list.html for more_gold.js
Signed-off-by: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
---
mod-list.html | 1 +
1 file changed, 1 insertion(+)
diff --git a/mod-list.html b/mod-list.html
index 5eff199f..a6730624 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -215,6 +215,7 @@
| fairy_chain.js | Adds way too many fairies to fey_and_more.js | Alice |
| fantastic_creatures.js | Adds various animals | Melecie |
| fantasy_elements.js | Fantasy creatures and substances | pixelegend4 |
+| more_gold.js | Adds more gold variants and even a tree? |
| fey_and_more.js | Adds fairies, magic, and a lot of other things | Melecie |
| 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 |
From 9d40055e99911d6d1c9ed488f37cc0a4a6d47df0 Mon Sep 17 00:00:00 2001
From: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
Date: Sat, 20 Jan 2024 08:15:55 +0000
Subject: [PATCH 03/34] Update mod-list.html for more_gold.js
Signed-off-by: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
---
mod-list.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mod-list.html b/mod-list.html
index a6730624..74c158b7 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -215,7 +215,7 @@
| fairy_chain.js | Adds way too many fairies to fey_and_more.js | Alice |
| fantastic_creatures.js | Adds various animals | Melecie |
| fantasy_elements.js | Fantasy creatures and substances | pixelegend4 |
-| more_gold.js | Adds more gold variants and even a tree? |
+| more_gold.js | Adds more gold variants and even a tree? | pixelegend4
| fey_and_more.js | Adds fairies, magic, and a lot of other things | Melecie |
| 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 |
From a25730c0cc94c55f3ee40d675c586510565c912c Mon Sep 17 00:00:00 2001
From: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
Date: Sun, 21 Jan 2024 08:19:26 +0000
Subject: [PATCH 04/34] Update mod-list.html
Signed-off-by: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
---
mod-list.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mod-list.html b/mod-list.html
index 2780b4e3..41ff5da2 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -219,7 +219,7 @@
| fairy_chain.js | Adds way too many fairies to fey_and_more.js | Alice |
| fantastic_creatures.js | Adds various animals | Melecie |
| fantasy_elements.js | Fantasy creatures and substances | pixelegend4 |
-| more_gold.js | Adds more gold variants and even a tree? | pixelegend4
+| more_gold.js | Adds more gold variants and even a tree? | pixelegend4 |
| fey_and_more.js | Adds fairies, magic, and a lot of other things | Melecie |
| 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 |
From 50a038e16c7d5e6b24cb91686a70503be5a9e746 Mon Sep 17 00:00:00 2001
From: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
Date: Sun, 21 Jan 2024 20:58:38 +0000
Subject: [PATCH 05/34] Add files via upload
Signed-off-by: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
---
leek.js | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
create mode 100644 leek.js
diff --git a/leek.js b/leek.js
new file mode 100644
index 00000000..b19fd15d
--- /dev/null
+++ b/leek.js
@@ -0,0 +1,31 @@
+elements.leek = {
+ color: ["#3ad664","#34cf5d","#20d450","#2fd65c"],
+ behavior: behaviors.SOLID,
+ category: "food",
+ viscosity: 35,
+ state: "solid",
+ density: 9999,
+ breakInto: "leek_mash",
+};
+
+elements.leek_mash = {
+ color: "#75eb95",
+ behavior: behaviors.POWDER,
+ category: "food",
+ viscosity: 35,
+ state: "solid",
+ density: 9999,
+ reactions: {
+ "mashed_potato": { elem1: "leek_soup", elem2: "leek_soup" },
+ },
+};
+
+elements.leek_soup = {
+ color: ["#b8eb75","#b6ed6d"],
+ behavior: behaviors.LIQUID,
+ category: "food",
+ viscosity: 35,
+ state: "liquid",
+ density: 800,
+};
+
From f67b0b5a611b0f77d42afa719b326082b8f172cc Mon Sep 17 00:00:00 2001
From: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
Date: Sun, 21 Jan 2024 21:11:03 +0000
Subject: [PATCH 06/34] Update leek.js
Signed-off-by: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
---
leek.js | 3 +++
1 file changed, 3 insertions(+)
diff --git a/leek.js b/leek.js
index b19fd15d..5adec07c 100644
--- a/leek.js
+++ b/leek.js
@@ -27,5 +27,8 @@ elements.leek_soup = {
viscosity: 35,
state: "liquid",
density: 800,
+ reactions: {
+ "water": { elem1: "leek_soup", elem2: "leek_soup" },
+ },
};
From c679fbe39d2a4e5bb59535b8008fdcb11bda8f19 Mon Sep 17 00:00:00 2001
From: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
Date: Mon, 22 Jan 2024 07:57:27 +0000
Subject: [PATCH 07/34] Update 1.0.1 leek.js
Signed-off-by: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
From f5c5757a2c2a5890017a835e364544c385e56548 Mon Sep 17 00:00:00 2001
From: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
Date: Mon, 22 Jan 2024 07:58:02 +0000
Subject: [PATCH 08/34] Update 1.0.1 more_gold.js
removed bug
Signed-off-by: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
---
mods/more_gold.js | 21 ---------------------
1 file changed, 21 deletions(-)
diff --git a/mods/more_gold.js b/mods/more_gold.js
index ec98ce31..642d2d8e 100644
--- a/mods/more_gold.js
+++ b/mods/more_gold.js
@@ -16,25 +16,4 @@ elements.molten_green_gold = {
conduct: 0.87,
Hidden: true
};
-elements.gold_tree = {
- color: "#f2e013",
- tick: function (pixel) {
- if (pixel.h > 0 && pixelTicks % (50+pixel.h) === 0) {
- if (isEmpty(pixel.x-1,pixel.y)) {
- createPixel("gold",pixel.x-1,pixel.y);
- pixelMap[pixel.x-1][pixel.y].h = pixel.h-2;
- }
- if (isEmpty(pixel.x+1,pixel.y)) {
- createPixel("gold",pixel.x+1,pixel.y);
- pixelMap[pixel.x+1][pixel.y].h = pixel.h-2;
- }
- }
- doDefaults(pixel);
- },
- category:"solid",
- breakInto: "gold",
- state: "solid",
- density: 8000,
- seed: "gold_coin",
-},
From 82cd3bbe2ef5f453d924d6705daff581915b8e36 Mon Sep 17 00:00:00 2001
From: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
Date: Mon, 22 Jan 2024 16:07:45 +0000
Subject: [PATCH 09/34] Update mod-list.html
Signed-off-by: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
---
mod-list.html | 1 -
1 file changed, 1 deletion(-)
diff --git a/mod-list.html b/mod-list.html
index 41ff5da2..d0c8854f 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -219,7 +219,6 @@
| fairy_chain.js | Adds way too many fairies to fey_and_more.js | Alice |
| fantastic_creatures.js | Adds various animals | Melecie |
| fantasy_elements.js | Fantasy creatures and substances | pixelegend4 |
-| more_gold.js | Adds more gold variants and even a tree? | pixelegend4 |
| fey_and_more.js | Adds fairies, magic, and a lot of other things | Melecie |
| 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 |
From eb561d7ba5f02f0d0be5bcbcf5273a20b6bc1b30 Mon Sep 17 00:00:00 2001
From: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
Date: Mon, 22 Jan 2024 17:14:54 +0000
Subject: [PATCH 10/34] Update more_gold.js
Signed-off-by: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
---
mods/more_gold.js | 1 -
1 file changed, 1 deletion(-)
diff --git a/mods/more_gold.js b/mods/more_gold.js
index 642d2d8e..8886aaaf 100644
--- a/mods/more_gold.js
+++ b/mods/more_gold.js
@@ -16,4 +16,3 @@ elements.molten_green_gold = {
conduct: 0.87,
Hidden: true
};
-
From aaaee3e4a618640e40f5508846363d97771c29bb Mon Sep 17 00:00:00 2001
From: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
Date: Mon, 22 Jan 2024 17:15:37 +0000
Subject: [PATCH 11/34] Update more_gold.js
Signed-off-by: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
From 705b882cc190bcfb4670c23bb440b57028602f36 Mon Sep 17 00:00:00 2001
From: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
Date: Mon, 22 Jan 2024 17:16:01 +0000
Subject: [PATCH 12/34] Update more_gold.js
Signed-off-by: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
From da322a53e2cc140142fd434bc839a609a9ed9a80 Mon Sep 17 00:00:00 2001
From: SquareScreamYT <134925668+SquareScreamYT@users.noreply.github.com>
Date: Thu, 25 Jan 2024 17:41:18 +0800
Subject: [PATCH 13/34] A Chef's Dream v1.3!
---
mods/aChefsDream.js | 695 +++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 683 insertions(+), 12 deletions(-)
diff --git a/mods/aChefsDream.js b/mods/aChefsDream.js
index 6269b075..a87f7415 100644
--- a/mods/aChefsDream.js
+++ b/mods/aChefsDream.js
@@ -127,6 +127,36 @@ Changelog (v1.2)
- added cream of tartar
- added wine
- added corn syrup
+
+
+
+Changelog (v1.3)
+ - added shrimp
+ - added coconuts
+ - added coconut stems
+ - added coconut leaves
+ - added coconut tree tops
+ - added coconut milk and coconut juice
+ - added cut coconuts
+ - salmon and tuna meats no longer melt
+ - added knife description
+ - added lemons and related stuff
+ - lemons
+ - lemon wood
+ - lemon branches
+ - lemon leaves
+ - lemon juice
+ - made by smashing lemons
+ - lemon seeds
+ - lemon slices
+ - made by cutting lemons
+ - lemon zest
+ - byproduct of cutting lemons
+ - lemon marmalade can now be made by mixing lemon slices or lemon zest with sugar
+ - added carrots
+ - added carrot seeds and leaves
+ - added carrot juice
+ - added dry icing
*/
/*
@@ -150,6 +180,8 @@ elements.knife = {
changePixel(pixel, cutInto)
},
category:"tools",
+ canPlace: false,
+ desc: "Use on pixels to cut them, if possible."
}
elements.chicken = {
@@ -912,13 +944,25 @@ elements.icing_sugar = {
elements.icing = {
color: "#fefefb",
- behavior: behaviors.STURDYPOWDER,
+ behavior: behaviors.LIQUID,
onMix: function(icing_sugar1, icing_sugar2) {
if ((shiftDown && Math.random() < 0.2) || (elements[icing_sugar2.element].id === elements.icing_sugar.id && Math.random() < 0.25)) {
changePixel(icing_sugar1,"icing")
}
},
- viscosity: 1.5,
+ tempHigh: 45,
+ stateHigh: ["dry_icing"],
+ stateLowColorMultiplier: 0.97,
+ category: "food",
+ isFood: true,
+ state: "solid",
+ density: 959.97,
+ viscosity: 9000,
+};
+
+elements.dry_icing = {
+ color: "#fffefa",
+ behavior: behaviors.STURDYPOWDER,
tempHigh: 1000,
stateHigh: ["smoke","smoke","smoke","steam","steam","calcium"],
stateLowColorMultiplier: 0.97,
@@ -926,6 +970,7 @@ elements.icing = {
isFood: true,
state: "solid",
density: 959.97,
+ viscosity: 9000,
};
elements.cream.reactions.baked_batter = {elem2: "cake" }
@@ -1370,18 +1415,18 @@ elements.smoked_salmon = {
state: "solid",
temp:55,
tempHigh: 600,
- stageHigh: ["ash", "smoke"],
+ stateHigh: ["ash", "smoke"],
isFood: true,
}
-elements.steaned_salmon = {
+elements.steamed_salmon = {
color: ["#BB7B4B", "#B07B54"],
behavior: behaviors.STURDYPOWDER,
category: "food",
state: "solid",
temp:60,
tempHigh: 600,
- stageHigh: ["ash", "smoke"],
+ stateHigh: ["ash", "smoke"],
isFood: true,
}
@@ -1392,7 +1437,7 @@ elements.boiled_salmon = {
state: "solid",
temp:70,
tempHigh: 600,
- stageHigh: ["ash", "smoke"],
+ stateHigh: ["ash", "smoke"],
isFood: true,
}
@@ -1403,7 +1448,7 @@ elements.fried_salmon = {
state: "solid",
temp:70,
tempHigh: 600,
- stageHigh: ["ash", "smoke"],
+ stateHigh: ["ash", "smoke"],
isFood: true,
}
@@ -1443,7 +1488,7 @@ elements.smoked_tuna = {
state: "solid",
temp:55,
tempHigh: 600,
- stageHigh: ["ash", "smoke"],
+ stateHigh: ["ash", "smoke"],
isFood: true,
}
@@ -1454,7 +1499,7 @@ elements.steamed_tuna = {
state: "solid",
temp:60,
tempHigh: 600,
- stageHigh: ["ash", "smoke"],
+ stateHigh: ["ash", "smoke"],
isFood: true,
}
@@ -1465,7 +1510,7 @@ elements.boiled_tuna = {
state: "solid",
temp:70,
tempHigh: 600,
- stageHigh: ["ash", "smoke"],
+ stateHigh: ["ash", "smoke"],
isFood: true,
}
@@ -1476,7 +1521,7 @@ elements.fried_tuna = {
state: "solid",
temp:70,
tempHigh: 600,
- stageHigh: ["ash", "smoke"],
+ stateHigh: ["ash", "smoke"],
isFood: true,
}
@@ -1655,6 +1700,7 @@ elements.grape_juice = {
"clay_soil": { elem1: null, elem2: "clay" },
"seltzer": { elem1: "soda", elem2: "foam" },
"carbon_dioxide": { elem1: "soda", elem2: "foam" },
+ "milk": { elem1: "fruit_milk", elem2: "fruit_milk" },
"yeast": { elem1: ["wine","wine","wine","wine","wine","wine","wine","wine","wine","wine","wine","wine","wine","wine","wine","wine","wine","wine","wine","cream_of_tartar"], elem2: null, chance:80 },
},
tempHigh: 160,
@@ -1665,6 +1711,7 @@ elements.grape_juice = {
state: "liquid",
density: 1054,
stain: 0.05,
+ hidden: true,
isFood: true
};
@@ -1677,6 +1724,7 @@ elements.cream_of_tartar = {
stateHigh: "caramel",
density: 1500,
isFood: true,
+ hidden: true,
reaction: {
"sugar_water": {elem2: "corn_syrup", elem1: null, tempMin: 110}
}
@@ -1690,7 +1738,9 @@ elements.wine = {
tempHigh: 100,
stateHigh: "steam",
isFood: true,
- density: 1200,
+ density: 1000,
+ hidden: true,
+ tempLow: 0
}
elements.corn_syrup = {
@@ -1701,5 +1751,626 @@ elements.corn_syrup = {
tempHigh: 100,
stateHigh: "caramel",
isFood: true,
+ hidden: true,
viscosity: 10000
}
+
+elements.shrimp = {
+ color: ["#EE5422", "#E9683C", "#F3583F", "#EDA270"],
+ behavior: [
+ "SW:water,salt_water,sugar_water,dirty_water,seltzer,pool_water,primordial_soup%14|M2%7.5 AND SW:water,salt_water,sugar_water,dirty_water,seltzer,pool_water,primordial_soup%5|SW:water,salt_water,sugar_water,dirty_water,seltzer,pool_water,primordial_soup%14",
+ "SW:water,salt_water,sugar_water,dirty_water,seltzer,pool_water,primordial_soup%14|FX%20|SW:water,salt_water,sugar_water,dirty_water,seltzer,pool_water,primordial_soup%14",
+ "M2 AND SW:water,salt_water,sugar_water,dirty_water,seltzer,pool_water,primordial_soup%15|M1|M2 AND SW:water,salt_water,sugar_water,dirty_water,seltzer,pool_water,primordial_soup%15",
+ ],
+ category: "life",
+ state: "solid",
+ reactions: {
+ "algae": { elem2:null, chance:0.25, func:behaviors.FEEDPIXEL },
+ "plant": { elem2:null, chance:0.125, func:behaviors.FEEDPIXEL },
+ "fly": { elem2:null, chance:0.4, func:behaviors.FEEDPIXEL },
+ "firefly": { elem2:null, chance:0.6, func:behaviors.FEEDPIXEL },
+ "worm": { elem2:null, chance:0.25, func:behaviors.FEEDPIXEL },
+ "tadpole": { elem2:null, chance:0.25, func:behaviors.FEEDPIXEL },
+ "oxygen": { elem2:"carbon_dioxide", chance:0.5 },
+ "dead_bug": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
+ "broth": { elem2:"water", chance:0.2, func:behaviors.FEEDPIXEL },
+ "slug": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
+ "herb": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL },
+ "lettuce": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL },
+ "dead_plant": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL },
+ "lichen": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL },
+ "yeast": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL },
+ "yogurt": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL },
+ "tea": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
+ "meat": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL },
+ "rotten_meat": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL },
+ "cooked_meat": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL },
+ "yolk": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL },
+ "cell": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL },
+ "crumb": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL },
+ },
+}
+
+
+elements.coconut_seed = {
+ color: "#7a603d",
+ tick: function(pixel) {
+ if (Math.random() < 0.1 && 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) && pixel.height < 7) {
+ movePixel(pixel,pixel.x,pixel.y-1);
+ createPixel(Math.random() > 0.5 ? "coconut_stem" : "coconut_stem",pixel.x,pixel.y+1);
+
+ pixel.height++
+ }
+ }
+ else if (pixel.age > 150 && pixel.height > 6 && Math.random() < 0.1) {
+ changePixel(pixel,"coconut_tree_top");
+ }
+ pixel.age++;
+ doDefaults(pixel);
+ },
+ properties: {
+ "age":0,
+ "height": 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|XX|XX",
+ "XX|M1|XX",
+ ],
+};
+
+elements.coconut_stem = {
+ color: "#8f6c3f",
+ 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.coconut_tree_top = {
+ color: "#8f6c3f",
+ 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"],
+ properties:{
+ "leftleaves": 0,
+ "rightleaves": 0,
+ },
+ hidden: true,
+ tick: function(pixel) {
+ if (Math.random() < 0.1 && pixel.age > 50 && pixel.temp < 100 && pixel.rightleaves == 0) {
+ if (isEmpty(pixel.x+1,pixel.y)) {
+ createPixel(Math.random() > 0.5 ? "coconut_leaves" : "coconut_leaves",pixel.x+1,pixel.y);
+
+ pixel.rightleaves++
+ }
+ }
+ if (Math.random() < 0.1 && pixel.age > 50 && pixel.temp < 100 && pixel.rightleaves == 1) {
+ if (isEmpty(pixel.x+2,pixel.y)) {
+ createPixel(Math.random() > 0.5 ? "coconut_leaves" : "coconut_leaves",pixel.x+2,pixel.y);
+
+ pixel.rightleaves++
+ }
+ }
+ if (Math.random() < 0.1 && pixel.age > 50 && pixel.temp < 100 && pixel.rightleaves == 2) {
+ if (isEmpty(pixel.x+3,pixel.y)) {
+ createPixel(Math.random() > 0.5 ? "coconut_leaves" : "coconut_leaves",pixel.x+3,pixel.y);
+
+ pixel.rightleaves++
+ }
+ }
+ if (Math.random() < 0.1 && pixel.age > 50 && pixel.temp < 100 && pixel.rightleaves == 3) {
+ if (isEmpty(pixel.x+4,pixel.y+1)) {
+ createPixel(Math.random() > 0.5 ? "coconut_leaves" : "coconut_leaves",pixel.x+4,pixel.y+1);
+
+ pixel.rightleaves++
+ }
+ }
+
+
+ if (Math.random() < 0.1 && pixel.age > 50 && pixel.temp < 100 && pixel.leftleaves == 0) {
+ if (isEmpty(pixel.x-1,pixel.y)) {
+ createPixel(Math.random() > 0.5 ? "coconut_leaves" : "coconut_leaves",pixel.x-1,pixel.y);
+
+ pixel.leftleaves++
+ }
+ }
+ if (Math.random() < 0.1 && pixel.age > 50 && pixel.temp < 100 && pixel.leftleaves == 1) {
+ if (isEmpty(pixel.x-2,pixel.y)) {
+ createPixel(Math.random() > 0.5 ? "coconut_leaves" : "coconut_leaves",pixel.x-2,pixel.y);
+
+ pixel.leftleaves++
+ }
+ }
+ if (Math.random() < 0.1 && pixel.age > 50 && pixel.temp < 100 && pixel.leftleaves == 2) {
+ if (isEmpty(pixel.x-3,pixel.y)) {
+ createPixel(Math.random() > 0.5 ? "coconut_leaves" : "coconut_leaves",pixel.x-3,pixel.y);
+
+ pixel.leftleaves++
+ }
+ }
+ if (Math.random() < 0.1 && pixel.age > 50 && pixel.temp < 100 && pixel.leftleaves == 3) {
+ if (isEmpty(pixel.x-4,pixel.y+1)) {
+ createPixel(Math.random() > 0.5 ? "coconut_leaves" : "coconut_leaves",pixel.x-4,pixel.y+1);
+
+ pixel.leftleaves++
+ }
+ }
+
+
+ if (Math.random() < 0.1 && pixel.age > 70 && pixel.temp < 100 && pixel.leftleaves > 0 && pixel.rightleaves > 0) {
+ if (isEmpty(pixel.x+1,pixel.y+1)) {
+ createPixel(Math.random() > 0.5 ? "coconut" : "coconut",pixel.x+1,pixel.y+1);
+ }
+ }
+ if (Math.random() < 0.1 && pixel.age > 70 && pixel.temp < 100 && pixel.leftleaves > 0 && pixel.rightleaves > 0) {
+ if (isEmpty(pixel.x-1,pixel.y+1)) {
+ createPixel(Math.random() > 0.5 ? "coconut" : "coconut",pixel.x-1,pixel.y+1);
+ }
+ }
+ pixel.age++;
+ doDefaults(pixel);
+},
+}
+elements.coconut_leaves = {
+ color: ["#569923","#5ea12b"],
+ 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.coconut = {
+ color: "#6e4621",
+ behavior: [
+ "ST:coconut_tree_top|ST:coconut_leaves|ST:coconut_tree_top",
+ "ST:coconut_stem|XX|ST:coconut_stem",
+ "M2|M1|M2",
+ ],
+ 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:"food",
+ tempHigh: 100,
+ stateHigh: "dead_plant",
+ tempLow: -1.66,
+ stateLow: "frozen_plant",
+ burn:65,
+ burnTime:60,
+ burnInto: "dead_plant",
+ breakInto: "coconut_milk",
+ cutInto: ["cut_coconut"],
+ state: "solid",
+ density: 1050,
+}
+
+elements.coconut_milk = {
+ color: "#fffcf2",
+ behavior: behaviors.LIQUID,
+ reactions: {
+ "melted_chocolate": { elem1:"chocolate_milk", elem2:null },
+ "chocolate": { elem1:"chocolate_milk", elem2:"melted_chocolate", chance:0.05 },
+ "coffee_ground": { elem1:"chocolate_milk", chance:0.05 },
+ "juice": { elem1:"fruit_milk", elem2:null, chance:0.05 },
+ "soda": { elem1:"pilk", elem2:null, chance:0.1 },
+ "yolk": { elem1:"eggnog", elem2:null, chance:0.1 },
+ "dirt": { elem1: null, elem2: "mud" },
+ "sand": { elem1: null, elem2: "wet_sand" },
+ "clay_soil": { elem1: null, elem2: "clay" },
+ "caramel": { color1:"#C8B39A", elem2:null, chance:0.05 },
+ "sugar": { elem2:null, chance:0.005},
+ },
+ tempLow: 0,
+ stateLow: "ice_cream",
+ stateLowColorMultiplier: [0.97,0.93,0.87],
+ tempHigh: 93,
+ stateHigh: "yogurt",
+ viscosity: 1.5,
+ category: "liquids",
+ state: "liquid",
+ density: 1036.86,
+ isFood: true
+}
+
+elements.tea.reactions.coconut_milk = { elem2:null, color1:"#ad8955", chance:0.005}
+elements.coffee.reactions.coconut_milk = { elem2:"foam", color1:"#856545", chance:0.005}
+
+elements.cut_coconut = {
+ color: "#fff2cf",
+ behavior: [
+ "XX|XX|XX",
+ "XX|XX|XX",
+ "M2|M1|M2",
+ ],
+ 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:"food",
+ tempHigh: 100,
+ stateHigh: "dead_plant",
+ tempLow: -1.66,
+ stateLow: "frozen_plant",
+ burn:65,
+ burnTime:60,
+ burnInto: "dead_plant",
+ breakInto: "coconut_juice",
+ state: "solid",
+ density: 1050,
+ hidden: true,
+}
+
+elements.coconut_juice = {
+ color: "#e9ebe4",
+ behavior: behaviors.LIQUID,
+ reactions: {
+ "dirt": { elem1: null, elem2: "mud" },
+ "sand": { elem1: null, elem2: "wet_sand" },
+ "clay_soil": { elem1: null, elem2: "clay" },
+ "caramel": { color1:"#C8B39A", elem2:null, chance:0.05 },
+ },
+ tempLow: 0,
+ tempHigh: 93,
+ stateHigh: ["sugar","steam"],
+ viscosity: 1.5,
+ category: "liquids",
+ state: "liquid",
+ density: 1036.86,
+ hidden: true,
+ isFood: true
+}
+
+elements.lemon_wood = {
+ color: "#786531",
+ 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"],
+}
+elements.lemon_branch = {
+ color: "#786531",
+ behavior: [
+ "CR:lemon_leaves,lemon_branch%2|CR:lemon_leaves,lemon_leaves,lemon_leaves,lemon_branch%2|CR:lemon_leaves,lemon_branch%2",
+ "XX|XX|XX",
+ "XX|XX|XX",
+ ],
+ tempHigh: 100,
+ stateHigh: "lemon_wood",
+ tempLow: -30,
+ stateLow: "lemon_wood",
+ category: "life",
+ burn: 40,
+ burnTime: 50,
+ burnInto: ["sap","ember","charcoal"],
+ hidden: true,
+ state: "solid",
+ density: 1500,
+ hardness: 0.15,
+ breakInto: ["sap","sawdust"],
+ hidden: true,
+}
+elements.lemon_leaves = {
+ color: ["#42b336","#46a83b"],
+ behavior: [
+ "XX|XX|XX",
+ "XX|XX|XX",
+ "XX|CR:lemon%0.15|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,
+ seed: "lemon_seed",
+ hidden: true
+}
+elements.lemon = {
+ color: ["#dbd937","#e0dd28"],
+ behavior: behaviors.POWDER,
+ 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 },
+ "sugar": { elem1:"marmalade", elem2:null, color1:"#e0bf2b", chance:0.35 }
+ },
+ category:"food",
+ tempHigh: 100,
+ stateHigh: "dead_plant",
+ tempLow: -1.66,
+ stateLow: "frozen_plant",
+ burn:65,
+ burnTime:60,
+ burnInto: "dead_plant",
+ breakInto: "lemon_juice",
+ state: "solid",
+ density: 1050,
+ isFood: true,
+ cutInto: ["lemon_zest","lemon_slice","lemon_slice","lemon_slice","lemon_slice"],
+}
+
+elements.lemon_juice = {
+ color: "#e0d358",
+ behavior: behaviors.LIQUID,
+ category: "liquids",
+ tempHigh: 100,
+ stateHigh: ["steam","sugar"],
+ burn: 70,
+ burnTime: 300,
+ burnInto: ["steam", "smoke"],
+ state: "liquid",
+ density: 825,
+ hidden: true,
+ temp: 30,
+ hidden: true,
+ tempLow: 0
+};
+
+elements.lemon_zest = {
+ color: "#dbc535",
+ behavior: behaviors.POWDER,
+ category:"food",
+ tempHigh: 100,
+ stateHigh: ["sugar","steam"],
+ burn:65,
+ burnTime:60,
+ burnInto: "dead_plant",
+ state: "solid",
+ density: 1050,
+ hidden: true,
+ reactions: {
+ "sugar": { elem1:"marmalade", elem2:null, color1:"#e0bf2b", chance:0.35 }
+ },
+}
+
+elements.lemon_slice = {
+ color: "#ebe431",
+ behavior: behaviors.STURDYPOWDER,
+ category:"food",
+ tempHigh: 100,
+ stateHigh: ["sugar","steam"],
+ burn:65,
+ burnTime:60,
+ burnInto: "dead_plant",
+ breakInto: "lemon_juice",
+ state: "solid",
+ density: 1050,
+ hidden: true,
+ reactions: {
+ "sugar": { elem1:"marmalade", elem2:null, color1:"#e0bf2b", chance:0.35 }
+ },
+}
+
+elements.lemon_seed = {
+ color: "#854610",
+ 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 ? "lemon_wood" : "lemon_branch",pixel.x,pixel.y+1);
+ }
+ }
+ else if (pixel.age > 1000) {
+ changePixel(pixel,"lemon_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",
+ ],
+};
+
+
+elements.carrot_seed = {
+ color: "#b08d35",
+ tick: function(pixel) {
+ 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 (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);
+ 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 (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);
+ 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) {
+ createPixel("carrot_leaves",pixel.x-1,pixel.y-1);
+ createPixel("carrot_leaves",pixel.x+1,pixel.y-1);
+ pixel.leafgrown++
+ }
+ else if (pixel.age > 150 && pixel.growthpixel == 4 && Math.random() < 0.1) {
+ changePixel(pixel,"carrot");
+ }
+ pixel.age++;
+ doDefaults(pixel);
+ },
+ properties: {
+ "age":0,
+ "growthpixel": 0,
+ "leafgrown": false
+ },
+ 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|XX|XX",
+ "XX|M1|XX",
+ ],
+};
+elements.carrot_leaves = {
+ color: ["#61cc3d","#58c234"],
+ behavior: behaviors.WALL,
+ 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,
+ seed: "carrot_seed",
+ hidden: true
+}
+elements.carrot = {
+ color: "#e39919",
+ behavior: behaviors.STURDYPOWDER,
+ category:"food",
+ tempHigh: 100,
+ stateHigh: ["steam"],
+ burn:65,
+ burnTime:60,
+ burnInto: "dead_plant",
+ breakInto: "carrot_juice",
+ state: "solid",
+ density: 1050,
+ hidden: true,
+}
+
+elements.carrot_juice = {
+ color: "#f5a742",
+ behavior: behaviors.LIQUID,
+ category: "liquids",
+ tempHigh: 100,
+ stateHigh: ["steam","sugar"],
+ burn: 70,
+ tempLow: 0,
+ burnTime: 300,
+ burnInto: ["steam", "smoke"],
+ state: "liquid",
+ density: 825,
+ hidden: true,
+ temp: 30,
+};
From fec4ac7b754b9f558cc31145d978d8b2c46da12b Mon Sep 17 00:00:00 2001
From: SquareScreamYT <134925668+SquareScreamYT@users.noreply.github.com>
Date: Thu, 25 Jan 2024 17:42:39 +0800
Subject: [PATCH 14/34] Update Changelog!
---
mods/aChefsDream.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mods/aChefsDream.js b/mods/aChefsDream.js
index a87f7415..fe4bb621 100644
--- a/mods/aChefsDream.js
+++ b/mods/aChefsDream.js
@@ -2,7 +2,7 @@
Created by SquareScreamYT and RealerRaddler
Thanks to Alice, nousernamefound and Fioushemastor for helping :)
-v1.1
+v1.3
Changelog (v1.0)
- added chickens
From dc831edc5777ee728a43bc28ddc12cc404aeda5d Mon Sep 17 00:00:00 2001
From: SquareScreamYT <134925668+SquareScreamYT@users.noreply.github.com>
Date: Thu, 25 Jan 2024 18:02:08 +0800
Subject: [PATCH 15/34] A Chef's Dream v1.3.1!
---
mods/aChefsDream.js | 27 ++++++++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/mods/aChefsDream.js b/mods/aChefsDream.js
index fe4bb621..7d9ea2c2 100644
--- a/mods/aChefsDream.js
+++ b/mods/aChefsDream.js
@@ -2,7 +2,7 @@
Created by SquareScreamYT and RealerRaddler
Thanks to Alice, nousernamefound and Fioushemastor for helping :)
-v1.3
+v1.1
Changelog (v1.0)
- added chickens
@@ -157,6 +157,11 @@ Changelog (v1.3)
- added carrot seeds and leaves
- added carrot juice
- added dry icing
+
+
+
+Changelog (v1.3.1)
+ - added lemonade
*/
/*
@@ -2173,6 +2178,26 @@ elements.lemon_juice = {
hidden: true,
temp: 30,
hidden: true,
+ tempLow: 0,
+ reactions: {
+ "sugar": {elem1:"lemonade", elem2: "null", chance:0.35}
+ }
+};
+
+elements.lemonade = {
+ color: "#fff378",
+ behavior: behaviors.LIQUID,
+ category: "liquids",
+ tempHigh: 100,
+ stateHigh: ["steam","sugar"],
+ burn: 70,
+ burnTime: 300,
+ burnInto: ["steam", "smoke"],
+ state: "liquid",
+ density: 825,
+ hidden: true,
+ temp: 30,
+ hidden: true,
tempLow: 0
};
From b89b0ccd097a30ffb49898b3196a2df5f9c92ccf Mon Sep 17 00:00:00 2001
From: stefanblox <155691462+stefanblox@users.noreply.github.com>
Date: Thu, 25 Jan 2024 23:19:29 -0300
Subject: [PATCH 16/34] sbstuff 2.5
this is fuckmod, go use sbmixup.js instead
---
mods/sbstuff.js | 215 ++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 210 insertions(+), 5 deletions(-)
diff --git a/mods/sbstuff.js b/mods/sbstuff.js
index cb05c5bd..596e6999 100644
--- a/mods/sbstuff.js
+++ b/mods/sbstuff.js
@@ -66,7 +66,7 @@ elements.maple_syrup = {
tempHigh: 500,
stateHigh: "steam",
color: "#9c6000",
- behavior: behaviors.LIQUID,
+ behavior: behaviors.CRAWLER,
category: "liquids",
state: "liquid",
};
@@ -362,6 +362,15 @@ elements.coca_cola = {
state: "liquid",
};
+elements.pepsi = {
+ tempHigh: 500,
+ stateHigh: "steam",
+ color: "#2b1717",
+ behavior: behaviors.LIQUID,
+ category: "liquids",
+ state: "liquid",
+};
+
elements.piss = {
tempHigh: 500,
stateHigh: "steam",
@@ -1409,7 +1418,7 @@ elements.silver_coin = {
state: "solid",
};
-elements.max_graphics_in_roblox = {
+elements.uraniumaniumaniumaniumanium_popcornicecream_plutoniumeptunium_238239 = {
color: "#238fe8",
behavior: [
"XX|XX|XX",
@@ -1425,7 +1434,199 @@ elements.max_graphics_in_roblox = {
excludeRandom: true,
maxSize: 1,
noMix: true,
- desc: "ok now ACTUALLY use it at your own risk IM NOT KIDDING! THIS CAN FUCKING CRASH YOUR GAME"
+ desc: "ok now ACTUALLY use it at your own risk IM NOT KIDDING! THIS CAN FUCKING CRASH YOUR GAME",
+ excludeRandom: true,
+};
+
+elements.coffee_milk = {
+ tempHigh: 300,
+ stateHigh: "steam",
+ color: "#5c4c42",
+ behavior: behaviors.LIQUID,
+ category: "liquids",
+ state: "liquid",
+};
+
+elements.mentos = {
+ tempHigh: 500,
+ stateHigh: "ash",
+ color: "#d0cbd6",
+ behavior: behaviors.STURDYPOWDER,
+ category: "food",
+ state: "liquid"
+};
+
+elements.oreo = {
+ tempHigh: 300,
+ stateHigh: "steam",
+ color: ["#211e1e","#fff6f5"],
+ singleColor: true,
+ behavior: behaviors.STURDYPOWDER,
+ category: "food",
+ state: "liquid"
+};
+
+elements.uranium_238 = {
+ tempHigh: 1200,
+ stateHigh: "molten_uranium",
+ color: ["#0f400b", "#30522d", "#4d6b4a", "#6f8f6d"],
+ behavior: [
+ "XX|CR:radiation%1|XX",
+ "CR:radiation%1|CH:lead%0.001|CR:radiation%1",
+ "M2|M1|M2",
+ ],
+ category: "powders",
+ state: "liquid",
+ density: 19100,
+ hardness: 0.6,
+ conduct: 0.235,
+ excludeRandom: true,
+ reactions: {
+ "neutron": {elem1: "uranium_239",},
+ }
+};
+
+elements.uranium_239 = {
+ tempHigh: 1300,
+ stateHigh: "molten_uranium",
+ color: ["#153816", "#135e14", "#379138", "#567556", "#7bb37b"],
+ behavior: [
+ "XX|CR:radiation%2|XX",
+ "CR:radiation%2|CH:lead%0.002|CR:radiation%2",
+ "M2|M1|M2",
+ ],
+ category: "powders",
+ state: "liquid",
+ hidden: true,
+ density: 19100,
+ hardness: 0.6,
+ conduct: 0.235,
+ excludeRandom: true,
+ reactions: {
+ "electron": {elem1: "neptunium_239"}
+ }
+};
+
+elements.neptunium_239 = {
+ tempHigh: 1500,
+ stateHigh: "molten_uranium",
+ color: ["#082e19", "#173b27", "#354a3f", "#4c635a", "#344a41"],
+ behavior: [
+ "XX|CR:radiation%3|XX",
+ "CR:radiation%3|CH:lead%0.003|CR:radiation%3",
+ "M2|M1|M2",
+ ],
+ category: "powders",
+ state: "liquid",
+ hidden: true,
+ density: 20000,
+ hardness: 0.7,
+ conduct: 0.3,
+ excludeRandom: true,
+ reactions: {
+ "electron": {elem1: "plutonium"},
+ "neutron": { elem1:"n_explosion", tempMin:500, chance:0.1 }
+ }
+};
+
+elements.plutonium = {
+ tempHigh: 2000,
+ stateHigh: "molten_uranium",
+ color: ["#0a4a17", "#194d23", "#263b2a", "#475449"],
+ behavior: [
+ "XX|CR:radiation%4|XX",
+ "CR:radiation%4|CH:lead%0.004|CR:radiation%4",
+ "M2|M1|M2",
+ ],
+ category: "powders",
+ state: "liquid",
+ hidden: true,
+ density: 22000,
+ hardness: 0.8,
+ conduct: 0.4,
+ excludeRandom: true,
+ reactions: {
+ "neutron": { elem1:"n_explosion", tempMin:500, chance:0.2 },
+ "electron": { elem1:"n_explosion", tempMin:500, chance:0.00000000000000000000001 }
+ }
+};
+
+elements.electron = {
+ color: "#c99d16",
+ behavior: behaviors.BOUNCY,
+ reactions: {
+ "uranium": { temp2:100 },
+ },
+ temp: 35,
+ category: "energy",
+ state: "gas",
+ density: 0.00002,
+ ignoreAir: true
+};
+
+elements.sned = {
+ color: "#dfe0d9",
+ behavior: [
+ "XX|XX AND CR:sned%1|XX",
+ "M2 AND CR:sned%1|XX|M2 AND CR:sned%1",
+ "M1|M1 AND CH:sned%1|M1",
+ ],
+ category: "joke",
+ state: "liquid",
+ excludeRandom: true
+};
+
+elements.uranium_tea = {
+ temp: 60,
+ tempHigh: 400,
+ stateHigh: "molten_uranium",
+ color: ["#0f8b15", "#316624", "#59864b", "#502e0f"],
+ behavior: behaviors.RADLIQUID,
+ category: "liquids",
+ state: "liquid"
+};
+
+elements.powerlaser = {
+ color: ["#ed0ca9","#ff2b95"],
+ tick: function(pixel) {
+ var x = pixel.x;
+ for (var y = pixel.y; y < height; y++) {
+ if (outOfBounds(x, y)) {
+ break;
+ }
+ if (isEmpty(x, y)) {
+ if (Math.random() > 0.05) { continue }
+ createPixel("flash", x, y);
+ pixelMap[x][y].color = "#b80ced";
+ pixelMap[x][y].temp = 1001000;
+ }
+ else {
+ if (elements[pixelMap[x][y].element].isGas) { continue }
+ if (elements[pixelMap[x][y].element].id === elements.heat_ray.id) { break }
+ pixelMap[x][y].temp += 901000;
+ pixelTempCheck(pixelMap[x][y]);
+ break;
+ }
+ }
+ deletePixel(pixel.x, pixel.y);
+ },
+ temp: 1000000,
+ category: "energy",
+ state: "gas",
+ excludeRandom: true,
+ noMix: true
+};
+
+elements.magma_bomb = {
+ temp: 100,
+ color: "#b83109",
+ behavior: [
+ "XX|EX:6>magma|XX",
+ "XX|XX|XX",
+ "M2|M1 AND EX:6>magma|M2"
+ ],
+ category: "weapons",
+ state: "liquid"
};
elements.incinerate.category = "tools",
@@ -1463,13 +1664,17 @@ if (!elements.water.reactions) elements.water.reactions = {};
elements.water.reactions.cocaine = { elem1: "solid_water", elem2: null }
if (!elements.paper.reactions) elements.paper.reactions = {};
-elements.paper.reactions.bless = { elem1: "robux", elem2: null, chance: 0.001 }
+elements.paper.reactions.bless = { elem1: "robux", elem2: null, chance: 0.0000001 }
if (!elements.uranium.reactions) elements.uranium.reactions = {};
elements.uranium.reactions.ice_cream = {elem1: "uranium_ice_cream", elem2: null},
-elements.uranium.reactions.cream = {elem1: "uranium_ice_cream", elem2: null}
+elements.uranium.reactions.cream = {elem1: "uranium_ice_cream", elem2: null},
+elements.uranium.reactions.tea = {elem1: "uranium_tea", elem2: null}
if (!elements.dough.reactions) elements.dough.reactions = {};
elements.dough.reactions.yolk = {elem1: null, elem2: "spaghetti", tempMin: 25}
+if (!elements.coffee.reactions) elements.coffee.reactions = {};
+elements.coffee.reactions.milk = {elem1: null, elem2: "coffee_milk",}
+
elements.silver.breakInto = "silver_coin"
From 62281e744464c804e67584c4f2a64eb8634fa7a8 Mon Sep 17 00:00:00 2001
From: Jayd-Rubies <155784127+Jayd-Rubies@users.noreply.github.com>
Date: Thu, 25 Jan 2024 21:42:15 -0500
Subject: [PATCH 17/34] Weapons.js missile optimization
---
mods/weapons.js | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/mods/weapons.js b/mods/weapons.js
index 88f77107..04ed8a20 100644
--- a/mods/weapons.js
+++ b/mods/weapons.js
@@ -25,7 +25,7 @@ elements.little_boy = {
cooldown: defaultCooldown
},
elements.fat_man = {
- color: ["#ffff00","#000000"],
+ color: ["#ffff00","#333333"],
behavior: [
"XX|EX:28>plasma|XX",
"XX|XX|XX",
@@ -69,20 +69,20 @@ elements.fat_man = {
category: "weapons"
},
elements.left_missile = {
- color: "#4c4e42",
+ color: "#4c4e42",
behavior: [
- "XX|EX:10|XX",
- "CR:left_missile AND EX:10|CH:fire|EX:10",
- "M2|M1 AND EX:10|M2",
+ "M2|EX:10|XX",
+ "M1 AND EX:10|XX|EX:10",
+ "M2|EX:10|XX",
],
category:"weapons",
},
elements.right_missile = {
- color: "#4c4e42",
+ color: "#4c4e42",
behavior: [
- "XX|EX:10|XX",
- "EX:10|CH:fire|EX:10 AND CR:right_missile",
- "M2|M1 AND EX:10|M2",
+ "XX|EX:10|M2",
+ "EX:10|XX|M1 AND EX:10",
+ "XX|EX:10|M2",
],
category:"weapons",
},
From a241758ed2fe26da250cd79ad4fcd3a19f043035 Mon Sep 17 00:00:00 2001
From: An Orbit <68935009+orbit-loona@users.noreply.github.com>
Date: Fri, 26 Jan 2024 15:38:54 -0500
Subject: [PATCH 18/34] make vivite pyrophoric
---
mods/a_mod_by_alice.js | 198 +++++++++++++++++++++++++++++++++--------
1 file changed, 162 insertions(+), 36 deletions(-)
diff --git a/mods/a_mod_by_alice.js b/mods/a_mod_by_alice.js
index bedefec0..fec50ee1 100644
--- a/mods/a_mod_by_alice.js
+++ b/mods/a_mod_by_alice.js
@@ -3875,8 +3875,41 @@ color1 and color2 spread through striped paint like dye does with itself. col
//No changeTemp for fire=>smoke
elements.fire.tick = function(pixel){
- behaviors.UL_UR_OPTIMIZED(pixel);
- if (!pixel.del && settings.burn===0 && (pixelTicks-pixel.start > 70) && Math.random() < 0.1 ) { changePixel(pixel,"smoke",false) }
+ if (pixel.start === pixelTicks) {return}
+ if (pixel.charge && elements[pixel.element].behaviorOn) {
+ pixelTick(pixel)
+ }
+ var move1Spots = [
+ [pixel.x, pixel.y-1],
+ [pixel.x+1, pixel.y-1],
+ [pixel.x-1, pixel.y-1],
+ ]
+ var moved = false;
+ for (var i = 0; i < move1Spots.length; i++) {
+ var coords = move1Spots[Math.floor(Math.random()*move1Spots.length)];
+ coords = {x: coords[0], y: coords[1]};
+ if(!isEmpty(coords.x,coords.y,true) && pixelMap[coords.x]?.[coords.y]?.element == pixel.element && pixelMap[coords.x][coords.y].temp < pixel.temp) {
+ swapPixels(pixel,pixelMap[coords.x][coords.y]);
+ moved = true; break
+ } else {
+ if (tryMove(pixel, coords.x, coords.y)) { moved = true; break; }
+ else { move1Spots.splice(move1Spots.indexOf(coords), 1);}
+ }
+ }
+ if (!moved && !pixel.del) {
+ var move2Spots = [
+ [pixel.x, pixel.y+1],
+ [pixel.x+1, pixel.y],
+ [pixel.x-1, pixel.y],
+ ]
+ for (var i = 0; i < move2Spots.length; i++) {
+ var coords = move2Spots[Math.floor(Math.random()*move2Spots.length)];
+ if (tryMove(pixel, coords[0], coords[1])) { break; }
+ else { move2Spots.splice(move2Spots.indexOf(coords), 1); }
+ }
+ }
+ if (!pixel.del) { doDefaults(pixel); }
+ if (!pixel.del && settings.burn===0 && (pixelTicks-pixel.start > 70) && Math.random() < 0.1 ) { changePixel(pixel,"smoke",false) };
};
//New elements
@@ -6827,7 +6860,7 @@ color1 and color2 spread through striped paint like dye does with itself. col
for (let j = -1; j < 2; j++) {
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
if (pixelMap[pixel.x+j][pixel.y+i].element == pixel.element) {
- pixel.uwu += 1
+ pixel.uwu++
}
}
}
@@ -6854,7 +6887,7 @@ color1 and color2 spread through striped paint like dye does with itself. col
for (let j = -3; j < 4; j++) {
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
if (pixelMap[pixel.x+j][pixel.y+i].element == pixel.element) {
- pixel.uwu += 1
+ pixel.uwu++
}
}
}
@@ -6882,7 +6915,7 @@ color1 and color2 spread through striped paint like dye does with itself. col
for (let j = (-1*squadius); j < (squadius+1); j++) {
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
if (pixelMap[pixel.x+j][pixel.y+i].element == pixel.element) {
- pixel.uwu += 1
+ pixel.uwu++
}
}
}
@@ -6910,7 +6943,7 @@ color1 and color2 spread through striped paint like dye does with itself. col
for (let j = (-1*squadius); j < (squadius+1); j++) {
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
if (pixelMap[pixel.x+j][pixel.y+i].element == pixel.element) {
- pixel.uwu += 1
+ pixel.uwu++
}
}
}
@@ -6938,7 +6971,7 @@ color1 and color2 spread through striped paint like dye does with itself. col
for (let j = (-1*squadius); j < (squadius+1); j++) {
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
if (pixelMap[pixel.x+j][pixel.y+i].element == pixel.element) {
- pixel.uwu += 1
+ pixel.uwu++
}
}
}
@@ -6966,7 +6999,7 @@ color1 and color2 spread through striped paint like dye does with itself. col
for (let j = (-1*squadius); j < (squadius+1); j++) {
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
if (pixelMap[pixel.x+j][pixel.y+i].element == pixel.element) {
- pixel.uwu += 1
+ pixel.uwu++
}
}
}
@@ -6994,7 +7027,7 @@ color1 and color2 spread through striped paint like dye does with itself. col
for (let j = (-1*squadius); j < (squadius+1); j++) {
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
if (pixelMap[pixel.x+j][pixel.y+i].element == pixel.element) {
- pixel.uwu += 1
+ pixel.uwu++
}
}
}
@@ -7022,7 +7055,7 @@ color1 and color2 spread through striped paint like dye does with itself. col
for (let j = (-1*squadius); j < (squadius+1); j++) {
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
if (pixelMap[pixel.x+j][pixel.y+i].element == pixel.element) {
- pixel.uwu += 1
+ pixel.uwu++
}
}
}
@@ -7050,7 +7083,7 @@ color1 and color2 spread through striped paint like dye does with itself. col
for (let j = (-1*squadius); j < (squadius+1); j++) {
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
if (pixelMap[pixel.x+j][pixel.y+i].element == pixel.element) {
- pixel.uwu += 1
+ pixel.uwu++
}
}
}
@@ -7078,7 +7111,7 @@ color1 and color2 spread through striped paint like dye does with itself. col
for (let j = (-1*squadius); j < (squadius+1); j++) {
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
if (pixelMap[pixel.x+j][pixel.y+i].element == pixel.element) {
- pixel.uwu += 1
+ pixel.uwu++
}
}
}
@@ -7106,7 +7139,7 @@ color1 and color2 spread through striped paint like dye does with itself. col
for (let j = (-1*squadius); j < (squadius+1); j++) {
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
if (pixelMap[pixel.x+j][pixel.y+i].element == pixel.element) {
- pixel.uwu += 1
+ pixel.uwu++
}
}
}
@@ -7136,9 +7169,9 @@ color1 and color2 spread through striped paint like dye does with itself. col
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
if (pixelMap[pixel.x+j][pixel.y+i].element == pixel.element) {
if(pixel.uwu < 8) {
- pixel.uwu += 1
+ pixel.uwu++
} else {
- pixel.owo += 1
+ pixel.owo++
}
}
}
@@ -8207,6 +8240,8 @@ color1 and color2 spread through striped paint like dye does with itself. col
["peach", "#ffbf7f"],
["mint", "#4df0a9"],
["gray", "#7F7F7F"],
+ ["lime", "#7FFF00"],
+ ["black", "#000000"],
["white", "#FFFFFF"],
["sky_blue", "#99d1f2"]
];
@@ -8215,6 +8250,62 @@ color1 and color2 spread through striped paint like dye does with itself. col
newLegacyFnmDye(dyeColors[i][0],dyeColors[i][1])
};
+ eLists.LED = ["led_r","led_g","led_b"];
+
+ function newLED(abbrev,hexColor,baseColorOverrideHex=null) {
+ if(!(hexColor.startsWith("#"))) { hexColor = "#" + hexColor };
+ if(baseColorOverrideHex && !(baseColorOverrideHex.startsWith("#"))) { baseColorOverrideHex = "#" + baseColorOverrideHex };
+ abbrev = abbrev.toLowerCase();
+ var key = `led_${abbrev}`;
+ var pixelColor = baseColorOverrideHex ?? changeLuminance(hexColor,0x66/0xff,"multiply","hex",null,false);
+
+ elements[key] = {
+ behavior: behaviors.WALL,
+ reactions: {
+ "light": {"charge1":1},
+ "liquid_light": {"charge1":1},
+ },
+ color: pixelColor,
+ colorOn: hexColor,
+ category: "machines",
+ tempHigh: 1500,
+ stateHigh: ["molten_glass","molten_glass","molten_glass","molten_gallium"],
+ conduct: 1,
+ breakInto: "glass_shard"
+ };
+
+ eLists.LED.push(key)
+ };
+
+ var ledColors = [
+ ["c", "#00FFFF"], //cyan
+ ["y", "#FFFF00"], //yellow
+ ["m", "#FF00FF"], //magenta (cursed)
+ ["p", "#AB00C2"], //purple (cursed)
+ ["v", "#7700FF"], //violet
+ ["w", "#FFFFFF"], //white (cursed)
+ ["gy", "#7F7F7F"], //gray (more cursed)
+ ["bl", "#000000", "#2b2b2b"], //black (super cursed)
+ ["o", "#FF7F00"], //orange
+ ["a", "#FFBF00"], //amber
+ ["l", "#7FFF00"], //lime
+ ["rs", "#FF0067"], //rose (cursed)
+ ["pk", "#FF7FFF"], //pink (cursed)
+ ["bg", "#9F005F"], //burgundy (cursed)
+ ["pc", "#ffbf7f"], //peach
+ ["mg", "#4df0a9"], //mint green
+ ["sb", "#99d1f2"] //sky blue (cursed)
+ ];
+
+ for(var i = 0; i < ledColors.length; i++) {
+ newLED(...ledColors[i]);
+ };
+
+ for(var i = 0; i < eLists.LED.length; i++) {
+ var key = eLists.LED[i];
+ elements.malware.reactions[key] = { elem2:eLists.LED, chance:0.01 }
+ };
+
//ASSORTED RAINBOW VARIANTS ##
elements.concoction.reactions.diorite_gravel = {
@@ -10275,7 +10366,7 @@ color1 and color2 spread through striped paint like dye does with itself. col
for (let j = -1; j < 2; j++) {
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
if (pixelMap[pixel.x+j][pixel.y+i].element == "msmine") {
- pixel.uwu += 1
+ pixel.uwu++
}
}
}
@@ -10627,7 +10718,7 @@ color1 and color2 spread through striped paint like dye does with itself. col
for (let j = -1; j < 2; j++) {
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
if (pixelMap[pixel.x+j][pixel.y+i].element == pixel.element) {
- pixel.uwu += 1;
+ pixel.uwu++;
};
};
};
@@ -10719,7 +10810,7 @@ color1 and color2 spread through striped paint like dye does with itself. col
for (let j = -1; j < 2; j++) {
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
if (pixelMap[pixel.x+j][pixel.y+i].element == pixel.element) {
- pixel.uwu += 1;
+ pixel.uwu++;
};
};
};
@@ -15537,9 +15628,14 @@ Pixel size (rendering only): (Use if the save looks cut o
viscosity: 3**4,
}
- elements.redstone_dust.tempHigh = 2500
+ elements.redstone_dust.tempHigh = 2500;
- elements.redstone_dust.stateHigh = "destabilized_redstone"
+ elements.redstone_dust.stateHigh = "destabilized_redstone";
+
+ elements.redstone_dust.conduct = 0.9;
+
+ elements.redstone_dust.colorOn = ["#FF2424","#FF0000","#FF1200"];
+ elements.redstone_dust.color = ["#7f0000","#5f0000","#5f0500"];
elements.destabilized_redstone = {
color: ["#9e0303", "#98061a", "#b80704", "#c4020c", "#f70008", "#9e0303", "#98061a", "#b80704", "#e3020a", "#8c0303", "#8c0303"],
@@ -16770,9 +16866,10 @@ Pixel size (rendering only): (Use if the save looks cut o
"fire": { elem2: null }
},
tick: function(pixel) {
- backgroundColor = hexToRGB(settings.bg);
- pixel.rgbValue = "rgb("+backgroundColor.r+","+backgroundColor.g+","+backgroundColor.b+")";
- pixel.color = pixel.rgbValue;
+ /*var baseColor = settings.bg instanceof Array ? averageRgbPrefixedColorArray(settings.bg.map(x => convertColorFormats(x,"rgb"))) : convertColorFormats(settings.bg,"rgb");
+ baseColor = convertColorFormats(baseColor,"json");
+ pixel.color = "rgba(" + Object.values(baseColor).join(",") + ",0)"*/
+ pixel.color = "rgba(0,0,0,0)"
},
hardness: 0.6,
category: "gases",
@@ -19295,9 +19392,12 @@ Pixel size (rendering only): (Use if the save looks cut o
if(isNaN(pixel.temp)) { pixel.temp = 20 };
if(Math.random() < 0.013 && exposedToAir(pixel)) {
changePixel(pixel,"vivite_oxide",false);
- pixel.temp += 0.1;
+ pixel.temp += 4;
};
},
+ burnTime: 160,
+ burnTempChange: 10.65,
+ burnInto: "vivite_oxide_powder",
noResistance: true,
reactions: {
"ice": { elem1: "vivite_oxide", elem2: null, temp1: 0.2 },
@@ -19327,10 +19427,23 @@ Pixel size (rendering only): (Use if the save looks cut o
behavior: behaviors.POWDER,
tick: function(pixel) {
if(Math.random() < 0.027 && exposedToAir(pixel)) {
- changePixel(pixel,"vivite_oxide_powder",false);
- pixel.temp += 0.1;
+ if(getEmptyMooreNeighbors(pixel).length > 4) {
+ pixel.burning = true;
+ pixel.burnStart = pixelTicks;
+ } else {
+ pixel.temp += 18;
+ changePixel(pixel,getStateAtTemp("vivite_oxide_powder",pixel.temp),false);
+ };
+
+ if(pixel.burning && ((pixel.temp + (2 * elements[pixel.element].burnTempChange)) > elements[pixel.element].tempHigh)) {
+ changePixel(pixel,elements[pixel.element].burnInto,false);
+ pixel.temp += 213;
+ };
};
},
+ burnTime: 8,
+ burnTempChange: 213,
+ burnInto: "vivite_oxide_powder",
reactions: {
"ice": { elem1: "vivite_oxide_powder", elem2: null, temp1: 0.2 },
"water": { elem1: "vivite_oxide_powder", elem2: null, temp1: 0.2 },
@@ -19345,7 +19458,7 @@ Pixel size (rendering only): (Use if the save looks cut o
"salt_ice": { elem1: "vivite_oxide_powder", elem2: "salt" }
},
noResistance: true,
- tempHigh: 938,
+ tempHigh: 1725,
stateHigh: "molten_vivite",
category: "solids",
state: "solid",
@@ -19382,7 +19495,7 @@ Pixel size (rendering only): (Use if the save looks cut o
return false;
};
- if(elements[newElement].noViviteSlag) { //Excluded
+ if(elements[newElement].noViviteSlag || elements[pixel.element].ignore?.includes(newPixel.element)) { //Excluded
return false;
};
@@ -19399,12 +19512,13 @@ Pixel size (rendering only): (Use if the save looks cut o
color: ["#f7a6e5", "#fa70d1", "#f0bbf2"],
colorOn: ["#ff63ac", "#ff21bd", "#e81af0"],
fireColor: ["#ff66ba", "#ff85ef", "#ff99f7"],
+ ignore: ["wall","heejinite","jinsoulite","haseulite","molten_heejinite","molten_jinsoulite","molten_haseulite","yvesite","molten_yvesite"],
tick: function(pixel) {
var info = elements[pixel.element];
if(Math.random() < 0.022 && exposedToAir(pixel)) {
changePixel(pixel,pixel.temp > 7315.27 ? "molten_vivite_oxide" : "vivite_oxide_powder",false)
- pixel.temp += 0.1;
+ pixel.temp += 18;
};
if(Math.random() < 0.025) {
@@ -19448,10 +19562,13 @@ Pixel size (rendering only): (Use if the save looks cut o
},
density: 8212,
state: "liquid",
+ burnTime: 160,
+ burnTempChange: 10.65,
+ burnInto: "vivite_oxide_powder",
hardness: 0.88,
viscosity: 10000,
breakInto: "vivite_gas",
- temp: 1100,
+ temp: 2000,
tempHigh: 2256,
stateHigh: "vivite_gas",
tempLow: 938,
@@ -19582,13 +19699,22 @@ Pixel size (rendering only): (Use if the save looks cut o
fireColor: ["#ff66ba", "#ff85ef", "#ff99f7"],
tick: function(pixel) {
if(Math.random() < 0.032 && exposedToAir(pixel)) {
- changePixel(pixel,pixel.temp > 15500 ? "vivite_oxide_gas" : pixel.temp > 7315.27 ? "molten_vivite_oxide" : "vivite_oxide_powder",false);
+ if(getEmptyMooreNeighbors(pixel).length > 4) {
+ pixel.burning = true;
+ pixel.burnStart = pixelTicks;
+ } else {
+ pixel.temp += 18;
+ changePixel(pixel,pixel.temp > 15500 ? "vivite_oxide_gas" : pixel.temp > 7315.27 ? "molten_vivite_oxide" : "vivite_oxide_powder",false);
+ };
};
},
behavior: behaviors.GAS,
state: "gas",
tempLow: 2256,
stateLow: "molten_vivite",
+ burnTime: 8,
+ burnTempChange: 213,
+ burnInto: "vivite_oxide_powder",
density: 18.02,
temp: 3300,
hardness: 1,
@@ -26059,7 +26185,7 @@ Pixel size (rendering only): (Use if the save looks cut o
};
for(var i in adjacentCoords) {
if(Math.random() < 0.005) {
- pixel.temp+=1;
+ pixel.temp++;
var newCoords = [
pixel.x+adjacentCoords[i][0],
pixel.y+adjacentCoords[i][1]
@@ -40922,7 +41048,7 @@ Make sure to save your command in a file if you want to add this preset again.`
for (var i = 1; i < width; i++) {
for (var j = 1; j < height; j++) {
if (!isEmpty(i,j)) {
- pixelMap[i][j].temp += 1
+ pixelMap[i][j].temp++
}
}
}
@@ -41001,7 +41127,7 @@ Make sure to save your command in a file if you want to add this preset again.`
for (let j = -8; j < 9; j++) {
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
if (pixelMap[pixel.x+j][pixel.y+i].element == pixel.element) {
- pixel.uwu += 1
+ pixel.uwu++
}
}
}
@@ -41038,7 +41164,7 @@ Make sure to save your command in a file if you want to add this preset again.`
for (let j = -8; j < 9; j++) {
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
if (pixelMap[pixel.x+j][pixel.y+i].element == pixel.element) {
- pixel.uwu += 1
+ pixel.uwu++
}
}
}
@@ -41074,7 +41200,7 @@ Make sure to save your command in a file if you want to add this preset again.`
for (let j = -8; j < 9; j++) {
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
if (pixelMap[pixel.x+j][pixel.y+i].element == pixel.element) {
- pixel.uwu += 1
+ pixel.uwu++
}
}
}
From d39b255f7cb6be824407eaf2ade0d897e23190af Mon Sep 17 00:00:00 2001
From: slweeb <91897291+slweeb@users.noreply.github.com>
Date: Fri, 26 Jan 2024 22:23:39 -0500
Subject: [PATCH 19/34] Update mod-list.html
---
mod-list.html | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/mod-list.html b/mod-list.html
index 3cc4c843..b45f0a0b 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -230,13 +230,13 @@
| nocancer.js | Removes cancer from the game one tick after it is created | mollthecoder |
| nocancer2.js | Removes cancer from the game altogether. May be incompatible with other mods that spawn cancer | mollthecoder |
| nograssgrow.js | Prevents Grass from growing | mollthecoder |
-| obsidian.js | Adds Obsidian | Jayd |
| pizzasstuff.js | New animals, foods, and plants | _ilikepizza_ |
| primordial_birthpool.js | A cross between Primordial Soup and Birthpool. Requires F&M | Alice |
| spring.js | Many nature elements, like sakura trees, butterflies, beehives, and more | R74n |
| the_ground_og.js | Simplified and more stable version of the_ground.js | Alice |
| the_ground.js | Adds several rock types, worldgen settings, and gemstones | Alice |
| toothpaste.js | Teeth and paste | Alice |
+| volcanic_expansion.js | Adds Obsidian, Pumice, and Andesite rocks | Jayd |
| Fun & Games |
| allliquids.js | Made all elements liquids | Alex |
@@ -271,6 +271,9 @@
| rainbow_tests.js | Adds variants of the rainbow element with different maths | Alice |
| Shroomboxels.js | A variant of acid_and_shapes.js that uses a different trigonometric function | Alice |
+| Compilations |
+| a_mod_by_alice.js | A mod combining most of Alice’s mods, and some other things | Alice |
+
| Technical Libraries & Tests |
| a_bundle_of_tests.js | Several test functions | Alice |
| betterMenuScreens.js | Library for mods to create their own menus | ggod |
From 43da5258c342229063e4c8eff44c55a7e5e7d266 Mon Sep 17 00:00:00 2001
From: SquareScreamYT <134925668+SquareScreamYT@users.noreply.github.com>
Date: Sat, 27 Jan 2024 12:13:25 +0800
Subject: [PATCH 20/34] A Chef's Dream 1.3.2!
---
mods/aChefsDream.js | 172 ++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 165 insertions(+), 7 deletions(-)
diff --git a/mods/aChefsDream.js b/mods/aChefsDream.js
index 7d9ea2c2..e026916d 100644
--- a/mods/aChefsDream.js
+++ b/mods/aChefsDream.js
@@ -2,7 +2,7 @@
Created by SquareScreamYT and RealerRaddler
Thanks to Alice, nousernamefound and Fioushemastor for helping :)
-v1.1
+v1.3.2
Changelog (v1.0)
- added chickens
@@ -162,6 +162,14 @@ Changelog (v1.3)
Changelog (v1.3.1)
- added lemonade
+
+
+
+Changelog (v1.3.2)
+ - added apple cider vinegar
+ - added turnips
+ - added turnip seeds and leaves
+ - added turnip juice
*/
/*
@@ -894,7 +902,8 @@ elements.apple_juice = {
hidden: true,
temp: 30,
reactions: {
- "sugar": { elem1:"apple_jam", elem2:null, chance:0.35 }
+ "sugar": { elem1:"apple_jam", elem2:null, chance:0.35 },
+ "yeast": { elem1:"apple_cider_vinegar", elem2:null, chance:0.35 }
},
tempLow: 0
};
@@ -942,7 +951,6 @@ elements.icing_sugar = {
viscosity: 1.5,
category: "food",
state: "solid",
- hidden: true,
density: 1036.86,
isFood: true
};
@@ -963,6 +971,7 @@ elements.icing = {
state: "solid",
density: 959.97,
viscosity: 9000,
+ hidden: true
};
elements.dry_icing = {
@@ -976,6 +985,7 @@ elements.dry_icing = {
state: "solid",
density: 959.97,
viscosity: 9000,
+ hidden: true
};
elements.cream.reactions.baked_batter = {elem2: "cake" }
@@ -1135,7 +1145,7 @@ elements.orange_slice = {
burn:65,
burnTime:60,
burnInto: "dead_plant",
- breakInto: "apple_juice",
+ breakInto: "orange_juice",
state: "solid",
density: 1050,
hidden: true,
@@ -1715,7 +1725,6 @@ elements.grape_juice = {
category: "liquids",
state: "liquid",
density: 1054,
- stain: 0.05,
hidden: true,
isFood: true
};
@@ -2299,7 +2308,6 @@ elements.carrot_seed = {
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)) {
@@ -2311,13 +2319,14 @@ elements.carrot_seed = {
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 (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++
}
+ }
else if (pixel.age > 150 && pixel.growthpixel == 4 && Math.random() < 0.1) {
changePixel(pixel,"carrot");
}
@@ -2399,3 +2408,152 @@ elements.carrot_juice = {
hidden: true,
temp: 30,
};
+
+elements.apple_cider_vinegar = {
+ color: "#fffe75",
+ behavior: behaviors.LIQUID,
+ category: "liquids",
+ tempHigh: 100,
+ stateHigh: ["steam","sugar"],
+ burn: 70,
+ burnTime: 300,
+ burnInto: ["steam", "smoke"],
+ state: "liquid",
+ density: 825,
+ hidden: true,
+ temp: 30,
+ tempLow: 0
+};
+
+elements.turnip_seed = {
+ color: "#994828",
+ tick: function(pixel) {
+ 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 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("turnip_leaves",pixel.x,pixel.y-1);
+ pixel.growthpixel++;
+ }
+ }
+
+ }
+ if (pixel.age > 100 && pixel.temp < 100 && pixel.leafgrown == true && pixel.growthpixel > 0 && pixel.growthpixel < 3) {
+ if (!outOfBounds(pixel.x-1,pixel.y)) {
+ var pixelleft = pixelMap[pixel.x-1][pixel.y];
+ if (pixelleft.element === "dirt" || pixelleft.element === "mud" || pixelleft.element === "sand" || pixelleft.element === "wet_sand" || pixelleft.element === "clay_soil" || pixelleft.element === "mycelium") {
+ deletePixel(pixel.x-1,pixel.y);
+ createPixel("turnip",pixel.x-1,pixel.y);
+ }
+ }
+ if (!outOfBounds(pixel.x+1,pixel.y)) {
+ var pixelright = pixelMap[pixel.x+1][pixel.y];
+ if (pixelright.element === "dirt" || pixelright.element === "mud" || pixelright.element === "sand" || pixelright.element === "wet_sand" || pixelright.element === "clay_soil" || pixelright.element === "mycelium") {
+ deletePixel(pixel.x+1,pixel.y);
+ createPixel("turnip",pixel.x+1,pixel.y);
+ }
+ }
+ }
+ if (Math.random() < 0.1 && pixel.age > 100 && pixel.temp < 100 && pixel.leafgrown == true && pixel.growthpixel > 0 && pixel.growthpixel < 3) {
+ 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("turnip",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) {
+ 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("turnip_leaves",pixel.x-1,pixel.y-1);
+ createPixel("turnip_leaves",pixel.x+1,pixel.y-1);
+ pixel.leafgrown++
+ }
+ }
+ else if (pixel.age > 150 && pixel.growthpixel == 3 && Math.random() < 0.1) {
+ changePixel(pixel,"turnip");
+ }
+ pixel.age++;
+ doDefaults(pixel);
+ },
+ properties: {
+ "age":0,
+ "growthpixel": 0,
+ "leafgrown": false
+ },
+ 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|XX|XX",
+ "XX|M1|XX",
+ ],
+};
+elements.turnip_leaves = {
+ color: ["#399431","#3b8c34"],
+ behavior: behaviors.WALL,
+ 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,
+ seed: "turnip_seed",
+ hidden: true
+}
+elements.turnip = {
+ color: ["#945bb3","#a05cbd","#a053b8","#b364c4"],
+ behavior: behaviors.STURDYPOWDER,
+ category:"food",
+ tempHigh: 100,
+ stateHigh: ["steam"],
+ burn:65,
+ burnTime:60,
+ burnInto: "dead_plant",
+ breakInto: "turnip_juice",
+ state: "solid",
+ density: 1050,
+ hidden: true,
+}
+
+elements.turnip_juice = {
+ color: "#700f5d",
+ behavior: behaviors.LIQUID,
+ category: "liquids",
+ tempHigh: 100,
+ stateHigh: ["steam","sugar"],
+ burn: 70,
+ tempLow: 0,
+ burnTime: 300,
+ burnInto: ["steam", "smoke"],
+ state: "liquid",
+ density: 825,
+ hidden: true,
+ temp: 30,
+};
From de81b49881330f6021d03a485ec973108ac4faa6 Mon Sep 17 00:00:00 2001
From: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
Date: Sat, 27 Jan 2024 08:45:29 +0000
Subject: [PATCH 21/34] Update 1.3.2 fantasy_elements.js
Signed-off-by: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
---
mods/fantasy_elements.js | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/mods/fantasy_elements.js b/mods/fantasy_elements.js
index f7fd6f6e..4ddc7e54 100644
--- a/mods/fantasy_elements.js
+++ b/mods/fantasy_elements.js
@@ -1,3 +1,6 @@
+// 1.3.2 fantasy_elements.js mod
+// adds plode a bomb
+
elements.dragon_breath = {
color: "#f94e4e",
behavior: behaviors.GAS,
@@ -608,3 +611,17 @@ elements.nebulaflare_wall = {
"water": { elem1: "nebulaflare", elem2: "nebulaflare" },
},
};
+// end, chanelog moves to top
+
+elements.plode = {
+ color: "#7f03fc",
+ behavior: [
+ "XX|EX:90>plasma,heat_ray,plasma,fire,fire|XX",
+ "XX|XX|XX",
+ "M2|M1 AND EX:90>fire,plasma,fire,fire,heat_ray,fire|M2",
+ ],
+ category: "fantasyweapons",
+ state: "solid",
+ density: 2500,
+ excludeRandom: true,
+};
From 3c27714838be96b67ccaf10c667d713327ac28f5 Mon Sep 17 00:00:00 2001
From: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
Date: Sat, 27 Jan 2024 08:47:01 +0000
Subject: [PATCH 22/34] Delete leek.js
Signed-off-by: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
---
leek.js | 34 ----------------------------------
1 file changed, 34 deletions(-)
delete mode 100644 leek.js
diff --git a/leek.js b/leek.js
deleted file mode 100644
index 5adec07c..00000000
--- a/leek.js
+++ /dev/null
@@ -1,34 +0,0 @@
-elements.leek = {
- color: ["#3ad664","#34cf5d","#20d450","#2fd65c"],
- behavior: behaviors.SOLID,
- category: "food",
- viscosity: 35,
- state: "solid",
- density: 9999,
- breakInto: "leek_mash",
-};
-
-elements.leek_mash = {
- color: "#75eb95",
- behavior: behaviors.POWDER,
- category: "food",
- viscosity: 35,
- state: "solid",
- density: 9999,
- reactions: {
- "mashed_potato": { elem1: "leek_soup", elem2: "leek_soup" },
- },
-};
-
-elements.leek_soup = {
- color: ["#b8eb75","#b6ed6d"],
- behavior: behaviors.LIQUID,
- category: "food",
- viscosity: 35,
- state: "liquid",
- density: 800,
- reactions: {
- "water": { elem1: "leek_soup", elem2: "leek_soup" },
- },
-};
-
From 590b279e71129814a447eea62246903b82691e81 Mon Sep 17 00:00:00 2001
From: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
Date: Sat, 27 Jan 2024 08:48:24 +0000
Subject: [PATCH 23/34] Update more_gold.js
Signed-off-by: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
---
mods/more_gold.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/mods/more_gold.js b/mods/more_gold.js
index 8886aaaf..642d2d8e 100644
--- a/mods/more_gold.js
+++ b/mods/more_gold.js
@@ -16,3 +16,4 @@ elements.molten_green_gold = {
conduct: 0.87,
Hidden: true
};
+
From fd42066cf5a238fd952841871c476a68b27b62bc Mon Sep 17 00:00:00 2001
From: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
Date: Sat, 27 Jan 2024 08:48:41 +0000
Subject: [PATCH 24/34] Update more_gold.js
Signed-off-by: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com>
---
mods/more_gold.js | 1 -
1 file changed, 1 deletion(-)
diff --git a/mods/more_gold.js b/mods/more_gold.js
index 642d2d8e..8886aaaf 100644
--- a/mods/more_gold.js
+++ b/mods/more_gold.js
@@ -16,4 +16,3 @@ elements.molten_green_gold = {
conduct: 0.87,
Hidden: true
};
-
From 2a36c0968f8bd814dc574339bec246e49e2a2f0e Mon Sep 17 00:00:00 2001
From: idk73248 <86132722+idk73248@users.noreply.github.com>
Date: Sat, 27 Jan 2024 15:10:36 +0000
Subject: [PATCH 25/34] Add files via upload
---
all_around_fillers.js | 71 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 71 insertions(+)
create mode 100644 all_around_fillers.js
diff --git a/all_around_fillers.js b/all_around_fillers.js
new file mode 100644
index 00000000..2deb81c6
--- /dev/null
+++ b/all_around_fillers.js
@@ -0,0 +1,71 @@
+elements.top_filler = {
+ color: "#ae4cd9",
+ behavior: [
+ ["XX","CL","XX"],
+ ["XX","XX","XX"],
+ ["XX","XX","XX"]
+ ],
+ category:"special",
+ excludeRandom: true,
+ reactions: {
+ "neutron": { elem1:"lattice" },
+ "proton": { elem1:"vertical" },
+ "electric": { elem1:"horizontal" },
+ "positron": { elem1:"vertical" },
+ "plasma": { elem1:"armageddon", tempMin:500, charged:true },
+ }
+},
+
+elements.bottom_filler = {
+ color: "#ae4cd9",
+ behavior: [
+ ["XX","XX","XX"],
+ ["XX","XX","XX"],
+ ["XX","CL","XX"]
+ ],
+ category:"special",
+ excludeRandom: true,
+ reactions: {
+ "neutron": { elem1:"lattice" },
+ "proton": { elem1:"vertical" },
+ "electric": { elem1:"horizontal" },
+ "positron": { elem1:"vertical" },
+ "plasma": { elem1:"armageddon", tempMin:500, charged:true },
+ }
+},
+
+elements.right_filler = {
+ color: "#ae4cd9",
+ behavior: [
+ ["XX","XX","XX"],
+ ["XX","XX","CL"],
+ ["XX","XX","XX"]
+ ],
+ category:"special",
+ excludeRandom: true,
+ reactions: {
+ "neutron": { elem1:"lattice" },
+ "proton": { elem1:"vertical" },
+ "electric": { elem1:"horizontal" },
+ "positron": { elem1:"vertical" },
+ "plasma": { elem1:"armageddon", tempMin:500, charged:true },
+ }
+},
+
+elements.left_filler = {
+ color: "#ae4cd9",
+ behavior: [
+ ["XX","XX","XX"],
+ ["CL","XX","XX"],
+ ["XX","XX","XX"]
+ ],
+ category:"special",
+ excludeRandom: true,
+ reactions: {
+ "neutron": { elem1:"lattice" },
+ "proton": { elem1:"vertical" },
+ "electric": { elem1:"horizontal" },
+ "positron": { elem1:"vertical" },
+ "plasma": { elem1:"armageddon", tempMin:500, charged:true },
+ }
+}
\ No newline at end of file
From 6768467259f97d16af6954dc33a6fd1e86c9a47f Mon Sep 17 00:00:00 2001
From: idk73248 <86132722+idk73248@users.noreply.github.com>
Date: Sat, 27 Jan 2024 15:26:57 +0000
Subject: [PATCH 26/34] Update all_around_fillers.js
---
all_around_fillers.js | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/all_around_fillers.js b/all_around_fillers.js
index 2deb81c6..90e26d59 100644
--- a/all_around_fillers.js
+++ b/all_around_fillers.js
@@ -5,7 +5,7 @@ elements.top_filler = {
["XX","XX","XX"],
["XX","XX","XX"]
],
- category:"special",
+ category:"fillers",
excludeRandom: true,
reactions: {
"neutron": { elem1:"lattice" },
@@ -23,7 +23,7 @@ elements.bottom_filler = {
["XX","XX","XX"],
["XX","CL","XX"]
],
- category:"special",
+ category:"fillers",
excludeRandom: true,
reactions: {
"neutron": { elem1:"lattice" },
@@ -41,7 +41,7 @@ elements.right_filler = {
["XX","XX","CL"],
["XX","XX","XX"]
],
- category:"special",
+ category:"fillers",
excludeRandom: true,
reactions: {
"neutron": { elem1:"lattice" },
@@ -59,7 +59,7 @@ elements.left_filler = {
["CL","XX","XX"],
["XX","XX","XX"]
],
- category:"special",
+ category:"fillers",
excludeRandom: true,
reactions: {
"neutron": { elem1:"lattice" },
@@ -68,4 +68,4 @@ elements.left_filler = {
"positron": { elem1:"vertical" },
"plasma": { elem1:"armageddon", tempMin:500, charged:true },
}
-}
\ No newline at end of file
+}
From c07d3d58e1cb8c8eadeb610ba3f53869971fca33 Mon Sep 17 00:00:00 2001
From: idk73248 <86132722+idk73248@users.noreply.github.com>
Date: Sat, 27 Jan 2024 15:32:58 +0000
Subject: [PATCH 27/34] Update all_around_fillers.js
---
all_around_fillers.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/all_around_fillers.js b/all_around_fillers.js
index 90e26d59..2cb8a0da 100644
--- a/all_around_fillers.js
+++ b/all_around_fillers.js
@@ -69,3 +69,5 @@ elements.left_filler = {
"plasma": { elem1:"armageddon", tempMin:500, charged:true },
}
}
+
+elements.filler.category = "fillers"
From ca372fd4edb3aad123c9ba08ef266e37078bf784 Mon Sep 17 00:00:00 2001
From: slweeb <91897291+slweeb@users.noreply.github.com>
Date: Sat, 27 Jan 2024 11:36:18 -0500
Subject: [PATCH 28/34] Update mod-list.html
---
mod-list.html | 1 +
1 file changed, 1 insertion(+)
diff --git a/mod-list.html b/mod-list.html
index b45f0a0b..8ad490b1 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -239,6 +239,7 @@
| volcanic_expansion.js | Adds Obsidian, Pumice, and Andesite rocks | Jayd |
| Fun & Games |
+| all_around_fillers.js | Adds directional Filler variants | idk73248 |
| allliquids.js | Made all elements liquids | Alex |
| amogus.js | Adds a small amogus structure | Alice |
| elem3.js | Adds all elements and combinations from Elemental 3 [Very Large] | Sophie |
From a60480936929ef9aa69696f23ff6e9dfa089ef02 Mon Sep 17 00:00:00 2001
From: slweeb <91897291+slweeb@users.noreply.github.com>
Date: Sat, 27 Jan 2024 11:43:53 -0500
Subject: [PATCH 29/34] Delete all_around_fillers.js
---
all_around_fillers.js | 73 -------------------------------------------
1 file changed, 73 deletions(-)
delete mode 100644 all_around_fillers.js
diff --git a/all_around_fillers.js b/all_around_fillers.js
deleted file mode 100644
index 2cb8a0da..00000000
--- a/all_around_fillers.js
+++ /dev/null
@@ -1,73 +0,0 @@
-elements.top_filler = {
- color: "#ae4cd9",
- behavior: [
- ["XX","CL","XX"],
- ["XX","XX","XX"],
- ["XX","XX","XX"]
- ],
- category:"fillers",
- excludeRandom: true,
- reactions: {
- "neutron": { elem1:"lattice" },
- "proton": { elem1:"vertical" },
- "electric": { elem1:"horizontal" },
- "positron": { elem1:"vertical" },
- "plasma": { elem1:"armageddon", tempMin:500, charged:true },
- }
-},
-
-elements.bottom_filler = {
- color: "#ae4cd9",
- behavior: [
- ["XX","XX","XX"],
- ["XX","XX","XX"],
- ["XX","CL","XX"]
- ],
- category:"fillers",
- excludeRandom: true,
- reactions: {
- "neutron": { elem1:"lattice" },
- "proton": { elem1:"vertical" },
- "electric": { elem1:"horizontal" },
- "positron": { elem1:"vertical" },
- "plasma": { elem1:"armageddon", tempMin:500, charged:true },
- }
-},
-
-elements.right_filler = {
- color: "#ae4cd9",
- behavior: [
- ["XX","XX","XX"],
- ["XX","XX","CL"],
- ["XX","XX","XX"]
- ],
- category:"fillers",
- excludeRandom: true,
- reactions: {
- "neutron": { elem1:"lattice" },
- "proton": { elem1:"vertical" },
- "electric": { elem1:"horizontal" },
- "positron": { elem1:"vertical" },
- "plasma": { elem1:"armageddon", tempMin:500, charged:true },
- }
-},
-
-elements.left_filler = {
- color: "#ae4cd9",
- behavior: [
- ["XX","XX","XX"],
- ["CL","XX","XX"],
- ["XX","XX","XX"]
- ],
- category:"fillers",
- excludeRandom: true,
- reactions: {
- "neutron": { elem1:"lattice" },
- "proton": { elem1:"vertical" },
- "electric": { elem1:"horizontal" },
- "positron": { elem1:"vertical" },
- "plasma": { elem1:"armageddon", tempMin:500, charged:true },
- }
-}
-
-elements.filler.category = "fillers"
From 68d6cedb6acea62f4157094ca08c5d705488d5ff Mon Sep 17 00:00:00 2001
From: idk73248 <86132722+idk73248@users.noreply.github.com>
Date: Sat, 27 Jan 2024 16:47:00 +0000
Subject: [PATCH 30/34] added it again... hopefully it worked this time
uhhh i dunno
---
mods/all_around_fillers.js | 73 ++++++++++++++++++++++++++++++++++++++
1 file changed, 73 insertions(+)
create mode 100644 mods/all_around_fillers.js
diff --git a/mods/all_around_fillers.js b/mods/all_around_fillers.js
new file mode 100644
index 00000000..972b5476
--- /dev/null
+++ b/mods/all_around_fillers.js
@@ -0,0 +1,73 @@
+elements.top_filler = {
+ color: "#ae4cd9",
+ behavior: [
+ ["XX","CL","XX"],
+ ["XX","XX","XX"],
+ ["XX","XX","XX"]
+ ],
+ category:"fillers",
+ excludeRandom: true,
+ reactions: {
+ "neutron": { elem1:"lattice" },
+ "proton": { elem1:"vertical" },
+ "electric": { elem1:"horizontal" },
+ "positron": { elem1:"vertical" },
+ "plasma": { elem1:"armageddon", tempMin:500, charged:true },
+ }
+},
+
+elements.bottom_filler = {
+ color: "#ae4cd9",
+ behavior: [
+ ["XX","XX","XX"],
+ ["XX","XX","XX"],
+ ["XX","CL","XX"]
+ ],
+ category:"fillers",
+ excludeRandom: true,
+ reactions: {
+ "neutron": { elem1:"lattice" },
+ "proton": { elem1:"vertical" },
+ "electric": { elem1:"horizontal" },
+ "positron": { elem1:"vertical" },
+ "plasma": { elem1:"armageddon", tempMin:500, charged:true },
+ }
+},
+
+elements.right_filler = {
+ color: "#ae4cd9",
+ behavior: [
+ ["XX","XX","XX"],
+ ["XX","XX","CL"],
+ ["XX","XX","XX"]
+ ],
+ category:"fillers",
+ excludeRandom: true,
+ reactions: {
+ "neutron": { elem1:"lattice" },
+ "proton": { elem1:"vertical" },
+ "electric": { elem1:"horizontal" },
+ "positron": { elem1:"vertical" },
+ "plasma": { elem1:"armageddon", tempMin:500, charged:true },
+ }
+},
+
+elements.left_filler = {
+ color: "#ae4cd9",
+ behavior: [
+ ["XX","XX","XX"],
+ ["CL","XX","XX"],
+ ["XX","XX","XX"]
+ ],
+ category:"fillers",
+ excludeRandom: true,
+ reactions: {
+ "neutron": { elem1:"lattice" },
+ "proton": { elem1:"vertical" },
+ "electric": { elem1:"horizontal" },
+ "positron": { elem1:"vertical" },
+ "plasma": { elem1:"armageddon", tempMin:500, charged:true },
+ }
+}
+
+elements.filler.category = "fillers"
\ No newline at end of file
From 29700ac73351d677fdd857bb03e425545d467ad4 Mon Sep 17 00:00:00 2001
From: An Orbit <68935009+orbit-loona@users.noreply.github.com>
Date: Sat, 27 Jan 2024 13:18:07 -0500
Subject: [PATCH 31/34] restore explosions' ability to break things
---
mods/a_mod_by_alice.js | 173 ++++++++++++++++++++++++++++-------------
1 file changed, 121 insertions(+), 52 deletions(-)
diff --git a/mods/a_mod_by_alice.js b/mods/a_mod_by_alice.js
index fec50ee1..b9c9f3e1 100644
--- a/mods/a_mod_by_alice.js
+++ b/mods/a_mod_by_alice.js
@@ -14,7 +14,7 @@ try {
//ESSENTIAL COMMON FUNCTIONS (CODE LIBRARY) ##
- //U.R.L.
+ //URL
urlParams = new URLSearchParams(window.location.search);
@@ -616,9 +616,10 @@ try {
throw new Error("Offset is NaN");
};
+ var oldColor = color; //for error display
color = hexToRGB(color);
if(color === null) {
- throw new Error("hexToRGB(color) was null (maybe it's an invalid hex triplet?)");
+ throw new Error(`hexToRGB(color) was null (${oldColor}, maybe it's an invalid hex triplet?)`);
};
//console.log("converted color: " + JSON.stringify(color));
@@ -772,9 +773,10 @@ try {
};
//console.log(`octothorpe checked: ${color}`);
+ var oldColor = color;
color = hexToRGB(color);
if(color === null) {
- throw new Error("hexToRGB(color) was null (maybe it's an invalid hex triplet?)");
+ throw new Error(`hexToRGB(color) was null (${oldColor}, maybe it's an invalid hex triplet?)`);
};
switch(outputType.toLowerCase()) {
@@ -1498,18 +1500,29 @@ try {
};
};
- function breakPixel(pixel,changetemp=false) {
- var info = elements[pixel.element];
- if(typeof(info.breakInto) === "undefined") {
- return false;
+ function breakPixel(pixel,changeTemp=false,defaultBreakIntoDust=false) {
+ var result = elements[pixel.element].breakInto;
+ if (result === undefined) {if(defaultBreakIntoDust) { result = "dust" } else { return }};
+ // if it is an array, choose a random item, else just use the value
+ while (Array.isArray(result)) {
+ result = randomChoice(result);
};
- var breakIntoElement = info.breakInto;
- if(Array.isArray(breakIntoElement)) {
- breakIntoElement = breakIntoElement[Math.floor(Math.random() * breakIntoElement.length)]
+ // change the pixel to the result
+ if (result === null) {
+ deletePixel(pixel.x,pixel.y);
+ return
};
- changePixel(pixel,breakIntoElement,changetemp)
- };
+ if (elements[pixel.element].breakIntoColor) {
+ var oldelement = pixel.element;
+ changePixel(pixel,result);
+ pixel.color = pixelColorPick(pixel, elements[oldelement].breakIntoColor);
+ }
+ else {
+ changePixel(pixel,result);
+ }
+ }
+ defaultHardness = 0.3;
function tryBreak(pixel,changetemp=false,defaultBreakIntoDust=false) {
var info = elements[pixel.element];
var hardness = defaultHardness;
@@ -2052,6 +2065,26 @@ try {
}*/
};
+ //Language
+
+ function englishFormatList(thingsArrayIn) {
+ var thingsArray = thingsArrayIn;
+ var amount = thingsArray.length;
+ if(amount == 1) {
+ return thingsArray[0]
+ } else if(amount == 2) {
+ return thingsArray.join(" and ")
+ } else {
+ var lastItem = thingsArray[thingsArray.length - 1];
+ thingsArray[thingsArray.length - 1] = "and " + lastItem;
+ return thingsArray.join(", ")
+ };
+ };
+
+ function capitalizeFirstLetter(string,locale=null) {
+ return string[0][locale ? "toLocaleUpperCase" : "toUpperCase"](locale) + string.slice(1)
+ };
+
//COLOR MANIPULATION TOOLS ##
var colorToolCounter = 0;
@@ -3592,18 +3625,17 @@ color1 and color2 spread through striped paint like dye does with itself. col
else if (damage > 0.25) {
if (info.breakInto) {
// if it is an array, choose a random item, else just use the value
- if (Array.isArray(info.breakInto)) {
- var result = info.breakInto[Math.floor(Math.random() * info.breakInto.length)];
+ if (info.breakInto !== undefined) {
+ breakPixel(pixel);
+ } else {
+ if (Array.isArray(fire)) {
+ var newfire = fire[Math.floor(Math.random() * fire.length)];
+ }
+ else {
+ var newfire = fire;
+ }
+ changePixel(pixel,newfire);
}
- else {
- var result = info.breakInto;
- }
- if(typeof(breakIntoElement) === "undefined") {
- deletePixel(pixel.x,pixel.y);
- continue
- };
- // change the pixel to the result
- changePixel(pixel,result,changeTemp);
if(info.onExplosionBreakOrSurvive) {
info.onExplosionBreakOrSurvive(pixel,x,y,radius,fire,smoke,power,damage);
};
@@ -4247,6 +4279,9 @@ color1 and color2 spread through striped paint like dye does with itself. col
ignoreAir: true
};
+ elements.cloner.burnTime = Infinity;
+ elements.cloner.burnInto = "cloner";
+
elements.cold_torch = {
"color": "#4394d6",
"behavior": [
@@ -7951,7 +7986,7 @@ color1 and color2 spread through striped paint like dye does with itself. col
state: "gas",
density: 550,
tick: function(pixel) {
- if(pixel.y % 6 == 0) {
+ if(pixel.y % 6 == 0) { //7989 yay soshi!
if(pixel.x % 6 == 0) {
pixel.color = "rgb(255,255,255)"
} else {
@@ -8019,7 +8054,7 @@ color1 and color2 spread through striped paint like dye does with itself. col
}
}
} else {
- if(!settings.bg || settings.bg == "#fffff0") { //7989 yay soshi!
+ if(!settings.bg || settings.bg == "#fffff0") {
pixel.color = "rgb(255,255,247)"
} else {
pixel.color = "rgb(255,255,240)"
@@ -18083,7 +18118,63 @@ Pixel size (rendering only): (Use if the save looks cut o
elements[kesddfroged2[i]].reactions ??= {}; elements[kesddfroged2[i]].reactions[kesddfroged[j]] = {"elem1": "kurshuth_alloy", "elem2": "kurshuth_alloy"}
}
};
- })
+ });
+
+ function newMetal(name,color,meltingPoint,boilingPoint,hardness,density,gasDensity,conduct) {
+ var temp = {
+ "name": name,
+ "color": color,
+ "meltingPoint": meltingPoint,
+ "boilingPoint": boilingPoint,
+ "hardness": hardness,
+ "density": density,
+ "gasDensity": gasDensity,
+ "conduct": conduct
+ };
+ var tempNulls = Object.keys(temp).filter(key => (typeof(temp[key]) == undefined || temp[key] == null));
+ if(tempNulls.length > 0) {
+ var errorMessage = capitalizeFirstLetter(englishFormatList(tempNulls));
+ throw new Error(`newMetal: ${errorMessage} {tempNulls.length == 1 ? "is" : "are"} required (generating "${name}")`);
+ };
+
+ elements[name] = {
+ "color": color,
+ "behavior": behaviors.WALL,
+ "category": "solids",
+ "state": "solid",
+ "density": density,
+ "conduct": conduct,
+ "tempHigh": meltingPoint,
+ "breakInto": `${name}_scrap`,
+ "hardness": hardness
+ };
+
+ elements[`molten_${name}`] = {
+ "tempHigh": boilingPoint
+ };
+
+ elements[`${name}_gas`] = {
+ "density": gasDensity
+ };
+
+ elements[`${name}_scrap`] = {
+ "color": gravelizeToHex(elements[name].color),
+ "behavior": behaviors.POWDER,
+ "tempHigh": meltingPoint,
+ "stateHigh": name,
+ "category": "powders",
+ "hidden": true,
+ "density": density * 0.09,
+ "conduct": conduct * 0.4,
+ "movable": true,
+ };
+
+ return [elements[name],elements[`${name}_scrap`]];
+ };
+
+ //newMetal( "exidmaden", ["#F8EDCF", "#EEAAAE", "#E5678D", "#A6659C", "#6763AD"], 2134, 6769, 0.8, 32333, 49.9, 0.88 );
+ //newMetal( "jisooium", "#9d0ac2", 8367, 10003, 0.63, 15024, 12.2, 0.9 );
+ newMetal( "twicium", ["#F9C596", "#FC5D9D"], 10240, 18018, 0.88, 29029, 24.3, 0.91 );
//ASSORTED LOONA-THEMED MATERIALS ##
@@ -20401,7 +20492,7 @@ Pixel size (rendering only): (Use if the save looks cut o
if(typeof(elements[thing]) == "object") {
if(typeof(elements[thing]?.breakInto) == "undefined") {
elements[`${thing}_scrap`] = {
- color: elements[thing].color,
+ color: gravelizeToHex(elements[thing].color),
behavior: behaviors.POWDER,
tempHigh: elements[thing].tempHigh,
stateHigh: thing,
@@ -21214,13 +21305,14 @@ Pixel size (rendering only): (Use if the save looks cut o
//Gravels
function gravelizeToHex(colorIn) {
- //console.log("gravelizeToHex called",colorIn);
var colorInput = colorIn; //side effects?
+ //console.log(`gravelizeToHex: ${colorInput}`)
//make sure in is array
- if(!colorInput instanceof Array) {
+ if(!(colorInput instanceof Array)) {
colorInput = [colorInput];
};
+ //console.log(`gravelizeToHex: ${colorInput}`)
//console.log(colorInput);
@@ -29551,29 +29643,6 @@ Make sure to save your command in a file if you want to add this preset again.`
};
};
- function breakPixel(pixel,changetemp=false,defaultBreakIntoDust=false) {
- var info = elements[pixel.element];
- if(typeof(info.breakInto) === "undefined") {
- if(defaultBreakIntoDust) {
- if(Math.random() < defaultBreakIntoDust) { changePixel(pixel,"dust",changetemp) };
- };
- return defaultBreakIntoDust;
- };
- var breakIntoElement = info.breakInto;
- if(Array.isArray(breakIntoElement)) {
- breakIntoElement = breakIntoElement[Math.floor(Math.random() * breakIntoElement.length)]
- };
- if(breakIntoElement === null) {
- deletePixel(pixel.x,pixel.y);
- return true;
- };
- if(typeof(breakIntoElement) === "undefined") { return false };
- changePixel(pixel,breakIntoElement,changetemp)
- return true;
- };
-
- defaultHardness = 0.3;
-
function arrowAltTb(pixel,breakChanceMultiplier,changetemp=false,defaultBreakIntoDust=false) {
var info = elements[pixel.element];
var hardness = defaultHardness;
From 39a06c775412aba0d49770dbe6d71bd3a1b811ad Mon Sep 17 00:00:00 2001
From: stefanblox <155691462+stefanblox@users.noreply.github.com>
Date: Sat, 27 Jan 2024 15:25:09 -0300
Subject: [PATCH 32/34] collab_mod
i think this is the first ever mod that was made collabing in real time
---
mods/collab_mod.js | 253 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 253 insertions(+)
create mode 100644 mods/collab_mod.js
diff --git a/mods/collab_mod.js b/mods/collab_mod.js
new file mode 100644
index 00000000..66b50e89
--- /dev/null
+++ b/mods/collab_mod.js
@@ -0,0 +1,253 @@
+elements.lemon = {
+ onSelect: function() {
+ logMessage("Mod made by mrapple, ilikepizza and stefanblox");
+ },
+ color: ["#ffaa1d","#ffd300","#ffdf00","#ffff00","#fff44f"],
+ behavior: behaviors.POWDER,
+ category: "food",
+ state: "solid",
+ breakInto: "lemonade",
+ tempHigh: 256,
+ stateHigh: "steam",
+ reactions: {
+ "sugar": { elem1: "jelly", elem2: null, tempMin: 100, color1: ["#ffffd8","#fffecf"] },
+ }
+};
+
+elements.lemonade = {
+ onSelect: function() {
+ logMessage("Mod made by mrapple, ilikepizza and stefanblox");
+ },
+ tempHigh: 150,
+ stateHigh: "steam",
+ tempMin: -15,
+ color: ["#f8ff80","#f6ff6c","#f5ff57","#f3ff39","#f0ff00"],
+ behavior: behaviors.LIQUID,
+ category: "liquids",
+ state: "liquid",
+};
+
+elements.uranium_tea = {
+ onSelect: function() {
+ logMessage("Mod made by mrapple, ilikepizza and stefanblox");
+ },
+ viscosity: 1000,
+ tempHigh: 1100,
+ stateHigh: ["molten_uranium", "steam", "fragrance", "null"],
+ color: ["#943e04", "#aa7a20", "#806612"],
+ behavior: behaviors.RADLIQUID,
+ category: "liquids",
+ state: "liquid",
+ reactions: {
+ "neutron": { elem1:"n_explosion", tempMin:500, chance:0.1 }
+ },
+};
+
+elements.sned = {
+ onSelect: function() {
+ logMessage("Mod made by mrapple, ilikepizza and stefanblox");
+ },
+ desc: "slowly expanding...",
+ color: "#dfe0d9",
+ behavior: [
+ "XX|XX AND CR:sned%1|XX",
+ "M2 AND CR:sned%1|XX|M2 AND CR:sned%1",
+ "M1|M1 AND CH:sned%1|M1",
+ ],
+ category: "joke",
+ state: "liquid",
+ excludeRandom: true
+};
+
+elements.uranium_coffee = {
+ onSelect: function() {
+ logMessage("Mod made by mrapple, ilikepizza and stefanblox");
+ },color: "#24100b",
+ behavior: behaviors.LIQUID,
+ reactions: {
+ "stench": { elem2:null },
+ "oxygen": { elem2:"fragrance", chance:0.01 },
+ "sugar": { elem2:null, color1:"#99552A", chance:0.005},
+ "honey": { elem2:null, color1:"#99552A", chance:0.005},
+ "milk": { elem2:"foam", color1:"#CA9D68", chance:0.005},
+ "nut_milk": { elem2:"foam", color1:"#CA9D68", chance:0.005},
+ "cream": { elem2:"foam", color1:"#CA9D68", chance:0.005},
+ "ice_cream": { elem2:null, color1:"#CA9D68", chance:0.005},
+ "chocolate": { elem2:null, color1:"#6A3517", chance:0.005},
+ "melted_chocolate": { elem2:null, color1:"#6A3517", chance:0.005},
+ "water": { elem2:"coffee", tempMin:70, chance:0.2 },
+ "salt_water": { elem2:"coffee", tempMin:70, chance:0.2 },
+ "sugar_water": { elem2:"melted_uranium", tempMin:60, chance:0.3 },
+ "seltzer": { elem2:"coffee", tempMin:70, chance:0.2 },
+ "neutron": { elem1:"n_explosion", tempMin:500, chance:0.1 }
+ },
+ tempHigh: 130,
+ stateHigh: ["steam","fragrance","molten_uranium",null],
+ tempLow: 0,
+ category:"liquids",
+ state: "liquid",
+ density: 1001.74,
+ stain: 0.01,
+ hidden: true,
+ isFood: true
+}
+
+elements.uranium_soda = {
+ onSelect: function() {
+ logMessage("Mod made by mrapple, ilikepizza and stefanblox");
+ },
+ color: "#19ad19",
+ behavior: [
+ "XX|CR:foam%2|XX",
+ "M2|XX|M2",
+ "M2|M1|M2",
+ ],
+ tempHigh: 100,
+ stateHigh: ["steam","carbon_dioxide","molten_uranium"],
+ tempLow: -1.11,
+ category: "liquids",
+ reactions: {
+ "dirt": { elem1: null, elem2: "fallout" },
+ "sand": { elem1: null, elem2: "fallout" },
+ "clay_soil": { elem1: null, elem2: "fallout" },
+ "rock": { elem2: "fallout", chance: 0.0004 },
+ "water": { elem1: "uranium", elem2: "uranium" },
+ "salt": { elem2:"foam", chance:0.05 },
+ "salt_water": { elem2:"foam", chance:0.01 },
+ "sugar": { elem2:"foam", chance:0.001 },
+ "candy": { elem2:"foam", chance:0.01 },
+ "caramel": { elem2:"foam", chance:0.01 },
+ "rust": { elem2:"fallout", chance:0.01 },
+ "oxidized_copper": { elem2:"fallout", chance:0.01 },
+ "neutron": { elem1:"n_explosion", tempMin:500, chance:0.1 }
+ },
+ state: "liquid",
+ density: 1030,
+ isFood: true
+}
+
+elements.uranium_juice = {
+ onSelect: function() {
+ logMessage("Mod made by mrapple, ilikepizza and stefanblox");
+ },
+ color: "#84dd84",
+ behavior: behaviors.RADLIQUID,
+ reactions: {
+ "dirt": { elem1: null, elem2: "fallout" },
+ "sand": { elem1: null, elem2: "fallout" },
+ "clay_soil": { elem1: null, elem2: "fallout" },
+ "seltzer": { elem1: "uranium_soda", elem2: "foam" },
+ "carbon_dioxide": { elem1: "uranium_soda", elem2: "foam" },
+ "neutron": { elem1:"n_explosion", tempMin:500, chance:0.1 }
+ },
+ tempHigh: 160,
+ stateHigh: ["steam","molten_uranium"],
+ tempLow: -10,
+ stateLowColorMultiplier: 1.1,
+ category: "liquids",
+ state: "liquid",
+ density: 1054,
+ stain: 0.05,
+ isFood: true,
+}
+
+elements.plutonium_tea = {
+ onSelect: function() {
+ logMessage("Mod made by mrapple, ilikepizza and stefanblox");
+ },
+ viscosity: 1100,
+ tempHigh: 1000,
+ stateHigh: ["fragrance", "null"],
+ color: ["#795508", "#828b09"],
+ behavior: behaviors.RADLIQUID,
+ category: "liquids",
+ state: "liquid",
+ tempLow: 0,
+ stateLow: "plutonium"
+};
+// mrapples stuffs
+elements.plutonium = {
+ onSelect: function() {
+ logMessage("Mod made by mrapple, ilikepizza and stefanblox");
+ },
+ color: "#ffffff",
+ behavior: behaviors.RADPOWDER,
+ category: "powders",
+ state: "solid",
+ tempHigh: 100,
+ stateHigh: "plutonium_tea"
+};
+
+elements.your_dad = {
+ onSelect: function() {
+ logMessage("Mod made by mrapple, ilikepizza and stefanblox");
+ },
+ color: "#000000",
+ behavior: behaviors.WALL,
+ category: "joke",
+ state: "solid",
+ behavior: [
+ "XX|XX|XX",
+ "XX|DL|XX",
+ "XX|XX|XX"
+ ],
+ canPlace: false, // exists: false
+};
+
+// end of mrapples stuffs
+
+elements.how_the_fuck_did_you_burn_the_water = {
+ onSelect: function() {
+ logMessage("Mod made by mrapple, ilikepizza and stefanblox");
+ },
+ color: "#18202c",
+ behavior: behaviors.LIQUID,
+ category: "joke",
+ hidden: true,
+ alias: "SANS HOW THE FUCK DID YOU BURN THE WATER?",
+};
+
+elements.theres_a_bomb_strapped_to_my_chest = {
+ onSelect: function() {
+ logMessage("Mod made by mrapple, ilikepizza and stefanblox");
+ },
+ color: "#b42020",
+ behavior: [
+ "XX|XX|XX",
+ "XX|EX:15>explosion|XX", // let me finish
+ "XX|XX|XX",
+ ],
+ category: "joke",
+ hidden: true,
+ burn: 100,
+ burnTime: 1,
+ burnInto: "explosion",
+ tempHigh: 600,
+ stateHigh: "explosion",
+ state: "solid",
+ density: 1630,
+ excludeRandom: true,
+ alias: "ITS GOING TO EXPLODE IN THREE SECON-",
+};
+
+if (!elements.uranium.reactions) elements.uranium.reactions = {
+ onSelect: function() {
+ logMessage("Mod made by mrapple, ilikepizza and stefanblox");
+ },
+};
+elements.uranium.reactions.herbs = {
+ onSelect: function() {
+ logMessage("Mod made by mrapple, ilikepizza and stefanblox");
+ }, elem1: "uranium_tea", elem2: null, chance: 20 }
+elements.uranium.reactions.coffee_ground = {
+ onSelect: function() {
+ logMessage("Mod made by mrapple, ilikepizza and stefanblox");
+ }, elem1: "uranium_coffee", elem2: null, chance: 30 }
+elements.uranium.reactions.seltzer = {
+ onSelect: function() {
+ logMessage("Mod made by mrapple, ilikepizza and stefanblox");
+ }, elem2: "uranium_soda", elem2: null, chance: 30 }
+elements.uranium.reactions.juice = {
+ onSelect: function() {
+ logMessage("Mod made by mrapple, ilikepizza and stefanblox");
+ }, elem1: "uranium_juice", elem2: null, chance: 30 }
\ No newline at end of file
From 05e6e00a66698d0ad8c99fe1c09e6cbc94ee6543 Mon Sep 17 00:00:00 2001
From: stefanblox <155691462+stefanblox@users.noreply.github.com>
Date: Sat, 27 Jan 2024 15:32:39 -0300
Subject: [PATCH 33/34] collab_mod
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
i think this is the first ever mod that was made collabing 😮
---
mods/collab_mod.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mods/collab_mod.js b/mods/collab_mod.js
index 66b50e89..66158472 100644
--- a/mods/collab_mod.js
+++ b/mods/collab_mod.js
@@ -170,7 +170,7 @@ elements.plutonium = {
onSelect: function() {
logMessage("Mod made by mrapple, ilikepizza and stefanblox");
},
- color: "#ffffff",
+ color: ["#38a30e", "#0d662b", "#5d995d"],
behavior: behaviors.RADPOWDER,
category: "powders",
state: "solid",
@@ -250,4 +250,4 @@ elements.uranium.reactions.seltzer = {
elements.uranium.reactions.juice = {
onSelect: function() {
logMessage("Mod made by mrapple, ilikepizza and stefanblox");
- }, elem1: "uranium_juice", elem2: null, chance: 30 }
\ No newline at end of file
+ }, elem1: "uranium_juice", elem2: null, chance: 30 }
From 37d6c1a16edb8988c9f77bc1e83339f0d95390ba Mon Sep 17 00:00:00 2001
From: An Orbit <68935009+orbit-loona@users.noreply.github.com>
Date: Sat, 27 Jan 2024 14:05:24 -0500
Subject: [PATCH 34/34] megatsunami and other stuff i forgot
---
mods/a_mod_by_alice.js | 144 +++++++++++++++++++++++++++++++++++++----
1 file changed, 133 insertions(+), 11 deletions(-)
diff --git a/mods/a_mod_by_alice.js b/mods/a_mod_by_alice.js
index b9c9f3e1..bc37daca 100644
--- a/mods/a_mod_by_alice.js
+++ b/mods/a_mod_by_alice.js
@@ -3370,7 +3370,14 @@ color1 and color2 spread through striped paint like dye does with itself. col
createCategoryDiv(category);
categoryDiv = document.getElementById("category-"+category);
}
- createElementButton(element);
+ if(Array.isArray(elements[element].color) && elements[element].color.length == 1) {
+ //temporarily make the single-item array into a string just for button generation, and then turn it back into an array just in case
+ elements[element].color = elements[element].color[0];
+ createElementButton(element);
+ elements[element].color = [elements[element].color]
+ } else {
+ createElementButton(element);
+ }
}
// Set the first button in categoryControls div to be the current category
document.getElementById("categoryControls").children[0].click()
@@ -3537,6 +3544,8 @@ color1 and color2 spread through striped paint like dye does with itself. col
var firstDiv = document.getElementsByClassName("category")[0];
var firstElementButton = firstDiv.getElementsByClassName("elementButton")[0];
selectElement(firstElementButton.getAttribute("element"));
+
+ gameLoaded = true
};
@@ -7984,9 +7993,9 @@ color1 and color2 spread through striped paint like dye does with itself. col
behavior: behaviors.GAS,
category: "gases",
state: "gas",
- density: 550,
+ density: 550, //7989 yay soshi!
tick: function(pixel) {
- if(pixel.y % 6 == 0) { //7989 yay soshi!
+ if(pixel.y % 6 == 0) {
if(pixel.x % 6 == 0) {
pixel.color = "rgb(255,255,255)"
} else {
@@ -18120,7 +18129,7 @@ Pixel size (rendering only): (Use if the save looks cut o
};
});
- function newMetal(name,color,meltingPoint,boilingPoint,hardness,density,gasDensity,conduct) {
+ function newMetal(name,color,meltingPoint,boilingPoint,hardness,density,gasDensity,conduct,categoryOverride = null) {
var temp = {
"name": name,
"color": color,
@@ -18136,9 +18145,12 @@ Pixel size (rendering only): (Use if the save looks cut o
var errorMessage = capitalizeFirstLetter(englishFormatList(tempNulls));
throw new Error(`newMetal: ${errorMessage} {tempNulls.length == 1 ? "is" : "are"} required (generating "${name}")`);
};
+
+ var scrapColor = gravelizeToHex(color);
elements[name] = {
- "color": color,
+ "color": (window["gameLoaded"] ?? false) ? (Array.isArray(color) ? color.map(x => convertColorFormats(x,"rgb")) : convertColorFormats(color,"rgb")) : color,
+ "colorObject": (window["gameLoaded"] ?? false) ? (Array.isArray(color) ? color.map(x => convertColorFormats(x,"json")) : convertColorFormats(color,"json")) : undefined,
"behavior": behaviors.WALL,
"category": "solids",
"state": "solid",
@@ -18148,6 +18160,8 @@ Pixel size (rendering only): (Use if the save looks cut o
"breakInto": `${name}_scrap`,
"hardness": hardness
};
+
+ if(categoryOverride) { elements[name].category = categoryOverride };
elements[`molten_${name}`] = {
"tempHigh": boilingPoint
@@ -18158,23 +18172,36 @@ Pixel size (rendering only): (Use if the save looks cut o
};
elements[`${name}_scrap`] = {
- "color": gravelizeToHex(elements[name].color),
- "behavior": behaviors.POWDER,
+ "color": (window["gameLoaded"] ?? false) ? (Array.isArray(scrapColor) ? scrapColor.map(x => convertColorFormats(x,"rgb")) : convertColorFormats(scrapColor,"rgb")) : scrapColor,
+ "colorObject": (window["gameLoaded"] ?? false) ? (Array.isArray(scrapColor) ? scrapColor.map(x => convertColorFormats(x,"json")) : convertColorFormats(scrapColor,"json")) : undefined,
+ "behavior": (window["gameLoaded"] ?? false) ? undefined : behaviors.POWDER,
+ "tick": (window["gameLoaded"] ?? false) ? behaviors.POWDER : undefined,
"tempHigh": meltingPoint,
- "stateHigh": name,
+ "stateHigh": `molten_${name}`,
"category": "powders",
"hidden": true,
"density": density * 0.09,
"conduct": conduct * 0.4,
"movable": true,
};
+
+ if(window["gameLoaded"] ?? false) {
+ delete elements[`${name}_scrap`].behavior;
+ createElementButton(name);
+ if(settings.unhide == 1) { createElementButton(`${name}_scrap`) }
+ autoGen(`molten_${name}`,name,"molten");
+ elements[`molten_${name}`].color = elements[`molten_${name}`].color.map(x => convertColorFormats(x,"rgb"));
+ elements[`molten_${name}`].colorObject = elements[`molten_${name}`].color.map(x => convertColorFormats(x,"json"));
+ } else {
+ delete elements[`${name}_scrap`].tick;
+ };
return [elements[name],elements[`${name}_scrap`]];
};
//newMetal( "exidmaden", ["#F8EDCF", "#EEAAAE", "#E5678D", "#A6659C", "#6763AD"], 2134, 6769, 0.8, 32333, 49.9, 0.88 );
//newMetal( "jisooium", "#9d0ac2", 8367, 10003, 0.63, 15024, 12.2, 0.9 );
- newMetal( "twicium", ["#F9C596", "#FC5D9D"], 10240, 18018, 0.88, 29029, 24.3, 0.91 );
+ //newMetal( "twicium", ["#F9C596", "#FC5D9D"], 10240, 18018, 0.88, 29029, 24.3, 0.91 );
//ASSORTED LOONA-THEMED MATERIALS ##
@@ -35660,7 +35687,16 @@ Make sure to save your command in a file if you want to add this preset again.`
//water reaction steal
if(elements[newPixel.element].reactions?.water) {
var waterRxn = elements[newPixel.element].reactions.water;
- var elem2 = waterRxn.elem2;
+ var elem1 = waterRxn.elem1;
+ while(Array.isArray(elem1)) {
+ elem1 = randomChoice(elem1)
+ };
+ if(elem1 !== null) {
+ changePixel(newPixel,elem1,true)
+ }
+ } else if(elements.water.reactions[newPixel.element]) {
+ var waterRxn2 = elements.water.reactions[newPixel.element];
+ elem2 = waterRxn2.elem2;
while(Array.isArray(elem2)) {
elem2 = randomChoice(elem2)
};
@@ -35672,7 +35708,7 @@ Make sure to save your command in a file if you want to add this preset again.`
//add velocity;
newPixel.vx ??= 0;
newPixel.vy ??= 0;
- newPixel.vx += (pixel.direction * 6)
+ newPixel.vx += (pixel.direction * 5)
newPixel.vy += 3;
};
};
@@ -35683,6 +35719,92 @@ Make sure to save your command in a file if you want to add this preset again.`
density: elements.water.density
};
+ elements.megatsunami = {
+ color: ["#1f2aa3","#2641c9","#3a57c9"],
+ behavior: behaviors.WALL,
+ properties: {
+ active: true,
+ },
+ tick: function(pixel) {
+ //Iteration initial checks
+ if(!pixel) {
+ return;
+ };
+ if(!pixel.active) {
+ deletePixel(pixel.x,pixel.y);
+ };
+
+ //Initial property-setting
+ var pixelIsOnLeft = (pixel.x < (width/2));
+ pixel.fromX ??= pixelIsOnLeft ? 1 : width - 1;
+ pixel.direction ??= pixelIsOnLeft ? 1 : -1;
+
+ var floorHeight = pixel.y + 1;
+ while(isEmpty(pixel.x,floorHeight,false)) {
+ floorHeight++
+ };
+ pixel.floorHeight ??= floorHeight;
+
+ //Actual doer code
+ var bottomY = (pixel.floorHeight + 9); //extend 10 pixels below
+ var topY = bottomY - 43; //topY < bottomY because in this game +Y is *downward*
+ for(var h = 0; h < 2; h++) {
+ var newX = pixel.fromX + pixel.direction;
+
+ if(outOfBounds(newX,1)) {
+ pixel.active = false;
+ return
+ };
+
+ for(var i = bottomY; i >= topY; i--) {
+ var waterToDo = randomChoice(["salt_water","salt_water","salt_water","dirty_water","dirty_water"]);
+ var fc = {x: newX, y: i};
+ if(outOfBounds(fc.x,fc.y)) {continue};
+ if(isEmpty(fc.x,fc.y,false)) {
+ //fill with water
+ createPixel(waterToDo,fc.x,fc.y)
+ } else {
+ var newPixel = pixelMap[fc.x]?.[fc.y];
+ if(!newPixel) { continue };
+ //break
+ tryBreak(newPixel,true,true);
+ if(!newPixel) { continue };
+ //water reaction steal
+ if(elements[newPixel.element].reactions?.water) {
+ var waterRxn = elements[newPixel.element].reactions.water;
+ var elem1 = waterRxn.elem1;
+ while(Array.isArray(elem1)) {
+ elem1 = randomChoice(elem1)
+ };
+ if(elem1 !== null) {
+ changePixel(newPixel,elem1,true)
+ }
+ } else if(elements.water.reactions[newPixel.element]) {
+ var waterRxn2 = elements.water.reactions[newPixel.element];
+ elem2 = waterRxn2.elem2;
+ while(Array.isArray(elem2)) {
+ elem2 = randomChoice(elem2)
+ };
+ if(elem2 !== null) {
+ changePixel(newPixel,elem2,true)
+ }
+ };
+ if(!newPixel) { continue };
+ //add velocity;
+ newPixel.vx ??= 0;
+ newPixel.vy ??= 0;
+ newPixel.vx += (pixel.direction * 13)
+ newPixel.vy += 6;
+ };
+ };
+ pixel.fromX += pixel.direction
+ };
+ },
+ state: "solid",
+ category: "special",
+ density: elements.water.density
+ };
+
elements.lava_tsunami = {
color: ["#ff370a","#e84a23","#e67740"],
behavior: behaviors.WALL,