import Link from "next/link"; import Image from "next/image"; import { ArrowRight, ArrowUpRight, Compass, Cuboid, Map, MapPin, Move, Timer, } from "lucide-react"; import { Header, Footer, EmptyState } from "@/components/Shell"; import { MapCard } from "@/components/MapCard"; import { catalog } from "@/lib/catalog"; export const dynamic = "force-dynamic"; export default async function Home() { const maps = await catalog(); const serverCount = new Set(maps.map((m) => m.server_id)).size; const locations = maps.reduce((n, m) => n + m.panorama_count, 0); return ( <>
MINECRAFT WORLDS. REAL EXPLORATION.

Get lost in a
familiar world.

Somewhere between the blocks, there’s a place you know.
Look around. Trust your instincts. Make your guess.

Find your next world How it works
360° panoramas No roads. No moving. Just you and the blocks.
YOUR NEXT ADVENTURE IS OUT THERE
OVERWORLD X ? · Z ?
Top-down map of the real Paper renderer test world
N
ONE WORLD. COUNTLESS POSSIBILITIES.
{serverCount} COMMUNITY SERVERS
{maps.length} WORLDS TO EXPLORE
{locations} PLACES TO GET LOST
Built by explorers.
For explorers.
PICK A WORLD. DROP A PIN.

Where to today?

All worlds
{maps.length ? (
{maps.slice(0, 3).map((m, i) => ( ))}
) : ( The catalog is waiting for its first approved community map. Capture a world with our mod or server plugin. )}
A NEW WAY TO SEE MINECRAFT

Every block
tells a story.

That mountain. That oddly placed tower. That very suspicious dirt hut. You’ve been here before… right?

Learn how to play
01

Take a look around

Find clues in a full 360° view of a Minecraft world.

02

Trust your coordinates

Open the map and pin the spot where you think you are.

03

Beat the clock

Five rounds. One world. How close can you get?

YOUR SERVER DESERVES TO BE EXPLORED

Put your world on the map.

Bring your builds, your landscapes, and your community to MineGeo.

Create a map