diff --git a/web/server/download-textures.js b/web/server/download-textures.js index 83ec91c..df2f7aa 100644 --- a/web/server/download-textures.js +++ b/web/server/download-textures.js @@ -1,7 +1,11 @@ #!/usr/bin/env node /** - * download-textures.js — Bulk-download all Minecraft, Create & CC:Tweaked - * item/block textures into the local texture cache. + * download-textures.js — Bulk-download item/block textures for all supported + * mods into the local texture cache. + * + * Supported mods (Prominence Hasturian Era II modpack): + * Minecraft, Create, CC:Tweaked, Mythic Metals, Farmer's Delight, + * Ad Astra, BetterEnd, Applied Energistics 2, Twilight Forest * * Run once (or on container start) to pre-populate the cache so the proxy * never needs to hit upstream for known textures. @@ -15,14 +19,14 @@ import path from 'path'; const CACHE_DIR = process.argv[2] || process.env.TEXTURE_CACHE_DIR || '/data/texture-cache'; -// ── Upstream repos (same as server.js) ───────────────────────────────────── +// ── Upstream repos (same namespaces as TEXTURE_UPSTREAMS in server.js) ───── const REPOS = { minecraft: { api: 'https://api.github.com/repos/InventivetalentDev/minecraft-assets/git/trees/1.21.4?recursive=1', raw: 'https://cdn.jsdelivr.net/gh/InventivetalentDev/minecraft-assets@1.21.4', prefix: 'assets/minecraft/textures/', - folders: ['item/', 'block/'], // only grab these sub-folders + folders: ['item/', 'block/'], }, create: { api: 'https://api.github.com/repos/Creators-of-Create/Create/git/trees/mc1.20.1/dev?recursive=1', @@ -36,6 +40,42 @@ const REPOS = { prefix: 'projects/common/src/main/resources/assets/computercraft/textures/', folders: ['item/', 'block/'], }, + mythicmetals: { + api: 'https://api.github.com/repos/Noaaan/MythicMetals/git/trees/1.20?recursive=1', + raw: 'https://raw.githubusercontent.com/Noaaan/MythicMetals/1.20', + prefix: 'src/main/resources/assets/mythicmetals/textures/', + folders: ['item/', 'block/'], + }, + farmersdelight: { + api: 'https://api.github.com/repos/vectorwing/FarmersDelight/git/trees/1.20?recursive=1', + raw: 'https://raw.githubusercontent.com/vectorwing/FarmersDelight/1.20', + prefix: 'src/main/resources/assets/farmersdelight/textures/', + folders: ['item/', 'block/'], + }, + ad_astra: { + api: 'https://api.github.com/repos/terrarium-earth/Ad-Astra/git/trees/1.20.1?recursive=1', + raw: 'https://raw.githubusercontent.com/terrarium-earth/Ad-Astra/1.20.1', + prefix: 'common/src/main/resources/assets/ad_astra/textures/', + folders: ['item/', 'block/'], + }, + betterend: { + api: 'https://api.github.com/repos/quiqueck/BetterEnd/git/trees/1.20?recursive=1', + raw: 'https://raw.githubusercontent.com/quiqueck/BetterEnd/1.20', + prefix: 'src/main/resources/assets/betterend/textures/', + folders: ['item/', 'block/'], + }, + ae2: { + api: 'https://api.github.com/repos/AppliedEnergistics/Applied-Energistics-2/git/trees/fabric/1.20.1?recursive=1', + raw: 'https://raw.githubusercontent.com/AppliedEnergistics/Applied-Energistics-2/fabric/1.20.1', + prefix: 'src/main/resources/assets/ae2/textures/', + folders: ['item/', 'block/'], + }, + twilightforest: { + api: 'https://api.github.com/repos/TeamTwilight/twilightforest/git/trees/1.20.1?recursive=1', + raw: 'https://raw.githubusercontent.com/TeamTwilight/twilightforest/1.20.1', + prefix: 'src/main/resources/assets/twilightforest/textures/', + folders: ['item/', 'block/'], + }, }; // ── Rate-limit-friendly parallel downloader ────────────────────────────────