Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 65 additions & 25 deletions src/pages/smp-archive.astro
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,19 @@ const smps = [
version: "1.12.2",
image: firstSMP,
date: "2017-10-06",
size: "8.7 MB"
size: "8.7 MB",
players: 2,
playerNames: ["DSNS", "Max_AS"]
},
{
name: "Chromocraft Season 1",
url: "https://archive.org/details/chromocraft-season-1",
version: "1.12.2",
image: chromocraftSeason1,
date: "2017-10-18",
size: "20.5 MB"
size: "20.5 MB",
players: 3,
playerNames: ["DSNS", "Max_AS", "unknown (1280ef39…)"]
},
{
name: "Chromocraft Season 2",
Expand All @@ -41,7 +45,9 @@ const smps = [
image: chromocraftSeason2,
date: "2019-02-18",
missing: true,
size: null
size: null,
players: null,
playerNames: []
},
{
name: "Chromocraft Season 3",
Expand All @@ -50,47 +56,59 @@ const smps = [
image: chromocraftSeason3,
date: "2019-04-28",
missing: false,
size: "2.9 GB"
size: "2.9 GB",
players: 58,
playerNames: ["300mittens", "666z", "_NikiV", "aka_Henri", "blakebishop", "Bombsquad", "captinsause", "Cavalry_Scout", "ChanPlague", "Chvorka", "Craytex", "da_kuben", "Daan_", "DannySwift", "DollyDearie", "DSNS", "FannyPack", "GarretCMK", "GrandiiTwo", "grouchypoo", "Hazerz", "iCummy", "iftw", "ItzAndrewPvp", "jiebi", "jocabXD", "JustOof", "knobiknallfrosch", "KWaB_", "LagMaster1000", "lilynp", "lyb_euh", "Matzgo", "Max_AS", "Mayday44", "MeIsJordon", "MischiefCarrot", "Mudbesj", "OGMASTERKUSH420", "OMG_Its_Danger", "Orbert__", "papanowuh", "pluse", "seanppage", "Shumil", "skabetty", "skurt37", "SleepyBears7", "spiritofsilver", "TheFishingMaster", "ThousandDegree", "timpictor", "vicariamente", "Villager314", "WearBlackAllDay", "wizrow", "x4element", "Yggdrasil__God"]
},
{
name: "Earth 1:4000 SMP",
url: "https://archive.org/details/earth-1-4000-smp",
version: "1.16.1",
image: earth14000Smp,
date: "2020-08-06",
size: "855.9 MB"
size: "855.9 MB",
players: 7,
playerNames: ["CityBoyGuy", "DSNS", "idot7", "jiebi", "Max_AS", "Node13", "Retsed"]
},
{
name: "Chromocraft Season 4",
url: "https://archive.org/details/chromocraft-season-4",
version: "1.16.4",
image: chromocraftSeason4,
date: "2020-11-30",
size: "958.6 MB"
size: "958.6 MB",
players: 20,
playerNames: ["0rAnGe___", "_DArtagnan_", "aldrynn", "B0B643", "BadLxck", "Cardassia", "DSNS", "GoofBallBoi", "idot7", "jiebi", "Kaenoone", "LonelySouls", "Max_AS", "MunchieThePig", "Node13", "ploplo_", "Retsed", "saegu_", "x4element", "yumns"]
},
{
name: "CitySMP",
url: "https://archive.org/details/city-smp",
version: "1.16.5",
image: citySmp,
date: "2021-01-14",
size: "1.0 GB"
size: "1.0 GB",
players: 32,
playerNames: ["AmKale", "Anthropical", "BadLxck", "buildersoup", "Challenger3511", "ChaseThePenguin", "DSNS", "eggvry", "Getbaldedd", "GoofBallBoi", "hero_brain_2008", "idot7", "jakeybakers", "jiebi", "jlne", "Kaweo", "koriodo", "LonelySouls", "Max_AS", "Mikaxla22", "Mqxw3ll", "Node13", "ploplo_", "Retsed", "saegu_", "Siddu911", "Storling", "theebayuser", "UsinIsAwesome", "v_oo", "Xd_Oink", "yumns"]
},
{
name: "1.17 SMP",
url: "https://archive.org/details/1.17-smp",
version: "1.17",
image: one17Smp,
date: "2021-06-15",
size: "1.3 GB"
size: "1.3 GB",
players: 19,
playerNames: ["Anthropical", "BadLxck", "ChaseThePenguin", "DSNS", "Finchiee", "GoofBallBoi", "idot7", "ImSoBadOmg", "jiebi", "LonelySouls", "Matthews4813", "Max_AS", "Node13", "Retsed", "saegu_", "UrpyBurpy", "UsinIsAwesome", "Xd_Oink", "yumns"]
},
{
name: "1.18 Snapshot SMP (21w40a)",
url: "https://archive.org/details/1.18-snapshot-smp",
version: "21w40a",
image: one18SnapshotSmp,
date: "2021-10-10",
size: "370.4 MB"
size: "370.4 MB",
players: 9,
playerNames: ["Anthropical", "ChaseThePenguin", "daweedjam", "DSNS", "idot7", "jiebi", "Max_AS", "Node13", "Retsed"]
},
{
name: "mc.dsns.dev",
Expand All @@ -99,7 +117,9 @@ const smps = [
version: "1.20-1.20.1",
image: mcDsnsDevPart1,
date: "2023-06-07",
size: "4.0 GB"
size: "4.0 GB",
players: 19,
playerNames: ["Agedfish", "Anthropical", "Armster15", "B0B643", "BadLxck", "ConservativeNews", "DSNS", "GoofBallBoi", "HockeyGamr", "jakeybakers", "jiebi", "jschlattstan", "LonelySouls", "matscan", "Max_AS", "Node13", "ploplo_", "Retsed", "saegu_"]
},
{
name: "mc.dsns.dev",
Expand All @@ -108,31 +128,39 @@ const smps = [
version: "1.20.6-1.21",
image: mcDsnsDevPart2,
date: "2024-06-11",
size: "2.6 GB"
size: "2.6 GB",
players: 15,
playerNames: ["Anthropical", "Archer2305", "Armster15", "B0B643", "BadLxck", "ConservativeNews", "Dark_Rider_ii", "DSNS", "jakeybakers", "jiebi", "jschlattstan", "LonelySouls", "Max_AS", "ploplo_", "Retsed"]
},
{
name: "Delicious SMP",
url: "https://archive.org/details/delicious-smp",
version: "1.21",
image: deliciousSmp,
date: "2025-04-08",
size: "994.2 MB"
size: "994.2 MB",
players: 4,
playerNames: ["DSNS", "jiebi", "Max_AS", "Retsed"]
},
{
name: "A New Beginning SMP",
url: "https://archive.org/details/a-new-beginning-smp",
version: "1.21.10",
image: aNewBeginningSmp,
date: "2025-12-07",
size: "419.8 MB"
size: "419.8 MB",
players: 9,
playerNames: ["Anthropical", "DSNS", "GoofyGoober_27", "jiebi", "KarmaScout", "Max_AS", "ploplo_", "Retsed", "Timeclock_"]
},
{
name: "Max's SMP",
url: "https://archive.org/details/max-smp",
version: "26.2",
image: maxsmp,
date: "2026-07-14",
size: "8.9 GB"
size: "8.9 GB",
players: 24,
playerNames: ["_BonkerMoose", "Anthropical", "badthew3", "chiefpegasus", "cyber_penguinn", "Darielicious", "daweedjam", "DSNS", "Eatsand614", "FakeDeveloper11", "HammerMan_", "jiebi", "kylerpoopoo", "LilTanbark", "LLamaTurtleFish", "magio0", "Max_AS", "N00byz", "NL4P", "OlivesInABox", "pigsteppy", "Retsed", "WHIT3D", "Wowza0618"]
}
];

Expand Down Expand Up @@ -174,15 +202,11 @@ margins.push(0);
</div>

<div class:list={["w-full md:w-1/2", isLeft ? "md:pr-14" : "md:pl-14"]}>
<a
href={smp.url}
target="_blank"
rel="noopener noreferrer"
class="block overflow-hidden rounded-xl bg-viola-100 shadow-lg transition-all duration-300 hover:scale-[1.02] hover:shadow-xl"
>
<div class="relative aspect-video w-full overflow-hidden bg-viola-200">
<div class="group/card overflow-hidden rounded-xl bg-viola-100 shadow-lg transition-all duration-300 hover:scale-[1.02] hover:shadow-xl">
<a href={smp.url} target="_blank" rel="noopener noreferrer">
<div class="relative aspect-video w-full overflow-hidden rounded-t-xl bg-viola-200">
{smp.image ? (
<Image src={smp.image} alt={smp.name} loading="lazy" class="h-full w-full object-cover transition-transform duration-500 group-hover:scale-105" />
<Image src={smp.image} alt={smp.name} loading="lazy" class="h-full w-full object-cover transition-transform duration-500 group-hover/card:scale-105" />
) : (
<div class="flex h-full w-full items-center justify-center text-viola-400">
<svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round">
Expand All @@ -202,19 +226,35 @@ margins.push(0);
<p class="text-lg font-bold text-gray-900">{smp.name}</p>
{smp.subtitle && <span class="text-xs font-medium uppercase tracking-wide text-viola-600">{smp.subtitle}</span>}
{smp.missing && <span class="text-xs font-medium uppercase tracking-wide text-yellow-600">No World Available</span>}
<div class="mt-1 flex items-center gap-2 font-mono text-xs text-gray-400">
<div class="mt-1 flex flex-wrap items-center gap-2 font-mono text-xs text-gray-400">
{smp.version && <span class="rounded bg-viola-200 px-1.5 py-0.5 text-viola-700">{smp.version}</span>}
{smp.players != null && <span class="rounded bg-viola-200 px-1.5 py-0.5 text-viola-700">{smp.players} {smp.players === 1 ? "player" : "players"}</span>}
{smp.size && <span>{smp.size}</span>}
</div>

{!smp.missing && (
<div class="mt-3 flex items-center gap-1 font-mono text-xs uppercase tracking-wide text-viola-500 opacity-0 transition-opacity duration-300 group-hover:opacity-100">
<div class="mt-3 flex items-center gap-1 font-mono text-xs uppercase tracking-wide text-viola-500 opacity-0 transition-opacity duration-300 group-hover/card:opacity-100">
<span>View Archive</span>
<span class="transition-transform duration-300 group-hover:translate-x-1">&rarr;</span>
<span class="transition-transform duration-300 group-hover/card:translate-x-1">&rarr;</span>
</div>
)}
</div>
</a>
{smp.players != null && smp.playerNames.length > 0 && (
<details class="group/players border-t border-viola-200/70 px-4 py-3">
<summary class="flex cursor-pointer select-none list-none items-center gap-2 rounded-lg py-0.5 font-mono text-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-viola-400 [&::-webkit-details-marker]:hidden">
<span class="rounded bg-viola-200 px-1.5 py-0.5 text-viola-700">{smp.players} {smp.players === 1 ? "player" : "players"}</span>
<span class="font-sans text-[10px] uppercase tracking-wide text-viola-500">names</span>
<svg class="ml-auto h-4 w-4 text-viola-400 transition-transform duration-200 group-open/players:rotate-180" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9" /></svg>
</summary>
<div class="mt-3 flex flex-wrap gap-1.5 font-sans text-xs">
{smp.playerNames.map((playerName) => (
<span class="rounded bg-white/70 px-1.5 py-1 leading-none text-viola-800 ring-1 ring-viola-200">{playerName}</span>
))}
</div>
</details>
)}
</div>
</div>
</div>
);
Expand Down