Revamp
* Now uses structure_test.js (Room)'s method * Now made from brick and glass * Added Amogus Seed to generate it (this structure is small, so a simple behavior suffices; to use this method for bigger structures, you'll have to tweak the seed with a tailored tick function) * Added color array and code to pull from it
This commit is contained in:
parent
45a7146b4a
commit
cce2d36b34
398
mods/test2.js
398
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,
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue