Update and rename invisible_dye.js to invisible_things.js

merge invisible dye and wall
This commit is contained in:
An Orbit 2023-05-08 12:56:13 -04:00 committed by GitHub
parent c184a14857
commit 894856b625
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 83 additions and 43 deletions

View File

@ -1,43 +0,0 @@
if(!settings) {
settings = {}
}
if(!settings.bg) {
settings.bg = "#000000"
}
elements.invisible_dye = {
color: settings.bg,
behavior: behaviors.LIQUID,
tick: function(pixel) {
var backgroundColor = hexToRGB(settings.bg);
var rgbValue = "rgb("+backgroundColor.r+","+backgroundColor.g+","+backgroundColor.b+")";
pixel.color = rgbValue;
},
hardness: 0.8,
breakInto: "invisible_dye_gas",
tempHigh: 110,
stateHigh: "invisible_dye_gas",
category: "special",
state: "liquid",
density: 1,
stain: elements.dye.stain,
};
elements.invisible_dye_gas = {
color: settings.bg,
behavior: behaviors.GAS,
tick: function(pixel) {
var backgroundColor = hexToRGB(settings.bg);
var rgbValue = "rgb("+backgroundColor.r+","+backgroundColor.g+","+backgroundColor.b+")";
pixel.color = rgbValue;
},
hardness: 0.5,
breakInto: "invisible_dye_gas",
tempLow: 109,
stateLow: "invisible_dye",
category: "special",
state: "liquid",
density: 1,
stain: elements.spray_paint.stain,
};

83
mods/invisible_things.js Normal file
View File

@ -0,0 +1,83 @@
var modName = "mods/invisible_things.js";
var libraryMod = "mods/code_library.js";
if(enabledMods.includes(libraryMod)) {
if(!settings) {
settings = {}
}
if(!(settings.bg)) {
settings.bg = "#000000"
}
function getBackgroundColorOrAverageAsJSON() {
if(!(settings?.bg)) {
return {r: 0, g: 0, b: 0};
} else if(!(settings.bg instanceof Array)) {
return convertColorFormats(settings.bg,"json")
} else {
return convertColorFormats(averageRgbPrefixedColorArray(settings.bg.map(color => convertColorFormats(color,"rgb"))),"json");
};
};
function makePixelInvisible(pixel) {
var backgroundColor = getBackgroundColorOrAverageAsJSON();
pixel.color = `rgba(${backgroundColor.r},${backgroundColor.g},${backgroundColor.b},0)`;
};
elements.invisible_wall = {
color: settings.bg,
behavior: behaviors.WALL,
tick: function(pixel) { makePixelInvisible(pixel) },
insulate: true,
hardness: 1,
category: "special",
state: "solid",
};
elements.invisible_dye = {
color: settings.bg,
behavior: behaviors.LIQUID,
tick: function(pixel) { makePixelInvisible(pixel) },
hardness: 0.8,
breakInto: "invisible_dye_gas",
tempHigh: 110,
stateHigh: "invisible_dye_gas",
category: "special",
state: "liquid",
density: 1,
stain: elements.dye.stain,
};
elements.invisible_dye_gas = {
color: settings.bg,
behavior: behaviors.GAS,
tick: function(pixel) { makePixelInvisible(pixel) },
hardness: 0.5,
breakInto: "invisible_dye_gas",
tempLow: 109,
stateLow: "invisible_dye",
category: "special",
state: "liquid",
density: 1,
stain: elements.spray_paint.stain,
};
var temp = {
invisible_wall: "asdfg",
invisible_dye: 2,
invisible_dye_gas: false
};
if(enabledMods.includes("mods/gradient_background_support.js")) {
for(var elemName in temp) {
elements[elemName].desc = "Invisible dyes <em style='color: yellow;'>do not work</em> and <em style='color: yellow;'>are not supported</em> with gradient backgrouds";
elements[elemName].hidden = true;
elements[elemName].excludeRandom = true;
};
};
} else {
enabledMods.splice(enabledMods.indexOf(modName),0,libraryMod)
localStorage.setItem("enabledMods", JSON.stringify(enabledMods));
alert(`The ${libraryMod} mod is required and has been automatically inserted (reload for this to take effect).`)
};