Skip to content

Commit cf8b7b4

Browse files
committed
add discord invites
1 parent 687a9de commit cf8b7b4

2 files changed

Lines changed: 27 additions & 7 deletions

File tree

src/data.ts

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
export type DiscordInvite = string & { readonly __discord: unique symbol };
2+
3+
export const discord = <T extends string>(
4+
code: T extends `http${string}` ? never
5+
: T extends `${string}/${string}` ? never
6+
: T
7+
): DiscordInvite => code as unknown as DiscordInvite;
8+
19
export interface Item {
210
name: string;
311
description: string;
@@ -7,6 +15,7 @@ export interface Item {
715

816
export interface Server extends Item {
917
ip: string;
18+
discord?: DiscordInvite;
1019
}
1120

1221
interface Category {
@@ -24,6 +33,7 @@ export const data: Category[] = [
2433
- BridgeSplash (owned by TropicalShadow)
2534
- Asorda (owned by Bloeckchengrafik, AEinNico, and CreepyX)
2635
- Cytosis (owned by Webhead1104 and Foxikle)
36+
- TrainCraft (owned by IEatSystemFiles)
2737
*/
2838

2939
// Publicly hosted servers which primarily use Minestom
@@ -35,35 +45,40 @@ export const data: Category[] = [
3545
description: "Play, create, share builds and parkour maps, all on one server!",
3646
link: "https://hollowcube.net",
3747
version: "26.1.2",
38-
ip: "hollowcube.net"
48+
ip: "hollowcube.net",
49+
discord: discord("h9Z9DGGJjJ")
3950
},
4051
{
4152
name: "EmortalMC",
4253
description: "A minigame network powered by Minestom with lots of overengineering.",
4354
link: "https://github.com/emortalmc",
4455
version: "26.1.2",
45-
ip: "mc.emortal.dev"
56+
ip: "mc.emortal.dev",
57+
discord: discord("qrgqe8hDmx")
4658
},
4759
{
4860
name: "CounterMine",
4961
description: "A Russian recreation of Counter Strike with insane custom models and GUIs.",
5062
link: "https://cherry.pizza",
5163
version: "1.21.11",
52-
ip: "direct.cherry.pizza"
64+
ip: "direct.cherry.pizza",
65+
discord: discord("TNbyVSuaQh")
5366
},
5467
{
5568
name: "kloon.io",
5669
description: "A creative server developed by Minikloon featuring powerful building tools.",
5770
link: "https://kloon.io",
5871
version: "1.21.8",
59-
ip: "play.kloon.io"
72+
ip: "play.kloon.io",
73+
discord: discord("peC3UVmZc6")
6074
},
6175
{
6276
name: "BlueDragon",
6377
description: "A minigame server that strives to produce high-quality original content.",
6478
link: "https://bluedragonmc.com",
6579
version: "1.21.11",
66-
ip: "bluedragonmc.com"
80+
ip: "bluedragonmc.com",
81+
discord: discord("pYA7xxytYJ")
6782
},
6883
// {
6984
// name: "Endercube",
@@ -77,13 +92,15 @@ export const data: Category[] = [
7792
description: "A Speed Builders server featuring practice and competitive game modes.",
7893
link: "https://www.tems.pl",
7994
version: "1.21.11",
80-
ip: "sb.tems.pl"
95+
ip: "sb.tems.pl",
96+
discord: discord("dkb2hCHV6A")
8197
},
8298
{
8399
name: "Minecrement",
84100
description: "A free-to-play idle gens server with automine, farming, and RPG elements.",
85101
version: "26.1.1",
86-
ip: "minecrement.minehut.gg"
102+
ip: "minecrement.minehut.gg",
103+
discord: discord("5Cx9njv7D6")
87104
}
88105
]
89106
},

src/pages/server/[address].astro

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ const { server } = Astro.props;
5353
{server.link && (
5454
<p><a href={server.link} target="_blank" rel="noopener noreferrer">Visit Website →</a></p>
5555
)}
56+
{server.discord && (
57+
<p><a href={`https://discord.com/invite/${server.discord}`} target="_blank" rel="noopener noreferrer">Join Discord Server →</a></p>
58+
)}
5659
</div>
5760
</Page>
5861

0 commit comments

Comments
 (0)