diff --git a/mods/aChefsDream.js b/mods/aChefsDream.js index 6b2e1269..1422fc5c 100644 --- a/mods/aChefsDream.js +++ b/mods/aChefsDream.js @@ -4,9 +4,10 @@ food&animals.js MORE FOODS AND ANIMALS!! -Created by @SquareScreamYT and @RealerRaddler +Created by SquareScreamYT and RealerRaddler +Thanks to Alice, nousernamefound and Fioushemastor for helping :) -v1.0 +v1.1 Changelog (v1.0) - added chickens @@ -51,7 +52,61 @@ Changelog (v1.0) - added olive branches - added olive leaves - added cooking oil + + + + +Changelog (v1.1) + - added apples and related stuff + - apples + - applewood + - apple branches + - apple leaves + - apple juice + - made by smashing apples + - apple seeds + - apple slices + - made by cutting apples + - apple jam + - made by putting sugar in apple juice + - added knife tool + - cuts, peels, etc. pixels + - readded potato skin and peeled potato + - changed fried potato recipe from potato to skinned potato\ + - added pepper + - added cake + - made by mixing baked batter and cream + - added icing sugar + - made by smashing sugar + - added icing + - made by shift-mixing icing sugar + - noodles description + - bug fix (freezing crushed worms makes them alive) */ + +/* +elements.test = { + //other needed properties + cutInto: "elem" +} +*/ + +elements.knife = { + color: "#adb5bd", + // other needed properties + tool: (pixel) => { + //store cutInto as a variable for legibility + var cutInto = elements[pixel.element].cutInto; + //if there’s no cutInto, it should equal undefined, which is falsey and !undefined = true + if (!cutInto) { return }; + //if cutInto is an array, randomly pick one of its elements + if(cutInto instanceof Array) { cutInto = cutInto[Math.floor(Math.random() * cutInto.length)] }; + //change pixel into the (chosen) element + changePixel(pixel, cutInto) + }, + category:"tools", +} + elements.chicken = { color: ["#c29046", "#f5d271", "#d4bd7d"], behavior: [ @@ -249,6 +304,7 @@ if (!elements.broth.reactions) elements.broth.reactions = {}; elements.broth.reactions.water = { elem1: "soup", elem2: "soup" } elements.noodles = { + desc: "whatever noodles", color: ["#F3BA4F", "#F7D161"], behavior: behaviors.POWDER, category: "food", @@ -315,7 +371,7 @@ elements.crushed_worm = { tempHigh: 50, stateHigh: ["ash", "smoke"], tempLow: -4, - stateLow: "frozen_worm", + stateLow: "frozen_crushed_worm", density: 200.33, isFood: true, hidden: true, @@ -520,7 +576,6 @@ elements.olive = { isFood: false } - elements.cooking_oil = { color: "#ffc844", behavior: behaviors.LIQUID, @@ -533,25 +588,37 @@ elements.cooking_oil = { viscosity: 250, state: "liquid", density: 825, - hidden: true, temp: 30, - reaction: { - "potato": {elem1: "fried_potato", tempMin: 70} + reactions: { + "peeled_potato": {elem2: "fried_potato", tempMin: 70} } }, -/* - -elements.potato_skin = { - color: ["#DC8A5A", "#A86C36", "#DC9A59", "#A76B35"], - behavior: behaviors.STURDYPOWDER, +elements.pepper = { + color: ["#1f190a", "#2b200d", "#362712", "#3b2211"], + behavior: behaviors.POWDER, category: "food", state: "solid", isFood: true, temp: 20, hidden: true, tempHigh: 250, - stateHigh: ["ash", "smoke"] + stateHigh: ["ash", "smoke"], +} + +elements.potato.cutInto = ["peeled_potato","peeled_potato","peeled_potato","potato_skin"]//{elem1: ["potato_skin","peeled_potato"] } + +elements.potato_skin = { + color: ["#DC8A5A", "#A86C36", "#DC9A59", "#A76B35"], + behavior: behaviors.POWDER, + category: "food", + state: "solid", + isFood: true, + temp: 20, + hidden: true, + density: 1100, + tempHigh: 250, + stateHigh: ["ash", "smoke"], } elements.peeled_potato = { @@ -562,13 +629,15 @@ elements.peeled_potato = { isFood: true, temp: 20, hidden: true, - reaction: { + breakInto: "mashed_potato", + tempHigh: 176, + stateHigh: "baked_potato", + density: 1100, + reactions: { "cooking_oil": { elem1: "fried_potato", tempMin: 70 } } } -*/ - elements.fried_potato = { color: ["#DD7908", "#D57206", "#CA6801", "#D68001"], behavior: behaviors.STURDYPOWDER, @@ -577,6 +646,242 @@ elements.fried_potato = { temp: 35, hidden: true, tempHigh: 600, + density: 1110, stateHigh: ["ash", "smoke"], isFood: true, } + +elements.applewood = { + color: "#632e1f", + 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.apple_branch = { + color: "#632e1f", + behavior: [ + "CR:apple_leaves,apple_branch%2|CR:apple_leaves,apple_branch%2|CR:apple_leaves,apple_branch%2", + "XX|XX|XX", + "XX|XX|XX", + ], + tempHigh: 100, + stateHigh: "applewood", + tempLow: -30, + stateLow: "applewood", + category: "life", + burn: 40, + burnTime: 50, + burnInto: ["sap","ember","charcoal"], + hidden: true, + state: "solid", + density: 1500, + hardness: 0.15, + breakInto: ["sap","sawdust"], +} +elements.apple_leaves = { + color: ["#00d404","#0ec911","#109e12"], + behavior: [ + "XX|XX|XX", + "XX|XX|XX", + "XX|CR:apple%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, + hidden: true +} +elements.apple = { + color: ["#eb1a1a","#f22c2c","#d62020"], + 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 } + }, + category:"food", + tempHigh: 100, + stateHigh: "dead_plant", + tempLow: -1.66, + stateLow: "frozen_plant", + burn:65, + burnTime:60, + burnInto: "dead_plant", + breakInto: "apple_juice", + cutInto: "apple_slice", + state: "solid", + density: 1050, +} + +elements.apple_slice = { + color: "#f0af37", + behavior: behaviors.STURDYPOWDER, + category:"food", + tempHigh: 100, + stateHigh: ["sugar","steam"], + burn:65, + burnTime:60, + burnInto: "dead_plant", + breakInto: "apple_juice", + state: "solid", + density: 1050, + hidden: true, +} + +elements.apple_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 ? "applewood" : "apple_branch",pixel.x,pixel.y+1); + } + } + else if (pixel.age > 1000) { + changePixel(pixel,"applewood"); + } + 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.apple_juice = { + color: "#ffde55", + behavior: behaviors.LIQUID, + category: "liquids", + tempHigh: 400, + stateHigh: "fire", + burn: 70, + burnTime: 300, + burnInto: ["steam", "smoke"], + state: "liquid", + density: 825, + hidden: true, + temp: 30, + reactions: { + "sugar": { elem1:"apple_jam", elem2:null, chance:0.35 } + }, +}; + +elements.cake = { + color: ["#f2e5bf","#e8daba"], + behavior: behaviors.STURDYPOWDER, + tempHigh: 550, + stateHigh: "ash", + category: "food", + burn: 10, + burnTime: 400, + burnInto: ["smoke","smoke","smoke","ash"], + breakInto: "crumb", + state: "solid", + density: 233.96, + hidden: true, + isFood: true +}; + +elements.icing_sugar = { + color: "#f8f8f1", + behavior: behaviors.POWDER, + onMix: function(icing_sugar1, icing_sugar2) { + if (shiftDown && Math.random() < 0.2) { + changePixel(icing_sugar1,"icing") + } + }, + tempHigh: 186, + stateHigh: "caramel", + viscosity: 1.5, + category: "food", + state: "solid", + hidden: true, + density: 1036.86, + isFood: true +}; + +elements.icing = { + color: "#fefefb", + behavior: behaviors.STURDYPOWDER, + 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: 1000, + stateHigh: ["smoke","smoke","smoke","steam","steam","calcium"], + stateLowColorMultiplier: 0.97, + category: "food", + isFood: true, + state: "solid", + density: 959.97, +}; + +elements.cream.reactions.baked_batter = {elem2: "cake" } + +elements.sugar.breakInto = {elem1: "icing_sugar"} + +elements.apple_jam = { + color: "#ebc034", + behavior: behaviors.LIQUID, + category: "food", + tempHigh: 400, + stateHigh: ["sugar","smoke"], + burn: 70, + burnTime: 300, + viscosity: 750, + state: "liquid", + density: 825, + hidden: true +};