Add 'eagler' domain to AsyncSink

This commit is contained in:
ZXMushroom63 2024-11-17 16:25:00 +08:00
parent 0af8737e1d
commit 71f69fe2a0

View File

@ -188,39 +188,44 @@ ModAPI.meta.credits("By ZXMushroom63");
const objectStore = transaction.objectStore("filesystem"); const objectStore = transaction.objectStore("filesystem");
var object = (await promisifyIDBRequest(objectStore.get(["resourcepacks/manifest.json"])))?.data; var object = (await promisifyIDBRequest(objectStore.get(["resourcepacks/manifest.json"])))?.data;
var resourcePackList = object ? JSON.parse(dec.decode(object)) : { resourcePacks: [] }; var resourcePackList = object ? JSON.parse(dec.decode(object)) : { resourcePacks: [] };
if (!resourcePackList.resourcePacks.find(x => x.name === "AsyncSinkLib")) { var pack = {
resourcePackList.resourcePacks.push({ domains: ["minecraft", "eagler"],
domains: ["minecraft"], folder: "AsyncSinkLib",
folder: "AsyncSinkLib", name: "AsyncSinkLib",
name: "AsyncSinkLib", timestamp: Date.now()
timestamp: Date.now() };
}); if (resourcePackList.resourcePacks.find(x => x.name === "AsyncSinkLib")) {
const writeableTransaction = db.transaction(["filesystem"], "readwrite"); var idx = resourcePackList.resourcePacks.indexOf(resourcePackList.resourcePacks.find(x => x.name === "AsyncSinkLib"));
const writeableObjectStore = writeableTransaction.objectStore("filesystem"); resourcePackList.resourcePacks = pack;
await promisifyIDBRequest(writeableObjectStore.put({ } else {
path: "resourcepacks/manifest.json", resourcePackList.resourcePacks.push(pack);
data: enc.encode(JSON.stringify(resourcePackList)).buffer
}));
await promisifyIDBRequest(writeableObjectStore.put({
path: "resourcepacks/AsyncSinkLib/pack.mcmeta",
data: enc.encode(JSON.stringify({
"pack": {
"pack_format": 1,
"description": "AsyncSink Library Resources"
}
})).buffer
}));
var icon = {
path: "resourcepacks/AsyncSinkLib/pack.png",
data: await (await fetch(asyncSinkIcon)).arrayBuffer()
};
const imageTransaction = db.transaction(["filesystem"], "readwrite");
const imageObjectStore = imageTransaction.objectStore("filesystem");
await promisifyIDBRequest(imageObjectStore.put(icon));
} }
const writeableTransaction = db.transaction(["filesystem"], "readwrite");
const writeableObjectStore = writeableTransaction.objectStore("filesystem");
await promisifyIDBRequest(writeableObjectStore.put({
path: "resourcepacks/manifest.json",
data: enc.encode(JSON.stringify(resourcePackList)).buffer
}));
await promisifyIDBRequest(writeableObjectStore.put({
path: "resourcepacks/AsyncSinkLib/pack.mcmeta",
data: enc.encode(JSON.stringify({
"pack": {
"pack_format": 1,
"description": "AsyncSink Library Resources"
}
})).buffer
}));
var icon = {
path: "resourcepacks/AsyncSinkLib/pack.png",
data: await (await fetch(asyncSinkIcon)).arrayBuffer()
};
const imageTransaction = db.transaction(["filesystem"], "readwrite");
const imageObjectStore = imageTransaction.objectStore("filesystem");
await promisifyIDBRequest(imageObjectStore.put(icon));
} }
// Client side reminders to enable the AsyncSink Resource Pack // Client side reminders to enable the AsyncSink Resource Pack