diff --git a/mods/test2.js b/mods/test2.js index 379bd29b..9518e703 100644 --- a/mods/test2.js +++ b/mods/test2.js @@ -1,335 +1,67 @@ -//right col -elements.molten_amogus1 = { - behavior: [ - "XX|CR:amogus2 AND CH:amogus2|XX", - "M2|XX|M2", - "M1|M1|M1", - ], - category: "special", - state: "liquid", - density: (6942.0*0.9), - hidden: true, -}; -elements.molten_amogus2 = { - behavior: [ - "XX|CR:amogus3 AND CH:amogus3|M2", - "M2 AND CR:amogus5 AND CH:amogus5|DL%25|M2", - "XX|XX|XX", - ], - category: "special", - state: "liquid", - density: (6942.0*0.9), - hidden: true, -}; -elements.molten_amogus3 = { - behavior: [ - "XX|CR:amogus4 AND CH:amogus4|XX", - "M2 AND CR:amogus6 AND CH:amogus6|DL%25|M2", - "XX|XX|XX", - ], - category: "special", - state: "liquid", - density: (6942.0*0.9), - hidden: true, -}; -elements.molten_amogus4 = { - behavior: [ - "XX|XX|XX", - "M2 AND CR:amogus7 AND CH:amogus7|DL%25|M2", - "XX|XX|XX", - ], - category: "special", - state: "liquid", - density: (6942.0*0.9), - hidden: true, -}; -//middle col -elements.molten_amogus5 = { - behavior: [ - "XX|XX|XX", - "M2 AND CR:amogus9 AND CH:amogus9|DL%25|M2", - "XX|XX|XX", - ], - category: "special", - state: "liquid", - density: (6942.0*0.9), - hidden: true, -}; -elements.molten_amogus6 = { - behavior: [ - "XX|XX|XX", - "M2 AND CR:amogus10 AND CH:amogus10|DL%25|M2", - "XX|XX|XX", - ], - category: "special", - state: "liquid", - density: (6942.0*0.9), - hidden: true, -}; -elements.molten_amogus7 = { - behavior: [ - "XX|XX|XX", - "M2 AND CR:amogus11 AND CH:amogus11|DL%25|M2", - "XX|XX|XX", - ], - category: "special", - state: "liquid", - density: (6942.0*0.9), - hidden: true, -}; -//left col -elements.molten_amogus9 = { - behavior: [ - "XX|CR:amogus10 AND CH:amogus10|XX", - "M2|DL%25|M2", - "XX|CR:amogus8 AND CH:amogus8|XX", - ], - category: "special", - state: "liquid", - density: (6942.0*0.9), - hidden: true, -}; -elements.molten_amogus8 = { - behavior: [ - "XX|XX|XX", - "M2|DL%25|M2", - "XX|XX|XX", - ], - category: "special", - state: "liquid", - density: (6942.0*0.9), - hidden: true, -}; -elements.molten_amogus10 = { - behavior: [ - "XX|CR:amogus11 AND CH:amogus11|XX", - "M2|DL%25|M2", - "XX|XX|XX", - ], - category: "special", - state: "liquid", - density: (6942.0*0.9), - hidden: true, -}; -elements.molten_amogus11 = { - behavior: [ - "XX|XX|XX", - "M2|DL%25|M2", - "XX|XX|XX", - ], - category: "special", - state: "liquid", - density: (6942.0*0.9), - hidden: true, -}; -//right col -elements.amogus1 = { - color: "#ff0000", - behavior: [ - "XX|CR:amogus2 AND CH:amogus2|XX", - "XX|XX|XX", - "M2|M1|M2", - ], - category: "special", - state: "solid", - density: 6942.0, - tempHigh: 420, -}; -elements.amogus2 = { - color: "#ff0000", - behavior: [ - "XX|CR:amogus3 AND CH:amogus3|XX", - "CR:amogus5 AND CH:amogus5|DL%25|XX", - "XX|XX|XX", - ], - category: "special", - state: "solid", - density: 6942.0, - hidden: true, - tempHigh: 420, -}; -elements.amogus3 = { - color: "#00ffff", - behavior: [ - "XX|CR:amogus4 AND CH:amogus4|XX", - "CR:amogus6 AND CH:amogus6|DL%25|XX", - "XX|XX|XX", - ], - category: "special", - state: "solid", - density: 6942.0, - hidden: true, - tempHigh: 420, -}; -elements.amogus4 = { - color: "#ff0000", - behavior: [ - "XX|XX|XX", - "CR:amogus7 AND CH:amogus7|DL%25|XX", - "XX|XX|XX", - ], - category: "special", - state: "solid", - density: 6942.0, - hidden: true, - tempHigh: 420, -}; -//middle col -elements.amogus5 = { - color: "#ff0000", - behavior: [ - "XX|XX|XX", - "CR:amogus9 AND CH:amogus9|DL%25|XX", - "XX|XX|XX", - ], - category: "special", - state: "solid", - density: 6942.0, - hidden: true, - tempHigh: 420, -}; -elements.amogus6 = { - color: "#00ffff", - behavior: [ - "XX|XX|XX", - "CR:amogus10 AND CH:amogus10|DL%25|XX", - "XX|XX|XX", - ], - category: "special", - state: "solid", - density: 6942.0, - hidden: true, - tempHigh: 420, -}; -elements.amogus7 = { - color: "#ff0000", - behavior: [ - "XX|XX|XX", - "CR:amogus11 AND CH:amogus11|DL%25|XX", - "XX|XX|XX", - ], - category: "special", - state: "solid", - density: 6942.0, - hidden: true, - tempHigh: 420, -}; -//left col -elements.amogus9 = { - color: "#ff0000", - behavior: [ - "XX|CR:amogus10 AND CH:amogus10|XX", - "XX|DL%25|XX", - "XX|CR:amogus8 AND CH:amogus8|XX", - ], - category: "special", - state: "solid", - density: 6942.0, - hidden: true, - tempHigh: 420, -}; -elements.amogus8 = { - color: "#ff0000", - behavior: [ - "XX|XX|XX", - "XX|DL%25|XX", - "XX|XX|XX", - ], - category: "special", - state: "solid", - density: 6942.0, - hidden: true, - tempHigh: 420, -}; -elements.amogus10 = { - color: "#ff0000", - behavior: [ - "XX|CR:amogus11 AND CH:amogus11|XX", - "XX|DL%25|XX", - "XX|XX|XX", - ], - category: "special", - state: "solid", - density: 6942.0, - hidden: true, - tempHigh: 420, -}; -elements.amogus11 = { - color: "#ff0000", - behavior: [ - "XX|XX|XX", - "XX|DL%25|XX", - "XX|XX|XX", - ], - category: "special", - state: "solid", - density: 6942.0, - hidden: true, - tempHigh: 420, -}; +elements.amogus = { + name: "Amogus", + color: "#ffffff", + tick: function(pixel) { + pixel.arr=[["brick", "brick", "brick"], + ["brick", "glass", "glass"], + ["brick", "brick", "brick"], + ["brick", "air", "brick"]]; + pixel.carr=[[ "rgb(255,0,0)", "rgb(255,0,0)", "rgb(255,0,0)" ], + [ "rgb(255,0,0)", "rgb(0,255,255)", "rgb(0,255,255)"], + [ "rgb(255,0,0)", "rgb(255,0,0)", "rgb(255,0,0)" ], + [ "rgb(255,0,0)", "null", "rgb(255,0,0)" ]]; -//F&M interactions -runAfterLoad(function() { - if(enabledMods.includes("mods/fey_and_more.js")) { - //cum elements as impurities { - eLists.IMPURITY.push("amogus1"); - eLists.IMPURITY.push("amogus2"); - eLists.IMPURITY.push("amogus3"); - eLists.IMPURITY.push("amogus4"); - eLists.IMPURITY.push("amogus5"); - eLists.IMPURITY.push("amogus6"); - eLists.IMPURITY.push("amogus7"); - eLists.IMPURITY.push("amogus8"); - eLists.IMPURITY.push("amogus9"); - eLists.IMPURITY.push("amogus10"); - eLists.IMPURITY.push("amogus11"); - eLists.IMPURITY.push("molten_amogus1"); - eLists.IMPURITY.push("molten_amogus2"); - eLists.IMPURITY.push("molten_amogus3"); - eLists.IMPURITY.push("molten_amogus4"); - eLists.IMPURITY.push("molten_amogus5"); - eLists.IMPURITY.push("molten_amogus6"); - eLists.IMPURITY.push("molten_amogus7"); - eLists.IMPURITY.push("molten_amogus8"); - eLists.IMPURITY.push("molten_amogus9"); - eLists.IMPURITY.push("molten_amogus10"); - eLists.IMPURITY.push("molten_amogus11"); - //} - //regenerate behaviors of elements that use eLists.IMPURITY { - elements.pure_water.behavior = [ - "DL:"+eLists.IMPURITY+"XX|DL:"+eLists.IMPURITY+"XX|DL:"+eLists.IMPURITY+"", - "DL:"+eLists.IMPURITY+" AND M2|XX|DL:"+eLists.IMPURITY+" AND M2", - "DL:"+eLists.IMPURITY+" AND M1|DL:"+eLists.IMPURITY+" AND M1|DL:"+eLists.IMPURITY+" AND M1", - ]; - elements.pure_steam.behavior = [ - "M2 AND DL:"+eLists.IMPURITY+"XX|M1 AND DL:"+eLists.IMPURITY+"XX|M2 AND DL:"+eLists.IMPURITY+"", - "M1 AND DL:"+eLists.IMPURITY+"XX|XX|M1 AND DL:"+eLists.IMPURITY+"", - "M2 AND DL:"+eLists.IMPURITY+"XX|M1 AND DL:"+eLists.IMPURITY+"XX|M2 AND DL:"+eLists.IMPURITY+"", - ]; + aa = (0 - (Math.floor(pixel.arr[0].length / 2))) //Center align code + na = Math.abs(aa) + if(pixel.arr[0].length % 2 == 1) { + bb = ((Math.floor(pixel.arr[0].length / 2)) + 1) + } else if(pixel.arr[0].length % 2 == 0) { + bb = (Math.floor(pixel.arr[0].length / 2)) + } - //concoction support (it's all mistakes) { - elements.concoction.reactions.amogus1 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.amogus2 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.amogus3 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.amogus4 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.amogus5 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.amogus6 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.amogus7 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.amogus8 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.amogus9 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.amogus10 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.amogus11 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.molten_amogus1 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.molten_amogus2 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.molten_amogus3 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.molten_amogus4 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.molten_amogus5 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.molten_amogus6 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.molten_amogus7 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.molten_amogus8 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.molten_amogus9 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.molten_amogus10 = { "elem1": "mistake", "elem2": null }, - elements.concoction.reactions.molten_amogus11 = { "elem1": "mistake", "elem2": null } - //} - }; -}); + cc = (0 - (Math.floor(pixel.arr.length / 2))) + nc = Math.abs(cc) + if(pixel.arr.length % 2 == 1) { + dd = ((Math.floor(pixel.arr.length / 2)) + 1) + } else if(pixel.arr.length % 2 == 0) { + dd = (Math.floor(pixel.arr.length / 2)) + } + for (let j = cc; j < dd; j++) { //Iterative placing and coloring of pixels + for (let i = aa; i < bb; i++) { + if(!isEmpty(pixel.x+i,pixel.y+j) && !outOfBounds(pixel.x+i,pixel.y+j)) { + if(pixel.arr[j+nc][i+na] != "null" || pixel.arr[j+nc][i+na] == "air") { + deletePixel(pixel.x+i,pixel.y+j) + } + } + if(pixel.arr[j+nc][i+na]) { + if(isEmpty(pixel.x+i,pixel.y+j,true) && pixel.arr[j+nc][i+na] != "null" && pixel.arr[j+nc][i+na] != "air") { + createPixel(pixel.arr[j+nc][i+na],pixel.x+i,pixel.y+j) + if(pixel.carr[j+nc][i+na]) { + if(!isEmpty(pixel.x+i,pixel.y+j,true) && pixel.carr[j+nc][i+na] != "null") { + pixelMap[pixel.x+i][pixel.y+j].color = pixel.carr[j+nc][i+na] + } + } + } + } + } + } + }, + category:"structures", + insulate: true, + state: "solid", + excludeRandom: true, +}, + +elements.amogus_seed = { + name: "Amogus Seed", + color: "#df2f47", + behavior: [ + "DL:amogus_seed|DL:amogus_seed AND M2|DL:amogus_seed", + "DL:amogus_seed|C2:amogus|DL:amogus_seed", + "DL:amogus_seed|SW:amogus_seed AND DL:amogus_seed AND M1|DL:amogus_seed" + ], + category:"structures", + insulate: true, + state: "solid", + density: 2018, +}