From 7f80da4f05496e3635fba5e042a87f62e88fe0a5 Mon Sep 17 00:00:00 2001 From: Nekonico <163950752+DBNekonico@users.noreply.github.com> Date: Tue, 18 Mar 2025 12:04:53 -0700 Subject: [PATCH 01/11] desand tool bugfix --- mods/nekonicos_stuff.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/mods/nekonicos_stuff.js b/mods/nekonicos_stuff.js index d2473836..4b28ec1f 100644 --- a/mods/nekonicos_stuff.js +++ b/mods/nekonicos_stuff.js @@ -190,9 +190,6 @@ elements.desand = { changePixel(pixel,"water") } } - else if ([pixel.element].startsWith("sand_")) { - deletePixel(pixel.x,pixel.y) - } }, category: "tools", } From db8cb1fa89f97761cbb4eafd60f79042bbed0afc Mon Sep 17 00:00:00 2001 From: Suss <167750109+therealsuss@users.noreply.github.com> Date: Wed, 19 Mar 2025 15:29:22 +1100 Subject: [PATCH 02/11] Update drill.js --- mods/drill.js | 175 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 154 insertions(+), 21 deletions(-) diff --git a/mods/drill.js b/mods/drill.js index 56a0fe5e..5a9bcab8 100644 --- a/mods/drill.js +++ b/mods/drill.js @@ -1,12 +1,11 @@ elements.iron_drill = { - color: ["#474747","#2b2b2b","#808080"], + color: ["#474747","#2b2b2b","#636363"], behavior: [ - "DL AND MX|CR:drill_base|DL AND MX", - "MX:true|XX|MX:true", - "MX:true|M1 AND SM%10 AND MX:true|MX:true", + "DL%5 AND MX|CR:drill_base|DL%5 AND MX", + "MX|LB:drill_base|MX", + "MX|M1 AND SM%10 AND MX|MX", ], category: "machines", - breakInto: "metal_scrap", state: "solid", tempHigh: 1538, stateHigh: "molten_iron", @@ -15,11 +14,11 @@ elements.iron_drill = { }; elements.drill_base = { - color: "#595959", + color: "#808080", behavior: [ "XX|CR:drill_support AND CH:drill_support|XX", "XX|XX|XX", - "XX|M1|XX", + "XX|XX|XX", ], category: "machines", breakInto: "metal_scrap", @@ -32,9 +31,9 @@ elements.drill_base = { }; elements.drill_support = { - color: "#242424", + color: "#323232", behavior: [ - "XX|CH:drill_support|XX", + "XX|CR:drill_top|XX", "XX|XX|XX", "XX|XX|XX", ], @@ -48,12 +47,130 @@ elements.drill_support = { hidden: true, }; +elements.drill_top = { + color: "#323232", + behavior: [ + "XX|XX|XX", + "XX|XX|CR:drill_side1", + "XX|XX|XX", +], + category: "machines", + breakInto: "metal_scrap", + state: "solid", + tempHigh: 1538, + stateHigh: "molten_iron", + density: 7860, + noMix: true, + hidden: true, +}; +elements.drill_side1 = { + color: "#323232", + behavior: [ + "XX|XX|XX", + "XX|XX|CR:drill_side2", + "XX|XX|XX", +], + category: "machines", + breakInto: "metal_scrap", + state: "solid", + tempHigh: 1538, + stateHigh: "molten_iron", + density: 7860, + noMix: true, + hidden: true, +}; + +elements.drill_side2 = { + color: "#323232", + behavior: [ + "XX|XX|XX", + "XX|XX|CR:drill_side3", + "XX|XX|XX", +], + category: "machines", + breakInto: "metal_scrap", + state: "solid", + tempHigh: 1538, + stateHigh: "molten_iron", + density: 7860, + noMix: true, + hidden: true, +}; + +elements.drill_side3 = { + color: "#323232", + behavior: [ + "XX|XX|XX", + "XX|XX|CR:drill_side4", + "XX|XX|XX", +], + category: "machines", + breakInto: "metal_scrap", + state: "solid", + tempHigh: 1538, + stateHigh: "molten_iron", + density: 7860, + noMix: true, + hidden: true, +}; + +elements.drill_side4 = { + color: "#323232", + behavior: [ + "XX|XX|XX", + "XX|XX|CR:drill_side5%35 AND CR:drill_side4%65", + "XX|XX|XX", +], + category: "machines", + breakInto: "metal_scrap", + state: "solid", + tempHigh: 1538, + stateHigh: "molten_iron", + density: 7860, + noMix: true, + hidden: true, +}; + +elements.drill_side5 = { + color: "#323232", + behavior: [ + "XX|XX|XX", + "XX|XX|XX", + "XX|CR:drill_support_down|XX", +], + category: "machines", + breakInto: "metal_scrap", + state: "solid", + tempHigh: 1538, + stateHigh: "molten_iron", + density: 7860, + noMix: true, + hidden: true, +}; + +elements.drill_support_down = { + color: "#323232", + behavior: [ + "XX|XX|XX", + "XX|XX|XX", + "XX|CR:drill_support_down|XX", +], + category: "machines", + breakInto: "metal_scrap", + state: "solid", + tempHigh: 1538, + stateHigh: "molten_iron", + density: 7860, + noMix: true, + hidden: true, +}; + elements.gold_drill = { color: ["#f7c736","#ffe596","#d1a41d"], behavior: [ - "DL AND MX|CR:drill_base|DL AND MX", - "MX:true|XX|MX:true", - "MX:true|M1 AND SM%25 AND MX:true|MX:true", + "DL%7 AND MX|CR:drill_base|DL%7 AND MX", + "MX|LB:drill_base|MX", + "MX|M1 AND SM%25 AND MX|MX", ], category: "machines", breakInto: "gold_coin", @@ -68,12 +185,11 @@ elements.gold_drill = { elements.brass_drill = { color: ["#ad7f47","#874a00"], behavior: [ - "DL AND MX|CR:drill_base|DL AND MX", - "MX:true|XX|MX:true", - "MX:true|M1 AND SM%8 AND MX:true|MX:true", + "DL%6 AND MX|CR:drill_base|DL%6 AND MX", + "MX|LB:drill_base|MX", + "MX|M1 AND SM%15 AND MX|MX", ], category: "machines", - breakInto: "metal_scrap", state: "solid", tempHigh: 927, stateHigh: "molten_brass", @@ -85,9 +201,9 @@ elements.brass_drill = { elements.egg_drill = { color: "#ffe69c", behavior: [ - "DL AND MX|CR:drill_base|DL AND MX", - "MX:true|XX|MX:true", - "MX:true|M1 AND SM%1 AND MX:true|MX:true", + "DL%1 AND MX|CR:drill_base|DL%1 AND MX", + "MX|LB:drill_base|MX", + "MX|M1 AND SM%1 AND MX|MX", ], category: "machines", breakInto: "yolk", @@ -99,11 +215,28 @@ elements.egg_drill = { darkText: true, }; +elements.glass_drill = { + color: "#5e807d", + behavior: [ + "DL%10 AND MX|CR:drill_base|DL%10 AND MX", + "MX|LB:drill_base AND SM%1|MX", + "MX|M1 AND SM%40 AND MX|MX", +], + category: "machines", + breakInto: "glass_shard", + state: "solid", + tempHigh: 1500, + stateHigh: "molten_glass", + density: 2500, + noMix: true, + darkText: false, +}; + elements.void_drill = { color: "#000000", behavior: [ "DL|CR:drill_base|DL", - "DL|XX|DL", + "DL|LB:drill_base|DL", "DL|M1 AND DL|DL", ], category: "machines", @@ -111,4 +244,4 @@ elements.void_drill = { density: 999999999999999, noMix: true, darkText: false, -}; \ No newline at end of file +}; From 81100631d61507f7d78b6be171e99cb78bd3194d Mon Sep 17 00:00:00 2001 From: Markol10 Date: Thu, 20 Mar 2025 21:01:06 +0100 Subject: [PATCH 03/11] Add files via upload --- mods/MarkusFoodMod.js | 127 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 mods/MarkusFoodMod.js diff --git a/mods/MarkusFoodMod.js b/mods/MarkusFoodMod.js new file mode 100644 index 00000000..67a27757 --- /dev/null +++ b/mods/MarkusFoodMod.js @@ -0,0 +1,127 @@ +elements.paprika = { + color: "#b22222", + category: "Markus Foods", + behavior: behaviors.POWDER, + state: "solid", + tempHigh: 200, + stateHigh: "ash", + density: 0.4, +}; + +elements.spicy_sauce = { + color: "#a52a2a", + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + density: 1.0, + tempHigh: 150, + stateHigh: "smoke", +}; + +elements.pepper = { + color: "#2f1b0c", + category: "Markus Foods", + behavior: behaviors.POWDER, + state: "solid", + density: 0.7, + tempHigh: 200, + stateHigh: "ash", +}; + +elements.chicken_meat = { + color: "#e8a07c", + category: "Markus Foods", + behavior: behaviors.SOLID, + state: "solid", + tempHigh: 75, + stateHigh: "cooked_chicken", + tempLow: -5, + stateLow: "frozen_chicken", +}; + +elements.cooked_chicken = { + color: "#c18251", + category: "Markus Foods", + behavior: behaviors.SOLID, + state: "solid", + tempHigh: 200, + stateHigh: "ash", +}; + +elements.frozen_chicken = { + color: "#d1e1ed", + category: "Markus Foods", + behavior: behaviors.SOLID, + state: "solid", + tempHigh: 0, + stateHigh: "chicken_meat", +}; + +elements.pork_meat = { + color: "#e89a8b", + category: "Markus Foods", + behavior: behaviors.SOLID, + state: "solid", + tempHigh: 75, + stateHigh: "cooked_pork", + tempLow: -5, + stateLow: "frozen_pork", +}; + +elements.cooked_pork = { + color: "#af7f5d", + category: "Markus Foods", + behavior: behaviors.SOLID, + state: "solid", + tempHigh: 200, + stateHigh: "ash", +}; + +elements.frozen_pork = { + color: "#c0d4e1", + category: "Markus Foods", + behavior: behaviors.SOLID, + state: "solid", + tempHigh: 0, + stateHigh: "pork_meat", +}; + +elements.olive_oil = { + color: "#a07d3c", + state: "liquid", + category: "Markus Foods", + behavior: behaviors.LIQUID, + density: 0.9, +}; + +elements.breadcrumbs = { + color: "#e6c27a", + category: "Markus Foods", + behavior: behaviors.POWDER, + state: "solid", + density: 0.4, + tempHigh: 250, + stateHigh: "ash", +}; + +elements.fried_chicken = { + color: ["#c0894f", "#a86a3a", "#d19b52"], + category: "Markus Foods", + behavior: behaviors.SOLID, + state: "solid", + tempHigh: 350, + stateHigh: "ash", +}; + +elements.breaded_chicken = { + color: "#deb887", + category: "Markus Foods", + behavior: behaviors.SOLID, + state: "solid", + tempHigh: 180, + stateHigh: "fried_chicken", +}; + +elements.chicken_meat.reactions = { + breadcrumbs: { elem1: "breaded_chicken" } +}; From b6e69df3d67a775d3b8fe26b7932bbcbb0ed2967 Mon Sep 17 00:00:00 2001 From: Nekonico <163950752+DBNekonico@users.noreply.github.com> Date: Tue, 25 Mar 2025 22:38:11 -0700 Subject: [PATCH 04/11] Scales --- mods/nekonicos_stuff.js | 877 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 837 insertions(+), 40 deletions(-) diff --git a/mods/nekonicos_stuff.js b/mods/nekonicos_stuff.js index 4b28ec1f..70169cd6 100644 --- a/mods/nekonicos_stuff.js +++ b/mods/nekonicos_stuff.js @@ -5,38 +5,6 @@ behaviors.SOLIDIFY = function(pixel) { var colorOne = "#ffffff" var colorTwo = "#000000" -viewInfo[8] = { // Neon View - name: "neon", - pixel: function(pixel,ctx) { - if (elements[pixel.element].isColor === true) { - var color = pixel.gradient; - if (color < 0) {color = 0} - if (color > 60) {color = 60} - // logarithmic scale, with coldest being 225 (-50 degrees) and hottest being 0 (6000 degrees) - var hue = Math.round(225 - (Math.log(color)/Math.log(60))*225); - if (hue < 0) {hue = 0} - if (hue > 225) {hue = 225} - drawSquare(ctx,"hsl("+hue+",50%,50%)",pixel.x,pixel.y) - } - } -} - -elements.red = { - color: "#AD1300", - behavior: [ - "XX|XX|XX", - "XX|XX|XX", - "XX|XX|XX", - ], - tool: function(pixel) { - if (elements[pixel.element].isColor == true) { - pixel.gradient += 1 - } - }, - canPlace: false, - category: "tools", -} - elements.colorOne = { tick: function(pixel) { if (pixel.color != colorOne) { @@ -281,6 +249,16 @@ elements.red_ice = { "XX|M1|XX", ], reactions: { + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "salt_ice":{elem2:"red_ice", chance:0.25}, + "sugar_ice":{elem2:"red_ice", chance:0.25}, + "juice_ice":{elem2:"red_ice", chance:0.25}, + "dirty_ice":{elem2:"red_ice", chance:0.25}, + "ice":{elem2:"red_ice", chance:0.25}, "water":{elem2:"red_ice", chance:0.25}, "steam":{elem2:"red_ice", chance:0.15}, "blood":{elem2:"red_ice", chance:0.25}, @@ -310,6 +288,7 @@ elements.red_ice = { "frog":{elem2:"red_ice_meat", chance:0.15}, "tadpole":{elem2:"red_ice_meat", chance:0.15}, }, + breakInto: "red_snow", tempLow: 0, stateLow: "red_water", category: "solids", @@ -317,14 +296,132 @@ elements.red_ice = { density: 917, } +elements.red_snow = { + color: "#D64765", + behavior: behaviors.POWDER, + reactions: { + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "salt_ice":{elem2:"red_ice", chance:0.25}, + "sugar_ice":{elem2:"red_ice", chance:0.25}, + "juice_ice":{elem2:"red_ice", chance:0.25}, + "dirty_ice":{elem2:"red_ice", chance:0.25}, + "ice":{elem2:"red_ice", chance:0.25}, + "water":{elem2:"red_ice", chance:0.25}, + "steam":{elem2:"red_ice", chance:0.15}, + "blood":{elem2:"red_ice", chance:0.25}, + "blood_ice":{elem2:"red_ice", chance:0.25}, + "antibody":{elem2:"red_ice", chance:0.25}, + "salt_water":{elem2:"red_ice", chance:0.25}, + "sugar_water":{elem2:"red_ice", chance:0.25}, + "dirty_water":{elem2:"red_ice", chance:0.25}, + "pool_water":{elem2:"red_ice", chance:0.25}, + "slush":{elem2:"red_ice", chance:0.25}, + "seltzer":{elem2:"red_ice", chance:0.25}, + "juice":{elem2:"red_ice", chance:0.25}, + "soda":{elem2:"red_ice", chance:0.25}, + "milk":{elem2:"red_ice", chance:0.25}, + "slime":{elem2:"red_ice", chance:0.25}, + "tea":{elem2:"red_ice", chance:0.25}, + "coffee":{elem2:"red_ice", chance:0.25}, + "neutral_acid":{elem2:"red_ice", chance:0.25}, + "infection":{elem2:"red_ice", chance:0.25}, + "meat":{elem2:"red_ice_meat", chance:0.15}, + "skin":{elem2:"red_ice_meat", chance:0.075}, + "body":{elem2:"red_ice_meat", chance:0.04}, + "head":{elem2:"red_ice_meat", chance:0.05}, + "frozen_meat":{elem2:"red_ice_meat", chance:0.15}, + "fish":{elem2:"red_ice_meat", chance:0.15}, + "bird":{elem2:"red_ice_meat", chance:0.15}, + "frog":{elem2:"red_ice_meat", chance:0.15}, + "tadpole":{elem2:"red_ice_meat", chance:0.15}, + }, + temp: 5, + tempLow: -18, + tempHigh: 100, + stateHigh: "packed_red_snow", + stateLow: "red_water", + category: "land", + state: "solid", + density: 100 +} + +elements.packed_red_snow = { + color: "#CC3F5F", + behavior: behaviors.SUPPORTPOWDER, + reactions: { + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "salt_ice":{elem2:"red_ice", chance:0.25}, + "sugar_ice":{elem2:"red_ice", chance:0.25}, + "juice_ice":{elem2:"red_ice", chance:0.25}, + "dirty_ice":{elem2:"red_ice", chance:0.25}, + "ice":{elem2:"red_ice", chance:0.25}, + "water":{elem2:"red_ice", chance:0.25}, + "steam":{elem2:"red_ice", chance:0.15}, + "blood":{elem2:"red_ice", chance:0.25}, + "blood_ice":{elem2:"red_ice", chance:0.25}, + "antibody":{elem2:"red_ice", chance:0.25}, + "salt_water":{elem2:"red_ice", chance:0.25}, + "sugar_water":{elem2:"red_ice", chance:0.25}, + "dirty_water":{elem2:"red_ice", chance:0.25}, + "pool_water":{elem2:"red_ice", chance:0.25}, + "slush":{elem2:"red_ice", chance:0.25}, + "seltzer":{elem2:"red_ice", chance:0.25}, + "juice":{elem2:"red_ice", chance:0.25}, + "soda":{elem2:"red_ice", chance:0.25}, + "milk":{elem2:"red_ice", chance:0.25}, + "slime":{elem2:"red_ice", chance:0.25}, + "tea":{elem2:"red_ice", chance:0.25}, + "coffee":{elem2:"red_ice", chance:0.25}, + "neutral_acid":{elem2:"red_ice", chance:0.25}, + "infection":{elem2:"red_ice", chance:0.25}, + "meat":{elem2:"red_ice_meat", chance:0.15}, + "skin":{elem2:"red_ice_meat", chance:0.075}, + "body":{elem2:"red_ice_meat", chance:0.04}, + "head":{elem2:"red_ice_meat", chance:0.05}, + "frozen_meat":{elem2:"red_ice_meat", chance:0.15}, + "fish":{elem2:"red_ice_meat", chance:0.15}, + "bird":{elem2:"red_ice_meat", chance:0.15}, + "frog":{elem2:"red_ice_meat", chance:0.15}, + "tadpole":{elem2:"red_ice_meat", chance:0.15}, + }, + temp: 5, + tempLow: -20, + tempHigh: 200, + stateHigh: "red_ice", + stateLow: "red_water", + breakInto: "red_snow", + category: "land", + state: "solid", + density: 400, + hidden: true +} + elements.red_ice_meat = { color: "#AC3536", behavior: [ - "XX|XX|XX", - "XX|XX|XX", - "XX|M1|XX", + "XX|CH:frozen_meat,meat>red_ice_meat%1|XX", + "CH:frozen_meat,meat>red_ice_meat%1|XX|CH:frozen_meat,meat>red_ice_meat%1", + "XX|M1 AND CH:frozen_meat,meat>red_ice_meat%1|XX", ], reactions: { + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "salt_ice":{elem2:"red_ice", chance:0.25}, + "sugar_ice":{elem2:"red_ice", chance:0.25}, + "juice_ice":{elem2:"red_ice", chance:0.25}, + "dirty_ice":{elem2:"red_ice", chance:0.25}, + "ice":{elem2:"red_ice", chance:0.25}, "water":{elem2:"red_ice", chance:0.025}, "steam":{elem2:"red_ice", chance:0.015}, "blood":{elem2:"red_ice", chance:0.025}, @@ -354,8 +451,8 @@ elements.red_ice_meat = { "frog":{elem2:"red_ice_meat", chance:0.015}, "tadpole":{elem2:"red_ice_meat", chance:0.015}, }, - tempHigh: 0, - stateHigh: "meat", + tempLow: -100, + stateLow: "meat", category:"food", hidden:true, state: "solid", @@ -363,10 +460,131 @@ elements.red_ice_meat = { isFood: true } +elements.red_ice_plant = { + color: "#735958", + reactions: { + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "salt_ice":{elem2:"red_ice", chance:0.25}, + "sugar_ice":{elem2:"red_ice", chance:0.25}, + "juice_ice":{elem2:"red_ice", chance:0.25}, + "dirty_ice":{elem2:"red_ice", chance:0.25}, + "ice":{elem2:"red_ice", chance:0.25}, + "water":{elem2:"red_ice", chance:0.025}, + "steam":{elem2:"red_ice", chance:0.015}, + "blood":{elem2:"red_ice", chance:0.025}, + "blood_ice":{elem2:"red_ice", chance:0.25}, + "antibody":{elem2:"red_ice", chance:0.025}, + "salt_water":{elem2:"red_ice", chance:0.025}, + "sugar_water":{elem2:"red_ice", chance:0.025}, + "dirty_water":{elem2:"red_ice", chance:0.025}, + "pool_water":{elem2:"red_ice", chance:0.025}, + "slush":{elem2:"red_ice", chance:0.025}, + "seltzer":{elem2:"red_ice", chance:0.025}, + "juice":{elem2:"red_ice", chance:0.025}, + "soda":{elem2:"red_ice", chance:0.025}, + "milk":{elem2:"red_ice", chance:0.025}, + "slime":{elem2:"red_ice", chance:0.025}, + "tea":{elem2:"red_ice", chance:0.025}, + "coffee":{elem2:"red_ice", chance:0.025}, + "neutral_acid":{elem2:"red_ice", chance:0.025}, + "infection":{elem2:"red_ice", chance:0.025}, + "meat":{elem2:"red_ice_meat", chance:0.015}, + "skin":{elem2:"red_ice_meat", chance:0.0075}, + "body":{elem2:"red_ice_meat", chance:0.004}, + "head":{elem2:"red_ice_meat", chance:0.005}, + "frozen_meat":{elem2:"red_ice_meat", chance:0.015}, + "fish":{elem2:"red_ice_meat", chance:0.015}, + "bird":{elem2:"red_ice_meat", chance:0.015}, + "frog":{elem2:"red_ice_meat", chance:0.015}, + "tadpole":{elem2:"red_ice_meat", chance:0.015}, + }, + behavior: behaviors.WALL, + category:"life", + tempHigh: 300, + stateHigh: "fire", + burn:85, + burnTime:45, + temp: 2.66, + tempLow: -7, + stateLow: "red_plant", + state: "solid", + density: 1050, + hidden: true +} + +elements.red_plant = { + color: ["#AA3527","#AA3227","#AA2C27","#A11D1D"], + reactions: { + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "salt_ice":{elem2:"red_ice", chance:0.25}, + "sugar_ice":{elem2:"red_ice", chance:0.25}, + "juice_ice":{elem2:"red_ice", chance:0.25}, + "dirty_ice":{elem2:"red_ice", chance:0.25}, + "ice":{elem2:"red_ice", chance:0.25}, + "water":{elem2:"red_ice", chance:0.025}, + "steam":{elem2:"red_ice", chance:0.015}, + "blood":{elem2:"red_ice", chance:0.025}, + "blood_ice":{elem2:"red_ice", chance:0.25}, + "antibody":{elem2:"red_ice", chance:0.025}, + "salt_water":{elem2:"red_ice", chance:0.025}, + "sugar_water":{elem2:"red_ice", chance:0.025}, + "dirty_water":{elem2:"red_ice", chance:0.025}, + "pool_water":{elem2:"red_ice", chance:0.025}, + "slush":{elem2:"red_ice", chance:0.025}, + "seltzer":{elem2:"red_ice", chance:0.025}, + "juice":{elem2:"red_ice", chance:0.025}, + "soda":{elem2:"red_ice", chance:0.025}, + "milk":{elem2:"red_ice", chance:0.025}, + "slime":{elem2:"red_ice", chance:0.025}, + "tea":{elem2:"red_ice", chance:0.025}, + "coffee":{elem2:"red_ice", chance:0.025}, + "neutral_acid":{elem2:"red_ice", chance:0.025}, + "infection":{elem2:"red_ice", chance:0.025}, + "meat":{elem2:"red_ice_meat", chance:0.015}, + "skin":{elem2:"red_ice_meat", chance:0.0075}, + "body":{elem2:"red_ice_meat", chance:0.004}, + "head":{elem2:"red_ice_meat", chance:0.005}, + "frozen_meat":{elem2:"red_ice_meat", chance:0.015}, + "fish":{elem2:"red_ice_meat", chance:0.015}, + "bird":{elem2:"red_ice_meat", chance:0.015}, + "frog":{elem2:"red_ice_meat", chance:0.015}, + "tadpole":{elem2:"red_ice_meat", chance:0.015}, + }, + behavior: [ + "XX|XX|XX", + "XX|XX|XX", + "M2|M1|M2", + ], + category:"life", + tempHigh: 2, + stateHigh: "red_ice_plant", + state: "solid", + density: 1050, + hidden: true +} + elements.red_water = { color: "#880808", behavior: behaviors.LIQUID, reactions: { + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "salt_ice":{elem2:"red_ice", chance:0.25}, + "sugar_ice":{elem2:"red_ice", chance:0.25}, + "juice_ice":{elem2:"red_ice", chance:0.25}, + "dirty_ice":{elem2:"red_ice", chance:0.25}, + "ice":{elem2:"red_ice", chance:0.25}, "water":{elem2:"red_ice"}, "blood":{elem2:"red_ice"}, "blood_ice":{elem2:"red_ice", chance:0.25}, @@ -395,20 +613,37 @@ elements.red_water = { "frog":{elem2:"red_ice_meat", chance:0.015}, "tadpole":{elem2:"red_ice_meat", chance:0.015}, }, - temp: -20, - tempHigh: 0, - stateHigh: "red_ice", tempLow: -100, stateLow: "red_steam", + tempHigh: 0, + stateHigh: "red_ice", category: "liquids", state: "liquid", density: 997, + conduct: 0.02, + temp: -20, + stain: -0.5, + extinguish: true } elements.red_steam = { color: "#F88379", behavior: behaviors.GAS, reactions: { + "red_steam": { elem1: "red_cloud", elem2: "red_cloud", chance:0.05, "y":[0,15], "setting":"clouds" }, + "red_rain": { elem1: "red_rain", chance:0.4, "y":[0,12], "setting":"clouds" }, + "red_cloud": { elem1: "red_cloud", chance:0.4, "y":[0,12], "setting":"clouds" }, + "red_snow_cloud": { elem1: "red_rain_cloud", chance:0.4, "y":[0,12], "setting":"clouds" }, + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "salt_ice":{elem2:"red_ice", chance:0.25}, + "sugar_ice":{elem2:"red_ice", chance:0.25}, + "juice_ice":{elem2:"red_ice", chance:0.25}, + "dirty_ice":{elem2:"red_ice", chance:0.25}, + "ice":{elem2:"red_ice", chance:0.25}, "water":{elem2:"red_ice"}, "blood":{elem2:"red_ice"}, "blood_ice":{elem2:"red_ice", chance:0.25}, @@ -445,6 +680,165 @@ elements.red_steam = { density: 0.6, } +elements.red_cloud = { + color: "#E8ABAB", + behavior: [ + "XX|XX|XX", + "XX|CO:1%5|M1%2.5 AND BO", + "XX|XX|XX", + ], + reactions: { + "red_rain": { elem1:"red_rain", temp1: 20 }, + "red_cloud": { elem1:"red_rain", elem2:"red_rain", temp1:20, temp2:20, charged:true }, + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "water":{elem2:"red_ice"}, + "blood":{elem2:"red_ice"}, + "blood_ice":{elem2:"red_ice", chance:0.25}, + "antibody":{elem2:"red_ice"}, + "salt_water":{elem2:"red_ice"}, + "sugar_water":{elem2:"red_ice"}, + "dirty_water":{elem2:"red_ice"}, + "pool_water":{elem2:"red_ice"}, + "slush":{elem2:"red_ice"}, + "seltzer":{elem2:"red_ice"}, + "juice":{elem2:"red_ice"}, + "soda":{elem2:"red_ice"}, + "milk":{elem2:"red_ice"}, + "slime":{elem2:"red_ice"}, + "tea":{elem2:"red_ice"}, + "coffee":{elem2:"red_ice"}, + "neutral_acid":{elem2:"red_ice"}, + "infection":{elem2:"red_ice"}, + "meat":{elem2:"red_ice_meat", chance:0.015}, + "skin":{elem2:"red_ice_meat", chance:0.0075}, + "body":{elem2:"red_ice_meat", chance:0.004}, + "head":{elem2:"red_ice_meat", chance:0.005}, + "frozen_meat":{elem2:"red_ice_meat", chance:0.015}, + "fish":{elem2:"red_ice_meat", chance:0.015}, + "bird":{elem2:"red_ice_meat", chance:0.015}, + "frog":{elem2:"red_ice_meat", chance:0.015}, + "tadpole":{elem2:"red_ice_meat", chance:0.015}, + }, + category:"gases", + temp: -110, + tempHigh: -100, + stateHigh: "red_rain", + state: "gas", + breakInto: "red_rain", + density: 0.4, + ignoreAir: true, + conduct: 0.03 +} + +elements.red_rain = { + color: "#C27A79", + behavior: [ + "XX|XX|XX", + "XX|CH:red_water%0.05|M1%2.5 AND BO", + "CR:electric%0.05|CR:electric%0.05|CR:electric%0.05", + ], + reactions: { + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "water":{elem2:"red_ice"}, + "blood":{elem2:"red_ice"}, + "blood_ice":{elem2:"red_ice", chance:0.25}, + "antibody":{elem2:"red_ice"}, + "salt_water":{elem2:"red_ice"}, + "sugar_water":{elem2:"red_ice"}, + "dirty_water":{elem2:"red_ice"}, + "pool_water":{elem2:"red_ice"}, + "slush":{elem2:"red_ice"}, + "seltzer":{elem2:"red_ice"}, + "juice":{elem2:"red_ice"}, + "soda":{elem2:"red_ice"}, + "milk":{elem2:"red_ice"}, + "slime":{elem2:"red_ice"}, + "tea":{elem2:"red_ice"}, + "coffee":{elem2:"red_ice"}, + "neutral_acid":{elem2:"red_ice"}, + "infection":{elem2:"red_ice"}, + "meat":{elem2:"red_ice_meat", chance:0.015}, + "skin":{elem2:"red_ice_meat", chance:0.0075}, + "body":{elem2:"red_ice_meat", chance:0.004}, + "head":{elem2:"red_ice_meat", chance:0.005}, + "frozen_meat":{elem2:"red_ice_meat", chance:0.015}, + "fish":{elem2:"red_ice_meat", chance:0.015}, + "bird":{elem2:"red_ice_meat", chance:0.015}, + "frog":{elem2:"red_ice_meat", chance:0.015}, + "tadpole":{elem2:"red_ice_meat", chance:0.015}, + }, + category:"gases", + temp: -70, + tempLow: -100, + stateLow: "red_cloud", + breakInto: "water", + tempHigh: 0, + stateHigh: "red_snow_cloud", + state: "gas", + density: 0.5, + ignoreAir: true, + conduct: 0.03 +} + +elements.red_snow_cloud = { + color: "#CC8482", + behavior: [ + "XX|XX|XX", + "XX|CH:red_snow%0.05|M1%2.5 AND BO", + "XX|XX|XX", + ], + category:"gases", + temp: 10, + tempLow: -30, + stateLow: "red_rain", + state: "gas", + density: 0.55, + ignoreAir: true, + conduct: 0.01, + reactions: { + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "water":{elem2:"red_ice"}, + "blood":{elem2:"red_ice"}, + "blood_ice":{elem2:"red_ice", chance:0.25}, + "antibody":{elem2:"red_ice"}, + "salt_water":{elem2:"red_ice"}, + "sugar_water":{elem2:"red_ice"}, + "dirty_water":{elem2:"red_ice"}, + "pool_water":{elem2:"red_ice"}, + "slush":{elem2:"red_ice"}, + "seltzer":{elem2:"red_ice"}, + "juice":{elem2:"red_ice"}, + "soda":{elem2:"red_ice"}, + "milk":{elem2:"red_ice"}, + "slime":{elem2:"red_ice"}, + "tea":{elem2:"red_ice"}, + "coffee":{elem2:"red_ice"}, + "neutral_acid":{elem2:"red_ice"}, + "infection":{elem2:"red_ice"}, + "meat":{elem2:"red_ice_meat", chance:0.015}, + "skin":{elem2:"red_ice_meat", chance:0.0075}, + "body":{elem2:"red_ice_meat", chance:0.004}, + "head":{elem2:"red_ice_meat", chance:0.005}, + "frozen_meat":{elem2:"red_ice_meat", chance:0.015}, + "fish":{elem2:"red_ice_meat", chance:0.015}, + "bird":{elem2:"red_ice_meat", chance:0.015}, + "frog":{elem2:"red_ice_meat", chance:0.015}, + "tadpole":{elem2:"red_ice_meat", chance:0.015}, + }, +} + elements.graphite = { color: "#2F2F33", colorKey: { @@ -760,3 +1154,406 @@ elements.graphite_dust = { density: 1830, stain: 0.6 } + +scaleLimit = 0 + +elements.pixel_scale = { + color: "#89796C", + category: "machines", + behavior: behaviors.WALL, + tempHigh: 3000, + stateHigh: "molten_steel", + density: 7850, + movable: false, + onSelect: function() { + var answer1 = prompt("Input the desired pixel limit of this scale. It will not work if you place multiple limits while paused.",(scaleLimit||undefined)); + if (!answer1) { return } + scaleLimit = (answer1); + }, + tick: function(pixel){ + if (pixel.start === pixelTicks) { + pixel.scaleLimit = scaleLimit + } + if (isEmpty(pixel.x-1,pixel.y) || pixelMap[pixel.x-1][pixel.y].element !== pixel.element) { + pixel.scaleList = [] + for (let i = 1; i < width; i++){ + if (!isEmpty(pixel.x+i, pixel.y, true)) { + if (pixelMap[pixel.x+i][pixel.y].element === pixel.element){ + let distance2 = grabPixels(pixelMap[pixel.x+i][pixel.y]); + pixel.scaleList.push((distance2.top - 1)); + } + } + } + pixel.scaleSum = 0 + for (let i = 0; i < pixel.scaleList.length; i++){ + if (pixel.scaleList[i]){ + pixel.scaleSum += (pixel.scaleList[i]) + } + } + let distance = grabPixels(pixel); + pixel.scaleSum += (distance.top - 1) + if (pixel.scaleSum > (pixel.scaleLimit - 1)) { + if (!isEmpty(pixel.x, pixel.y-1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y-1] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x, pixel.y+1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y+1] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x-1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x-1][pixel.y] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x+1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x+1][pixel.y] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + } + } + } +} + +kiloLimit = 0 + +elements.weight_scale = { + color: "#7A7977", + category: "machines", + behavior: behaviors.WALL, + tempHigh: 3000, + stateHigh: "molten_steel", + movable: false, + onSelect: function() { + var answer1 = prompt("Input the desired kilogram limit of this scale. It will not work if you place multiple limits while paused.",(kiloLimit||1602)); + if (!answer1) { return } + kiloLimit = (answer1); + }, + tick: function(pixel){ + if (pixel.start === pixelTicks) { + pixel.scaleLimit = kiloLimit + } + if (isEmpty(pixel.x-1,pixel.y) || !outOfBounds(pixel.x-1,pixel.y) || pixelMap[pixel.x-1][pixel.y].element !== pixel.element) { + pixel.scaleList = [] + for (let i = 1; i < width; i++){ + if (!isEmpty(pixel.x+i, pixel.y, true)) { + if (pixelMap[pixel.x+i][pixel.y].element === pixel.element){ + let distance2 = grabWeights(pixelMap[pixel.x+i][pixel.y]); + pixel.scaleList.push((distance2.weight)); + } + } + } + pixel.scaleSum = 0 + for (let i = 0; i < pixel.scaleList.length; i++){ + if (pixel.scaleList[i]){ + pixel.scaleSum += (pixel.scaleList[i]) + } + } + let distance = grabWeights(pixel); + pixel.scaleSum += (distance.weight) + if (pixel.scaleSum > (pixel.scaleLimit - 1)) { + if (!isEmpty(pixel.x, pixel.y-1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y-1] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x, pixel.y+1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y+1] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x-1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x-1][pixel.y] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x+1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x+1][pixel.y] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + } + } + } +} + +scanLimit = 0 +scanningLimit = 0 + +elements.pixel_scanner = { + color: "#799187", + category: "machines", + behavior: behaviors.WALL, + tempHigh: 3000, + stateHigh: ["molten_steel","molten_steel","molten_steel","flash"], + density: 7850, + movable: false, + onSelect: function() { + var answer1 = prompt("Input the desired pixel limit of this scanner. It will not work if you place multiple limits while paused.",(scanLimit||5)); + if (!answer1) { return } + scanLimit = (answer1); + var answer2 = prompt("Input the desired scanning limit of this scanner. It will not work if you place multiple limits while paused.",(scanningLimit||10)); + if (!answer2) { return } + scanningLimit = (answer2); + }, + tick: function(pixel){ + if (pixel.start === pixelTicks) { + pixel.scaleLimit = scanLimit + pixel.scanningLimit = scanningLimit + } + if (isEmpty(pixel.x-1,pixel.y) || pixelMap[pixel.x-1][pixel.y].element !== pixel.element) { + pixel.scaleList = [] + for (let i = 1; i < width; i++){ + if (!isEmpty(pixel.x+i, pixel.y, true)) { + if (pixelMap[pixel.x+i][pixel.y].element === pixel.element){ + let distance2 = grabAllPixels(pixelMap[pixel.x+i][pixel.y]); + pixel.scaleList.push((distance2.pixels - 1)); + } + } + } + pixel.scaleSum = 0 + for (let i = 0; i < pixel.scaleList.length; i++){ + if (pixel.scaleList[i]){ + pixel.scaleSum += (pixel.scaleList[i]) + } + } + let distance = grabAllPixels(pixel); + pixel.scaleSum += (distance.pixels - 1) + if (pixel.scaleSum > (pixel.scaleLimit - 1)) { + if (!isEmpty(pixel.x, pixel.y-1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y-1] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x, pixel.y+1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y+1] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x-1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x-1][pixel.y] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x+1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x+1][pixel.y] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + } + } + } +} + +kiloScanLimit = 0 +kiloScanningLimit = 0 + +elements.weight_scanner = { + color: "#6D9190", + category: "machines", + behavior: behaviors.WALL, + tempHigh: 3000, + stateHigh: "molten_steel", + movable: false, + onSelect: function() { + var answer1 = prompt("Input the desired kilogram limit of this scanner. It will not work if you place multiple limits while paused.",(kiloScanLimit||1602)); + if (!answer1) { return } + kiloScanLimit = (answer1); + var answer2 = prompt("Input the desired scanning limit of this scanner. It will not work if you place multiple limits while paused.",(kiloScanningLimit||10)); + if (!answer2) { return } + kiloScanningLimit = (answer2); + }, + tick: function(pixel){ + if (pixel.start === pixelTicks) { + pixel.scaleLimit = kiloScanLimit + pixel.scanningLimit = kiloScanningLimit + } + if (isEmpty(pixel.x-1,pixel.y) || pixelMap[pixel.x-1][pixel.y].element !== pixel.element) { + pixel.scaleList = [] + for (let i = 1; i < width; i++){ + if (!isEmpty(pixel.x+i, pixel.y, true)) { + if (pixelMap[pixel.x+i][pixel.y].element === pixel.element){ + let distance2 = grabAllWeights(pixelMap[pixel.x+i][pixel.y]); + pixel.scaleList.push((distance2.weight)); + } + } + } + pixel.scaleSum = 0 + for (let i = 0; i < pixel.scaleList.length; i++){ + if (pixel.scaleList[i]){ + pixel.scaleSum += (pixel.scaleList[i]) + } + } + let distance = grabAllWeights(pixel); + pixel.scaleSum += (distance.weight) + if (pixel.scaleSum > (pixel.scaleLimit - 1)) { + if (!isEmpty(pixel.x, pixel.y-1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y-1] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x, pixel.y+1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y+1] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x-1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x-1][pixel.y] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x+1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x+1][pixel.y] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + } + } + } +} + +grabPixels = function(pixel){ + let element = pixel.element + let results = {} + for (let i = 0; i < height; i++) { + if (isEmpty(pixel.x, pixel.y-i, true)){ + results.top = i + break; + } + } + return results +} + +grabAllPixels = function(pixel){ + let element = pixel.element + let results = {} + results.pixels = 0 + for (let i = 0; i < height; i++) { + if (!isEmpty(pixel.x, pixel.y-i, true)){ + results.pixels += 1 + } + if (i > (pixel.scanningLimit - 1)){ + break; + } + } + return results +} + +grabWeights = function(pixel){ + let element = pixel.element + let results = {} + let weight = 0 + for (let i = 0; i < height; i++){ + if (!isEmpty(pixel.x, pixel.y-i, true)){ + if (elements[pixelMap[pixel.x][pixel.y-i].element].density && !weight) { + weight += elements[pixelMap[pixel.x][pixel.y-i].element].density + } + else if (elements[pixelMap[pixel.x][pixel.y-i].element].density && weight) { + weight += elements[pixelMap[pixel.x][pixel.y-i].element].density + } + else if (!elements[pixelMap[pixel.x][pixel.y-i].element].density) { + let result; + if (elements[pixelMap[pixel.x][pixel.y-i].element].breakInto !== undefined) { + if (Array.isArray(elements[pixelMap[pixel.x][pixel.y-i].element].breakInto)) { + result = elements[pixelMap[pixel.x][pixel.y-i].element].breakInto[Math.floor(Math.random() * elements[pixel.element].breakInto.length)]; + weight += elements.result.density + } + else { + result = elements[pixelMap[pixel.x][pixel.y-i].element].breakInto; + weight += elements.result.density + } + } + } + } + if (isEmpty(pixel.x, pixel.y-i, true)){ + results.top = i + if (isEmpty(pixel.x, pixel.y-i, true)){ + results.topelement = "air" + } else { + results.topelement = pixelMap[pixel.x][pixel.y-i].element + } + break; + } + } + results.weight = weight + return results +} + +grabAllWeights = function(pixel){ + let element = pixel.element + let results = {} + let weight = 0 + for (let i = 0; i < height; i++){ + if (!isEmpty(pixel.x, pixel.y-i, true)){ + if (elements[pixelMap[pixel.x][pixel.y-i].element].density && !weight) { + weight = elements[pixelMap[pixel.x][pixel.y-i].element].density + } + else if (elements[pixelMap[pixel.x][pixel.y-i].element].density && weight) { + weight += elements[pixelMap[pixel.x][pixel.y-i].element].density + } + else if (!elements[pixelMap[pixel.x][pixel.y-i].element].density) { + let result; + if (elements[pixelMap[pixel.x][pixel.y-i].element].breakInto !== undefined) { + if (Array.isArray(elements[pixelMap[pixel.x][pixel.y-i].element].breakInto)) { + result = elements[pixelMap[pixel.x][pixel.y-i].element].breakInto[Math.floor(Math.random() * elements[pixel.element].breakInto.length)]; + weight += elements.result.density + } + else { + result = elements[pixelMap[pixel.x][pixel.y-i].element].breakInto; + weight += elements.result.density + } + } + } + } + if (i > (pixel.scanningLimit - 1)){ + break; + } + } + results.weight = weight + return results +} + +/*elements.Cherries_Ceri_Moji = { + color: "#fcd1d7", + category: Student, + state: High_School, + behavior: [Shy, Introverted, Easily_Excited, Kind], + pronouns: [She,Her,Herself], + sexuality: [Panromantic, Asexual], + desc: "Ceri is a 16 year old high school student who loves cats" +}*/ From 38ad56b74eacc7e1ff8600bdf08b5de4313a2f0c Mon Sep 17 00:00:00 2001 From: Nekonico <163950752+DBNekonico@users.noreply.github.com> Date: Tue, 25 Mar 2025 22:41:16 -0700 Subject: [PATCH 05/11] 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 03eba315..233cef4b 100644 --- a/mod-list.html +++ b/mod-list.html @@ -158,6 +158,7 @@ extra_element_info.jsAdds descriptions to various vanilla elements. Used to provide the functionality that desc now does before it was added to vanillaMelecie extrasaveslots.jsAdds extra saves slots !SAVE IMPORTANT SAVES AS FILES!Jayd find.jsAdds a find mode that highlights a chosen element as pulsating red and yellow (read commit description)Alice +human_friendly_design.jsMakes the drag and mix tools not kill humans.Nekonico insane_random_events.jsMassively buffs random eventsAlice jaydsfunctions.jsAdds extra toolsJayd moretools.jsAdds more temperature-modifying tools (ยฑ10/tick, ยฑ50/tick, and absolute zero tools)Sightnado @@ -237,6 +238,7 @@ fueled_generators.jsFuel powered generators. gameOfLife.jsConway's Game of Life on a screenggod heatshield.jsadds heatshields, makes plasma coolerTaterbob +human_friendly_design.jsMakes pipes and portals not kill humans, as well as making drag and mix not kill humans.Nekonico logicgates.jsAdds predictable electricity and logic gatesnousernamefound note_block.jsAdds musical Note BlocksAlice nousersthings.jsDestroyable machines, pipe variants, filters, and morenousernamefound @@ -344,6 +346,7 @@ funny_solid.jsAdds fecesAlice funnynames.jsAdds various ways to mess with the names of elementsnousernamefound haseulite.jsAdds Loona-related materials with various propertiesAlice +human_friendly_design.jsMakes pipes and portals not kill humans, as well as making drag and mix not kill humans.Nekonico lactose_intolerance_and_celiac.jsMakes humans explode on contact with milk, wheat, bread, or toastNubo318 lattice_filler.jsAdds a combination of lattice and filler and a destructive variantSuss liquid_mixing.jsAllows liquids to mix colors dynamicallyNekonico @@ -353,7 +356,7 @@ minecraft.jsAdds several things from MinecraftStellarX20, nousernamefound minesweeper.jsA subpar implementation of MinesweeperAlice musicalfruit.jsHumans get gas from eating Beansmollthecoder -nekonicos_stuff.jsSome random stuff like graphite, oobleck, and red iceNekonico +nekonicos_stuff.jsSome random stuff like graphite, oobleck, and red ice, as well as many machines.Nekonico prideflags.jsAdds some pride flags to the gameAdora random_elems.jsCurated randomly generated elementsAlice random_liquids.jsRandomly generates liquids on game loadAlice From 6f4ca51212b3a6e56375f1cea6c9dbb56055c8e7 Mon Sep 17 00:00:00 2001 From: Markol10 Date: Wed, 26 Mar 2025 18:19:50 +0100 Subject: [PATCH 06/11] Update MarkusFoodMod.js --- mods/MarkusFoodMod.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/MarkusFoodMod.js b/mods/MarkusFoodMod.js index 67a27757..ff772287 100644 --- a/mods/MarkusFoodMod.js +++ b/mods/MarkusFoodMod.js @@ -18,7 +18,7 @@ elements.spicy_sauce = { stateHigh: "smoke", }; -elements.pepper = { +elements.black_pepper = { color: "#2f1b0c", category: "Markus Foods", behavior: behaviors.POWDER, From c5537803e08693370843c0b1e16bc6fda4fa9065 Mon Sep 17 00:00:00 2001 From: Markol10 Date: Wed, 26 Mar 2025 19:12:56 +0100 Subject: [PATCH 07/11] Update MarkusFoodMod.js --- mods/MarkusFoodMod.js | 239 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 223 insertions(+), 16 deletions(-) diff --git a/mods/MarkusFoodMod.js b/mods/MarkusFoodMod.js index ff772287..b040f366 100644 --- a/mods/MarkusFoodMod.js +++ b/mods/MarkusFoodMod.js @@ -6,6 +6,7 @@ elements.paprika = { tempHigh: 200, stateHigh: "ash", density: 0.4, + isFood: true, }; elements.spicy_sauce = { @@ -16,6 +17,7 @@ elements.spicy_sauce = { density: 1.0, tempHigh: 150, stateHigh: "smoke", + isFood: true, }; elements.black_pepper = { @@ -26,72 +28,71 @@ elements.black_pepper = { density: 0.7, tempHigh: 200, stateHigh: "ash", + isFood: true, }; elements.chicken_meat = { color: "#e8a07c", category: "Markus Foods", - behavior: behaviors.SOLID, + behavior: behaviors.STURDYPOWDER, state: "solid", tempHigh: 75, stateHigh: "cooked_chicken", tempLow: -5, stateLow: "frozen_chicken", + isFood: true, }; elements.cooked_chicken = { color: "#c18251", category: "Markus Foods", - behavior: behaviors.SOLID, + behavior: behaviors.STURDYPOWDER, state: "solid", tempHigh: 200, stateHigh: "ash", + isFood: true, }; elements.frozen_chicken = { color: "#d1e1ed", category: "Markus Foods", - behavior: behaviors.SOLID, + behavior: behaviors.STURDYPOWDER, state: "solid", tempHigh: 0, stateHigh: "chicken_meat", + isFood: true, }; elements.pork_meat = { color: "#e89a8b", category: "Markus Foods", - behavior: behaviors.SOLID, + behavior: behaviors.STURDYPOWDER, state: "solid", tempHigh: 75, stateHigh: "cooked_pork", tempLow: -5, stateLow: "frozen_pork", + isFood: true, }; elements.cooked_pork = { color: "#af7f5d", category: "Markus Foods", - behavior: behaviors.SOLID, + behavior: behaviors.STURDYPOWDER, state: "solid", tempHigh: 200, stateHigh: "ash", + isFood: true, }; elements.frozen_pork = { color: "#c0d4e1", category: "Markus Foods", - behavior: behaviors.SOLID, + behavior: behaviors.STURDYPOWDER, state: "solid", tempHigh: 0, stateHigh: "pork_meat", -}; - -elements.olive_oil = { - color: "#a07d3c", - state: "liquid", - category: "Markus Foods", - behavior: behaviors.LIQUID, - density: 0.9, + isFood: true, }; elements.breadcrumbs = { @@ -102,26 +103,232 @@ elements.breadcrumbs = { density: 0.4, tempHigh: 250, stateHigh: "ash", + isFood: true, }; elements.fried_chicken = { color: ["#c0894f", "#a86a3a", "#d19b52"], category: "Markus Foods", - behavior: behaviors.SOLID, + behavior: behaviors.STURDYPOWDER, state: "solid", tempHigh: 350, stateHigh: "ash", + isFood: true, }; elements.breaded_chicken = { color: "#deb887", category: "Markus Foods", - behavior: behaviors.SOLID, + behavior: behaviors.STURDYPOWDER, state: "solid", tempHigh: 180, stateHigh: "fried_chicken", + isFood: true, }; elements.chicken_meat.reactions = { breadcrumbs: { elem1: "breaded_chicken" } }; + +const newFoods = { + cinnamon: "#8B5A2B", + garlic: "#FFF5E1", + onion: "#D4A76A", + tomato: "#FF6347", + lettuce: "#32CD32", + potato: "#D2B48C", + cooked_potato: "#E3C16F", + chili_powder: "#FF4500", + carrot: "#FFA500", + cucumber: "#4CAF50", + salt: "#FFFFFF", + sugar: "#FFF5EE", + honey: "#FFD700", + cheese: "#FFD700", + butter: "#FFDD44", + egg: "#FFF5C3", + cooked_egg: "#F4C542", + banana: "#FFE135", + apple: "#FF0000", + blueberry: "#4B0082", + strawberry: "#FF4D4D", + watermelon: "#FF6666", + grapes: "#6A0DAD", + avocado: "#568203", + basil: "#228B22", + oregano: "#6B8E23", + ginger: "#D2691E", + turmeric: "#E49B0F", + nutmeg: "#8B4513", + clove: "#5C4033", + cabbage: "#4CBB17", + cauliflower: "#FFFAF0", + mushroom: "#8B4513", + spinach: "#2E8B57", + radish: "#F5A9B8", + broccoli: "#228B22", + green_peas: "#7CFC00", + bell_pepper: "#32CD32", + sweet_potato: "#FF7F50", + coconut: "#FFF8DC", + lemon: "#FFFACD", + lime: "#98FB98", + kiwi: "#32CD32", + pear: "#9ACD32", + peach: "#FFDAB9", + plum: "#8E4585", + pomegranate: "#8B0000", + fig: "#8B4513", + date: "#A52A2A", + raisin: "#6B4226", + apricot: "#FBCEB1", + coconut_milk: "#FFF0F5", + yogurt: "#F5FFFA", + cream: "#FFF8DC", + peanut_butter: "#C8A2A8", + sesame_seeds: "#FFF5EE", + tahini: "#F4A460", + almond: "#D2691E", + walnut: "#8B4513", + pistachio: "#4B8A3D", + cashew: "#D2B48C", + hazelnut: "#8B5A2B", + macadamia: "#E1C699", + pine_nuts: "#FFDDC1", + sunflower_seeds: "#FFF8DC", + chia_seeds: "#D2691E", + flaxseeds: "#8B4513", +}; + +for (const [name, color] of Object.entries(newFoods)) { + elements[name] = { + color, + category: "Markus Foods", + behavior: behaviors.POWDER, + state: "solid", + isFood: true, + }; +} + +const newLiquids = { + water: "#00BFFF", + milk: "#FFFFFF", + orange_juice: "#FFA500", + apple_juice: "#FF4500", + grape_juice: "#6A0DAD", + lemon_juice: "#FFFACD", + coconut_water: "#BFD8B8", + tomato_juice: "#FF6347", + coffee: "#6F4F1F", + tea: "#D3D3D3", + cola: "#6B3F2F", + wine: "#800000", + beer: "#F4A300", + whiskey: "#B86B38", + rum: "#C39A6E", + vodka: "#F0F8FF", + fruit_punch: "#FF69B4", + smoothie: "#FFB6C1", + soy_milk: "#F5F5DC", + coconut_milk: "#FFF0F5", +}; + +for (const [name, color] of Object.entries(newLiquids)) { + elements[name] = { + color, + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + isFood: true, + }; +} + +elements.carbonated_water = { + color: "#B0E0E6", + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + isFood: true, + density: 1.0, +}; + +elements.fanta_syrup = { + color: "#FF7F00", + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + tempHigh: 100, + stateHigh: "steam", + isFood: true, +}; + +elements.cola_syrup = { + color: "#301a10", + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + tempHigh: 100, + stateHigh: "steam", + isFood: true, +}; + +elements.sprite_syrup = { + color: "#A8F0A5", + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + tempHigh: 100, + stateHigh: "steam", + isFood: true, +}; + +elements.soda = { + color: "#FFD700", + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + isFood: true, +}; + +elements.fanta = { + color: "#FF7F00", + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + isFood: true, +}; + +elements.cola = { + color: "#261710", + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + isFood: true, +}; + +elements.sprite = { + color: "#A8F0A5", + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + isFood: true, +}; + +elements.soda.reactions = { + fanta_syrup: { elem1: "fanta" }, + cola_syrup: { elem1: "cola" }, + sprite_syrup: { elem1: "sprite" }, +}; + +// Adding the recipes for sodas +elements.fanta_syrup.reactions = { + carbonated_water: { elem1: "fanta" }, +}; + +elements.cola_syrup.reactions = { + carbonated_water: { elem1: "cola" }, +}; + +elements.sprite_syrup.reactions = { + carbonated_water: { elem1: "sprite" }, +}; From 69b807a4e01b4294fea7c8e390a25f86616e97e2 Mon Sep 17 00:00:00 2001 From: nag101612 Date: Thu, 27 Mar 2025 08:51:52 -0400 Subject: [PATCH 08/11] BluBun5193 forgot a comma --- mods/sports_beta.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/sports_beta.js b/mods/sports_beta.js index 55cd9204..a2399611 100644 --- a/mods/sports_beta.js +++ b/mods/sports_beta.js @@ -56,7 +56,7 @@ elements.dodge_ball = { elements.deodorant = { color: "#def2fc", - behavior: behaviors.DGAS + behavior: behaviors.DGAS, category: "gases", state: "gas", }; From 470dfc089234202cf75be5ea2239f08a16cc101e Mon Sep 17 00:00:00 2001 From: slweeb <91897291+slweeb@users.noreply.github.com> Date: Thu, 27 Mar 2025 16:08:56 -0400 Subject: [PATCH 09/11] Update mod-list.html --- mod-list.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mod-list.html b/mod-list.html index 233cef4b..9d8433b3 100644 --- a/mod-list.html +++ b/mod-list.html @@ -346,7 +346,6 @@ funny_solid.jsAdds fecesAlice funnynames.jsAdds various ways to mess with the names of elementsnousernamefound haseulite.jsAdds Loona-related materials with various propertiesAlice -human_friendly_design.jsMakes pipes and portals not kill humans, as well as making drag and mix not kill humans.Nekonico lactose_intolerance_and_celiac.jsMakes humans explode on contact with milk, wheat, bread, or toastNubo318 lattice_filler.jsAdds a combination of lattice and filler and a destructive variantSuss liquid_mixing.jsAllows liquids to mix colors dynamicallyNekonico @@ -356,7 +355,7 @@ minecraft.jsAdds several things from MinecraftStellarX20, nousernamefound minesweeper.jsA subpar implementation of MinesweeperAlice musicalfruit.jsHumans get gas from eating Beansmollthecoder -nekonicos_stuff.jsSome random stuff like graphite, oobleck, and red ice, as well as many machines.Nekonico +nekonicos_stuff.jsRandom stuff like graphite, oobleck, and red ice, as well as many machines.Nekonico prideflags.jsAdds some pride flags to the gameAdora random_elems.jsCurated randomly generated elementsAlice random_liquids.jsRandomly generates liquids on game loadAlice From 8855d02a919645f48ee38149c936e560a7ca388d Mon Sep 17 00:00:00 2001 From: redbirdly <155550833+redbirdly@users.noreply.github.com> Date: Sun, 30 Mar 2025 10:19:31 +0800 Subject: [PATCH 10/11] Replace chatgpt function in clouds.js with human written one --- mods/clouds.js | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/mods/clouds.js b/mods/clouds.js index 7a0df66a..eb5f466b 100644 --- a/mods/clouds.js +++ b/mods/clouds.js @@ -10,17 +10,14 @@ clouds_settingsTab.registerSettings("Real time", cloud_count_setting); settingsManager.registerTab(clouds_settingsTab); -// Biased random -function randomGaussian(A, B, biasFactor=2) { - let u = Math.random(); - let v = Math.random(); - let num = Math.sqrt(-2.0 * Math.log(u)) * Math.cos(2.0 * Math.PI * v); +function biasedRandom(A, B, samples) { + var sum = 0; + for (var i = 0;i < samples;i++) { + sum += Math.random(); + } + var average = sum / samples; - let mean = (A + B) / 2; - let stdDev = (B - A) / biasFactor; - let result = mean + num * stdDev; - - return Math.min(Math.max(result, A), B); + return A + average * (B - A); } function randomBetween(A, B) { @@ -32,7 +29,7 @@ function initClouds(amount) { var w = randomBetween(6, 17); var h = randomBetween(4, 10); var x = randomBetween(0, width - w); - var y = randomGaussian(0, height * 0.75, 4); + var y = biasedRandom(0, height * 0.75, 4); // Higher clouds move faster var speedBoost = 1 - (y / (height * 0.75)); From a4620acac618fd6c46659103fff734c73073e62e Mon Sep 17 00:00:00 2001 From: slweeb <91897291+slweeb@users.noreply.github.com> Date: Sun, 30 Mar 2025 22:28:44 -0400 Subject: [PATCH 11/11] Create xem.json --- lang/xem.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 lang/xem.json diff --git a/lang/xem.json b/lang/xem.json new file mode 100644 index 00000000..59b9f0d1 --- /dev/null +++ b/lang/xem.json @@ -0,0 +1 @@ +{"\"#lang.name\"":"๐Ÿ˜‚๐Ÿ—ฃ","land":"๐ŸŒ","liquids":"๐Ÿซ—","life":"โ™ฅ๏ธ","solids":"๐Ÿงฑ","weapons":"โš”๏ธs","gases":"โ›ฝ๏ธ๐Ÿ‡ธ","food":"๐Ÿฒ","machines":"๐Ÿญ","special":"โœจ","heat":"โ™จ๏ธ","cool":"๐Ÿ†’๏ธ","mix":"๐Ÿฅฃ","lookup":"๐Ÿ”Ž","shock":"โžก๏ธโšก","paint":"๐ŸŽจ๐Ÿ–Œ","sand":"๐Ÿฅชโž–๏ธ๐Ÿง™โ€โ™€๏ธ","water":"๐Ÿ’ง","salt_water":"๐Ÿง‚๐Ÿ’ง","sugar_water":"๐Ÿฌ๐Ÿ’ง","seltzer":"โœจ๐Ÿ’ง","dirty_water":"๐Ÿ—‘๏ธ๐Ÿ’ง","pool_water":"๐ŸŽฑ๐Ÿ’ง","dirt":"๐ŸŸซโ›ฐ๏ธ","mud":"๐ŸŸซโ›ฐ๏ธโž•๏ธ๐Ÿ’ง","wet_sand":"๐Ÿฅชโž–๏ธ๐Ÿง™โ€โ™€๏ธโž•๏ธ๐Ÿ’ง","rock":"๐Ÿชจ","rock_wall":"๐Ÿชจ๐Ÿงฑ","mudstone":"๐ŸŸซโ›ฐ๏ธโž•๏ธ๐Ÿ’ง ๐Ÿชจ","packed_sand":"๐Ÿงณ ๐Ÿฅชโž–๏ธ๐Ÿง™โ€โ™€๏ธ","plant":"๐ŸŒฑ","dead_plant":"๐Ÿ’€๐ŸŒฑ","frozen_plant":"โ„๏ธ๐ŸŒฑ","grass":"๐ŸŒฑ๐ŸŸฉโ›ฐ๏ธ","algae":"๐ŸŒŠ๐ŸŒฑ","concrete":"๐Ÿงฑ๐Ÿฉถ","wall":"๐Ÿงฑ","fire":"๐Ÿ”ฅ","bomb":"๐Ÿ’ฃ","steam":"โ™จ๏ธ๐Ÿ’จ","ice":"๐ŸงŠ","snow":"โ„๏ธโ„๏ธ","slush":"๐Ÿ’งโž–๐ŸงŠ","packed_snow":"โ„๏ธโ„๏ธโ„๏ธ","wood":"๐Ÿชต","smoke":"๐Ÿšฌ","magma":"๐ŸŒ‹๐ŸŸง๐Ÿ’ง","plasma":"๐ŸŸช๐Ÿ”ฅ๐Ÿ”ฅ","cold_fire":"๐Ÿฅถ๐Ÿ”ฅ","glass":"๐Ÿ‘“โž–๏ธ๐Ÿ‡ธ","molten_glass":"๐Ÿซ ๐Ÿ‘“","molten_rad_glass":"๐Ÿซ โ˜ข๏ธ๐Ÿ‘“โž–๏ธ๐Ÿ‡ธ","rad_glass":"โ˜ข๏ธ๐Ÿ‘“โž–๏ธ๐Ÿ‡ธ","meat":"๐Ÿ–","rotten_meat":"๐Ÿคฎ๐Ÿ–","cured_meat":"๐Ÿง‚๐Ÿ–","cooked_meat":"๐Ÿ”ฅ๐Ÿ–","frozen_meat":"โ„๏ธ๐Ÿ–","salt":"๐Ÿง‚","molten_salt":"๐Ÿ”ฅ๐Ÿง‚","wire":"๐Ÿ”‹โž–โž–๐Ÿ’ก","battery":"๐Ÿ”‹","cloner":"๐ŸŸจโžก๏ธ๐ŸŸจ๐ŸŸจ","heater":"โžก๏ธโ™จ๏ธ","cooler":"โžก๏ธ๐Ÿ†’","random":"๐Ÿ”„โ“๏ธ","image":"๐Ÿ–ผ๏ธ","unpaint":"โŒ๏ธ๐Ÿ–Œ๏ธ๐ŸŽจ","uncharge":"โŒโšก","unburn":"โŒ๐Ÿ”ฅ ๐Ÿงฏ","filler":"๐ŸŸช๐ŸŸช๐ŸŸช๐ŸŸช๐ŸŸช","lattice":"๐ŸŸชโฌ›๐ŸŸชโฌ›๐ŸŸช","gravel":"๐Ÿค๐Ÿชจ","void":"โฌ›๏ธ","sun":"โ˜€๏ธ","dna":"๐Ÿงฌ","worm":"๐Ÿชฑ","frozen_worm":"โ„๏ธ๐Ÿชฑ","ant":"๐Ÿœ","spider":"๐Ÿ•ท๏ธ","web":"๐Ÿ•ธ๏ธ","fly":"๐Ÿชฐ","firefly":"๐Ÿ”ฅ๐Ÿชฐ","bee":"๐Ÿ","hive":"๐Ÿ ๐Ÿ","stink_bug":"๐Ÿ‘ƒ๐Ÿ˜–๐Ÿ›","dead_bug":"๐Ÿ’€๐Ÿœ","human":"๐Ÿ‘ค","head":"๐Ÿ‘จ","bird":"๐Ÿฆ","rat":"๐Ÿ€","frog":"๐Ÿธ","frozen_frog":"โ„๏ธ๐Ÿธ","tadpole":"๐Ÿ‘ถ๐Ÿธ","fish":"๐ŸŸ","frozen_fish":"โ„๏ธ๐ŸŸ","slug":"๐ŸŒโž–๏ธ๐Ÿš","snail":"๐ŸŒ","burner":"โžก๏ธ๐Ÿ”ฅ","superheater":"โžก๏ธโ™จ๏ธโ™จ๏ธ","freezer":"โžก๏ธ๐Ÿ†’๐Ÿ†’","pipe":"๐Ÿชˆ","pipe_wall":"๐Ÿชˆ๐Ÿงฑ","ewall":"โšก๏ธ๐Ÿงฑ","torch":"๐Ÿ”ฆ","spout":"๐Ÿšฐ","bone":"๐Ÿฆด","ball":"โšฝ๏ธ","balloon":"๐ŸŽˆ","antigas":"โŒ๏ธโ›ฝ๏ธ","vertical":"โ†•๏ธ","horizontal":"โ†”๏ธ","ash":"โšฑ๏ธ","molten_ash":"๐Ÿซ โšฑ๏ธ","light":"๐Ÿ”ฆ","liquid_light":"๐Ÿ’ง๐Ÿ”ฆ","charcoal":"โฌ›๐Ÿชจ","hail":"๐ŸŒง๏ธ๐ŸงŠ","anesthesia":"โ›ฝ๏ธ๐Ÿซโžก๏ธ๐Ÿ˜ด","carbon_dioxide":"๐Ÿฅคโ›ฝ๏ธ","bubble":"๐Ÿซง","oil":"๐Ÿ›ข","lamp_oil":"๐Ÿช”๐Ÿ›ข","propane":"3๏ธโƒฃ๐Ÿ‡จโ›ฝ๏ธ","methane":"๐Ÿ‘๐Ÿ’จโ›ฝ๏ธ","stained_glass":"๐ŸŒˆ๐Ÿ‘“","molten_stained_glass":"๐Ÿ”ฅ๐ŸŒˆ๐Ÿ‘“","art":"๐ŸŽจ","rainbow":"๐ŸŒˆ","static":"โฌ›โฌœ","border":"๐Ÿ›‘๐Ÿšง","brick":"๐Ÿงฑ๐Ÿค","ruins":"๐Ÿš","sapling":"๐ŸŒฑโžก๏ธ๐ŸŒณ","evergreen":"๐ŸŒฒ","cactus":"๐ŸŒต","paper":"๐Ÿ“ƒ","foam":"๐Ÿฅคโ˜๏ธ","soda":"๐Ÿฅค","gray_goo":"๐ŸŒšโš—๏ธ","malware":"๐Ÿฆ ๐Ÿ–ฅ๏ธ","ecloner":"โšก๐ŸŸจโžก๏ธ๐ŸŸจ๐ŸŸจ","slow_cloner":"๐ŸŸจโžก๏ธ๐ŸŒโžก๏ธ๐ŸŸจ๐ŸŸจ","floating_cloner":"โ˜๏ธ๐ŸŸจโžก๏ธ๐ŸŸจ๐ŸŸจ","virus":"๐Ÿฆ ","ice_nine":"๐ŸงŠ9๏ธโƒฃ","strange_matter":"๐Ÿฆ ๐ŸŸฉ","permafrost":"๐Ÿฅถ๐ŸŸซโ›ฐ๏ธ","melted_butter":"๐Ÿ”ฅ๐Ÿงˆ","melted_cheese":"๐Ÿ”ฅ๐Ÿง€","hyphae":"๐Ÿค๐Ÿ„๐ŸŸซโ›ฐ๏ธ","mycelium":"๐Ÿ„๐ŸŸซโ›ฐ๏ธ","mulch":" ๐ŸŒฑ๐ŸŸซโ›ฐ๏ธ๐Ÿ”โž•๏ธ","ant_wall":"๐Ÿœ๐Ÿงฑ","cloth":"๐Ÿ‘•","wax":"๐Ÿ•ฏ๏ธ","melted_wax":"๐Ÿซ ๐Ÿ•ฏ๏ธ","sponge":"๐Ÿงฝ","bamboo":"๐ŸŽ","gold":"๐Ÿฅ‡","silver":"๐Ÿฅˆ","tin":"๐Ÿฅซโž–๏ธ๐Ÿ…","bronze":"๐Ÿฅ‰","rose_gold":"๐ŸŒน๐Ÿฅ‡","purple_gold":"๐ŸŸช๐Ÿฅ‡","blue_gold":"๐ŸŸฆ๐Ÿฅ‡","electrum":"๐ŸŸฉ๐Ÿฅ‡","pyrite":"โŒ๏ธ๐Ÿฅ‡ ๐Ÿฅ‡๐Ÿ‘€๐ŸŸฐ๐Ÿฅ‡","juice":"๐Ÿงƒ","juice_ice":"๐Ÿงƒ๐ŸงŠ","milk":"๐Ÿฅ›","chocolate_milk":"๐Ÿซ๐Ÿฅ›","fruit_milk":"๐ŸŽ๐Ÿฅ›","pilk":"๐Ÿฅค๐Ÿฅ›","eggnog":"๐Ÿฅš๐Ÿฅ›","egg":"๐Ÿฅš","yolk":"๐Ÿฅš๐ŸŸจ","hard_yolk":"๐Ÿงฑ๐Ÿฅš๐ŸŸจ","nut_milk":"๐Ÿฅœ๐Ÿฅ›","homunculus":"๐Ÿฅšโž•๏ธ๐Ÿฆ ","butter":"๐Ÿงˆ","cheese":"๐Ÿง€","rotten_cheese":"๐Ÿคฎ๐Ÿง€","chocolate":"๐Ÿซ","grape":"๐Ÿ‡","vinegar":"๐Ÿท๐Ÿ•‘","herb":"๐ŸŒฟ","lettuce":"๐Ÿฅฌ","pickle":"๐Ÿฅ’","tomato":"๐Ÿ…","sauce":"๐Ÿ…๐Ÿ’ง","pumpkin":"๐ŸŽƒ","corn":"๐ŸŒฝ","popcorn":"๐Ÿฟ","potato":"๐Ÿฅ”","baked_potato":"๐Ÿ”ฅ๐Ÿฅ”","mashed_potato":"๐Ÿ”จ๐Ÿฅ”","yeast":"๐Ÿž ๐Ÿ‘๐Ÿฆ ","bread":"๐Ÿž","toast":"๐Ÿฅ‚๐Ÿž","gingerbread":"๐Ÿซš๐Ÿž","crumb":"๐Ÿค๐Ÿž","rice":"๐Ÿš","candy":"๐Ÿฌ","nut":"๐Ÿฅœ","nut_oil":"๐Ÿฅœ๐Ÿ›ข","nut_meat":"๐Ÿฅœ๐Ÿ–","nut_butter":"๐Ÿฅœ๐Ÿงˆ","jelly":"๐Ÿชผโž–๏ธ๐ŸŸ","ice_cream":"๐Ÿฆ","beans":"๐Ÿซ˜","dry_ice":"๐ŸงŠโŒ๏ธ๐Ÿ’ง","nitrogen_ice":"๐Ÿ‡ณ๐ŸงŠ","hair":"๐Ÿฆฑ","basalt":"๐ŸŒ‹๐Ÿ†’๏ธ๐Ÿชจ","tuff":"๐ŸŒ‹โ†”๏ธโฌ†๏ธ๐Ÿ’ฅ๐Ÿงณโšฑ๏ธ๐Ÿชจ","molten_tuff":"๐Ÿ”ฅ๐ŸŒ‹โ†”๏ธโฌ†๏ธ๐Ÿ’ฅ๐Ÿงณโšฑ๏ธ๐Ÿชจ","soap":"๐Ÿงผ","bleach":"๐Ÿ’ง๐Ÿ‘•โฌ›โžก๏ธ๐Ÿ‘•โฌœ","dye":"๐ŸŒˆ๐Ÿ’ง","ink":"โœ’๏ธ๐Ÿ’ง","blood":"๐Ÿฉธ","vaccine":"๐Ÿ’‰","poison":"โ˜ ๏ธ๐Ÿ’ง","poison_gas":"โ˜ ๏ธ๐Ÿ’งโ›ฝ","poison_ice":"โ˜ ๏ธ๐Ÿ’ง๐ŸงŠ","tea":"๐Ÿต","coffee":"โ˜•๏ธ","honey":"๐Ÿฏ","sap":"๐ŸŒณ๐Ÿซ—","caramel":"โ™จ๏ธ๐Ÿฌ๐ŸŸง","ketchup":"๐Ÿ…๐Ÿฌ๐Ÿ’ง","mayo":"๐Ÿฅš๐Ÿ’ง","fat":"๐Ÿซ„","melted_chocolate":"๐Ÿซ ๐Ÿซ","calcium":"๐Ÿฅ›๐Ÿฆด","molten_calcium":"๐Ÿซ ๐Ÿฅ›๐Ÿฆด","limestone":"๐ŸŸฉ๐Ÿ‹๐Ÿชจ","quicklime":"๐Ÿ†๐Ÿƒโ€โ™‚๏ธ๐ŸŸฉ๐Ÿ‹๐Ÿชจ","slaked_lime":"๐Ÿ’งโž•๏ธ๐Ÿ†๐Ÿƒโ€โ™‚๏ธ๐ŸŸฉ๐Ÿ‹๐Ÿชจ","smog":"๐Ÿญ๐ŸŒซ๏ธ","stench":"๐Ÿ‘ƒ๐Ÿ˜–","liquid_stench":"๐Ÿ’ง๐Ÿ‘ƒ๐Ÿ˜–","fragrance":"๐Ÿ‘ƒ๐Ÿ˜Š","perfume":"๐Ÿ’ง๐Ÿ‘ƒ๐Ÿ˜Š","cyanide":"๐ŸŽโ˜ ๏ธ๐Ÿ’ง","cyanide_gas":"๐ŸŽโ˜ ๏ธ๐Ÿ’งโ›ฝ","ozone":"๐Ÿ‡ด3๏ธโƒฃ","liquid_ozone":"๐Ÿ’ง๐Ÿ‡ด3๏ธโƒฃ","cloud":"โ˜๏ธ","rain_cloud":"๐ŸŒง๏ธ","snow_cloud":"๐ŸŒจ๏ธ","hail_cloud":"๐ŸงŠโ˜๏ธ","thunder_cloud":"โ›ˆ๏ธ","acid_cloud":"๐ŸŒง๏ธโš—๏ธ","pyrocumulus":"โšฑ๏ธโ˜๏ธ","fire_cloud":"๐Ÿ”ฅโ˜๏ธ","rad_cloud":"โ˜ข๏ธโ˜๏ธ","rad_steam":"โ˜ข๏ธ๐Ÿ’จ","color_smoke":"๐ŸŒˆ๐Ÿšฌ","spray_paint":"๐ŸŒˆ๐Ÿ’จ","led_r":"๐ŸŸฅ๐Ÿ’ก","led_g":"๐ŸŸฉ๐Ÿ’ก","led_b":"๐ŸŸฆ๐Ÿ’ก","light_bulb":"๐Ÿ’ก","snake":"๐Ÿ","loopy":"โžฟ๏ธ","midas_touch":"๐Ÿฅ‡๐Ÿ–๏ธ","radiation":"โ˜ข๏ธ","fallout":"โ˜ข๏ธ๐ŸŒง๏ธ","neutron":"๐Ÿˆš๏ธโญ•๏ธ","proton":"โž•๏ธโšก๏ธโญ•๏ธ","electric":"โšก๏ธ","uranium":"๐ŸŸฉโšก๏ธ","molten_uranium":"๐Ÿซ ๐ŸŸฉโšก๏ธ","diamond":"๐Ÿ’Ž","gold_coin":"๐Ÿช™","feather":"๐Ÿชถ","lightning":"๐ŸŒฉ","explosion":"๐Ÿ’ฅ","n_explosion":"๐Ÿ‡ณ๐Ÿ’ฅ","supernova":"โ˜€๏ธ๐Ÿ’ฅ","cook":"โžก๏ธ๐Ÿณ","incinerate":"โžก๏ธโ™จ๏ธโ™จ๏ธโ™จ๏ธ","room_temp":"๐Ÿ ๐ŸŒก๏ธ","c4":"๐Ÿ‡จ4๏ธโƒฃ","nuke":"โ˜ข๏ธ๐Ÿ’ฃ","h_bomb":"๐Ÿ‡ญ๐Ÿ’ฃ","dirty_bomb":"๐Ÿ—‘๏ธ๐Ÿ’ฃ","emp_bomb":"โšกโŒ๐Ÿ’ฃ","greek_fire":"๐Ÿ‡ฌ๐Ÿ‡ท๐Ÿ”ฅ","fireball":"๐Ÿ”ฅโšฝ","rocket":"๐Ÿš€","antibomb":"โŒ๐Ÿ’ฃ","cold_bomb":"โ„๏ธ๐Ÿ’ฃ","hot_bomb":"โ™จ๏ธ๐Ÿ’ฃ","party_popper":"๐ŸŽ‰","flashbang":"โšก๐Ÿ’ฅ","flash":"โšกโฉ","smoke_grenade":"๐Ÿšฌ๐Ÿ’ฃ","tornado":"๐ŸŒช๏ธ","earthquake":"๐Ÿซจ","tsunami":"๐ŸŒŠ","blaster":"๐Ÿ’ฅ๐Ÿ’ฅ","armageddon":"๐Ÿ’ฅ๐Ÿ’ฅ๐Ÿ’ฅ","primordial_soup":"๐Ÿฒ๐Ÿงฌ","debug":"๐Ÿ‘จโ€๐Ÿ’ป","prop":"๐Ÿช„","salt_ice":"๐Ÿง‚๐ŸงŠ","sugar_ice":"๐Ÿฌ๐ŸงŠ","seltzer_ice":"โœจ๐Ÿ’ง๐ŸงŠ","dirty_ice":"๐Ÿ—‘๏ธ๐ŸงŠ","pool_ice":"๐ŸŽฑ๐ŸงŠ","blood_ice":"๐Ÿฉธ๐ŸงŠ","unknown":"โ“","soda_ice":"๐Ÿฅค๐ŸงŠ","tea_ice":"๐Ÿต๐ŸงŠ","cyanide_ice":"๐ŸŽโ˜ ๏ธ๐Ÿ’ง๐ŸงŠ","\"#lang.credit\"":"๐Ÿ‡ฑ๐Ÿ‡ฆ๐Ÿ†๐ŸŸซ๐ŸŸฉ9๏ธโƒฃ","\"gui.langSelectLabel\"":"๐Ÿณ๐Ÿ—ฃ","\"gui.titleTag\"":"๐ŸŸฆ๐ŸŸจ โž– ๐Ÿฅผ๐Ÿงช โž• โฌœ","\"gui.pageDesc\"":"๐Ÿ˜Œ๐Ÿฅผ๐Ÿงช5๏ธโƒฃ0๏ธโƒฃ0๏ธโƒฃโญ•๏ธ๐Ÿ“ฅ๐Ÿ‚๐Ÿฅชโž–๏ธ๐Ÿง™โ€โ™€๏ธ๐ŸŽฎ ๐Ÿฅต โš—๏ธ โš–๏ธ ๐Ÿ”ฅ ๐Ÿ’ฅ","\"gui.shiftButton\"":"โฌ†๏ธ","\"gui.pauseButton\"":"โธ๏ธ","\"gui.sizeDownButton\"":"โž–๏ธ","\"gui.sizeDownButton.title\"":"โž–๏ธ๐Ÿ–Œ๏ธโฌœ๏ธโ–ซ๏ธ","\"gui.sizeUpButton\"":"โž•๏ธ","\"gui.sizeUpButton.title\"":"โž•๏ธ๐Ÿ–Œ๏ธโ–ซ๏ธโฌœ๏ธ","\"gui.resetButton\"":"๐Ÿ—‘๏ธ","\"gui.replaceButton\"":"๐Ÿ”","\"gui.elemSelectButton\"":"๐Ÿ‡ช","\"gui.infoButton\"":"โ„น๏ธ","\"gui.savesButton\"":"๐Ÿ’พ","\"gui.feedbackButton\"":"๐Ÿ‘จโ€๐Ÿผ๐Ÿ”™","\"gui.wikiButton\"":"๐ŸŒ๐Ÿ“–","\"gui.install-button\"":"๐Ÿ“ฅโŒ๏ธ๐Ÿ“ถ","\"gui.stats.temp\"":"๐ŸŒก๏ธ","\"gui.stats.burning\"":"๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ","\"gui.savesMenuTitle\"":"๐Ÿ’พโž•๐Ÿ“ค","\"gui.saves.title\"":"๐Ÿ’พโž•๐Ÿ“ค","\"gui.saves.unnamed\"":"โŒ๐Ÿ“›","\"gui.saves.save\"":"๐Ÿ’พ","\"gui.saves.load\"":"๐Ÿ“ค","\"gui.saveFile\"":"๐Ÿ’พโžก๏ธ๐Ÿ“","\"gui.loadFile\"":"๐Ÿ“คโžก๏ธ๐Ÿ“","\"gui.saveName\"":"๐Ÿ’พ","\"gui.saveTemp\"":"๐ŸŒก๏ธ","\"gui.saveRaw\"":"๐Ÿ–โž–๏ธ๐Ÿ”ฅ ๐Ÿ“ถ","\"gui.saveDescLabel\"":"โ„น๏ธ","\"gui.saveDesc\"":null,"\"gui.saveConfirm\"":"๐Ÿ’พ","\"gui.setting-units-m\"":"๐Ÿ‡ฌ๐Ÿ‡ง๐Ÿ“","\"gui.setting-units-i\"":"๐Ÿ‡บ๐Ÿ‡ธ๐Ÿ“","\"gui.settingLabel-unhide\"":"๐Ÿ™ˆ","\"gui.settingLabel-pixelsize\"":"๐Ÿ–ผ โ–ช๏ธโ—พ๏ธโ—ผ๏ธ","\"gui.setting-pixelsize-8\"":"โ–ซ๏ธ","\"gui.setting-pixelsize-6\"":"โ—ฝ๏ธ","\"gui.setting-pixelsize-6w\"":"โ†”๏ธโ†”๏ธโ†”๏ธ","\"gui.setting-pixelsize-4\"":"โฌœ๏ธ","\"gui.settingLabel-clouds\"":"โ˜๏ธโ˜๏ธ","\"gui.settingLabel-abszero\"":"๐ŸŒก0๏ธโƒฃ โฌ‡๏ธ๐Ÿšซ","portal_in":"๐ŸŸฆโญ•๏ธโฌ…๏ธ","portal_out":"๐ŸŸงโญ•๏ธโžก๏ธ","coral":"๐Ÿชธ"} \ No newline at end of file