sandboxels/mods/elementOrigin.js

55 lines
1.7 KiB
JavaScript
Raw Normal View History

2024-09-22 07:31:30 -04:00
// created by SquareScreamYT
for (let elementName in elements) {
let element = elements[elementName];
2024-09-22 07:37:11 -04:00
if (element.desc && typeof element.desc === 'string' && element.desc.trim() !== '') {
if (!element.desc.includes("This Element is from")) {
element.desc += "\nThis Element is from Sandboxels (Vanilla)";
}
} else {
element.desc = "This Element is from Sandboxels (Vanilla)";
2024-09-22 07:31:30 -04:00
}
}
2024-09-22 07:50:42 -04:00
runAfterLoad(function() {
let modDescriptions = {};
2024-09-22 07:58:46 -04:00
let vanillaElements = Object.keys(elements);
2024-09-22 07:31:30 -04:00
2024-09-22 07:50:42 -04:00
let fetchPromises = enabledMods.map(mod => {
return fetch(mod)
.then(response => response.text())
.then(data => {
console.log(`Loaded mod: ${mod}`);
modDescriptions[mod] = data;
})
.catch(error => console.error('Error fetching the mod file: ', error));
});
2024-09-22 07:41:04 -04:00
2024-09-22 07:50:42 -04:00
Promise.all(fetchPromises).then(() => {
Object.keys(elements).forEach(function(elementName) {
let element = elements[elementName];
2024-09-22 07:58:46 -04:00
let elementMod = vanillaElements.includes(elementName) ? "Sandboxels (Vanilla)" : null;
2024-09-22 07:50:42 -04:00
2024-09-22 07:58:46 -04:00
if (!elementMod) {
for (let mod of enabledMods) {
if (modDescriptions[mod].includes(`elements.${elementName} =`) ||
modDescriptions[mod].includes(`elements["${elementName}"] =`)) {
elementMod = mod;
break;
}
2024-09-22 07:50:42 -04:00
}
}
2024-09-22 07:58:46 -04:00
if (!elementMod) elementMod = "Unknown Mod";
2024-09-22 07:47:09 -04:00
if (element.desc && typeof element.desc === 'string' && element.desc.trim() !== '') {
if (!element.desc.includes("This Element is from")) {
2024-09-22 07:50:42 -04:00
element.desc += `\nThis Element is from ${elementMod}`;
2024-09-22 07:41:04 -04:00
}
2024-09-22 07:47:09 -04:00
} else {
2024-09-22 07:50:42 -04:00
element.desc = `This Element is from ${elementMod}`;
2024-09-22 07:41:04 -04:00
}
2024-09-22 07:50:42 -04:00
});
2024-09-22 07:54:11 -04:00
});
2024-09-22 07:31:30 -04:00
});