Open source · MIT licence

Fork it.

Vantage was built by one person, and nothing about it needs to stay that way. A hobby is better served by many mods going their own ways than by one that everybody waits on, and a mod that ends when its maintainer stops is a mod nobody should have to depend on. So all of it is open: copy it, change it, rename it, and ship your own.

You do not need to ask first, and you do not need to send anything back. The licence asks for one thing, and it is further down this page.

What you are forking

Licence
MIT
Written in
Java 25
Minecraft
26.1.2 and 26.2
Loader
Fabric 0.19.3
Features
428
Options
3,422
Latest release
2.0.1

Three steps to your own jar

  1. Fork

    Press Fork on the project's GitLab page, or clone it and keep it wherever you keep code. It is one repository: the mod, its tools, its tests and its pipeline.

    git clone https://gitlab.com/Ekoss/vantage.git
    cd vantage
  2. Build

    Gradle has to run on JDK 25; there is no toolchain block, so it will not fetch one for you. The first line is what the pipeline runs; the second makes a jar in build/libs.

    ./gradlew compileJava test
    ./gradlew build -PnoVersionBump

    Keep the flag. Without it, any task that makes a jar raises the last number of mod_version in gradle.properties before anything compiles, which is right for a release and a nuisance every other time; git checkout -- gradle.properties puts it back. Add -Pminecraft_version=26.1.2 for the other target.

  3. Make it yours

    Give it your own name, so nobody mistakes it for Vantage: id and name in src/main/resources/fabric.mod.json, maven_group and archives_base_name in gradle.properties, Vantage.NAME, the manifest's Implementation-Title in build.gradle, and Vantage.MOD_ID, which also names the config folder and the resource namespace: rename src/main/resources/assets/vantage to match, along with the few files that spell vantage out (font/ui.json, lang/en_us.json, the vet.key path).

    If you also move the package dev.cherishev.vantage, change it by hand wherever it is written as text: the two entry points in fabric.mod.json, the "package" of every vantage*.mixins.json, and FEATURE_INFO, FEATURE and PACKAGE in processor/…/FeatureIndexProcessor.java, which finds every feature by those names. The forking guide lists every one.

    After that it is yours to change. A feature is one class with an @FeatureInfo annotation, and the look is written down: docs/design/liquid-glass.md is the Obsidian Glass contract every screen is drawn against.

Point it at your own things

A few constants point at Vantage's own infrastructure. A fork that kept them would check Vantage's releases, read Vantage's announcements and talk to Vantage's service, under Vantage's name. These are the ones to change, as of 2.0.1; the Java files are under src/main/java/dev/cherishev/vantage/.

Constants a fork changes
ConstantWhereTodayWhat it does
UpdateChecker.PROJECT_IDfeatures/general/UpdateChecker.java85904176The GitLab project whose releases the update check reads.
UpdateChecker.RELEASES_PAGEthe same filegitlab.com/Ekoss/vantage/-/releasesWhere the "new version" notice sends a player.
AnnouncementsFeature.FEED_URLfeatures/general/AnnouncementsFeature.javaannouncements.json on Vantage's mainThe announcements every client reads.
SyncEndpoints.DEFAULT_HOSTcore/api/sync/SyncEndpoints.javastats.glass-vt.lolThe service: bug reports, the profile viewer and Vantage Stats.
DEFAULT_PROJECT_IDtools/release.py85904176Where a release is uploaded when it is cut by hand. In CI the pipeline's own project is used.
PROJECT_URLtools/announce.pygitlab.com/Ekoss/vantageThe links, and the icon address, in the Discord posts the announcement job makes.
Http.USER_AGENTcore/api/http/Http.javaVantage/<version> (Minecraft <version>)How the mod's HTTP client introduces itself to the sites it fetches from.

The service

Bug reports, the profile viewer and Vantage Stats talk to the service behind this site, which is not a public repository. A fork points DEFAULT_HOST at a service of its own, or leaves those features off. What the service does, and what the mod sends it, is on The service.

The Vet card

The card is signed with a key baked in at build time: -PvetKey, or VANTAGE_VET_KEY in CI. A build with neither gets an empty key, which the client treats as a development key and says so in its log, and Vantage's own bot rejects those cards. tools/release.py refuses to publish a jar without a real one, and it looks for jars named vantage-<version>+<minecraft>.jar, so a fork that releases with it brings its own key and teaches it its own jar name.

Two Minecraft versions come out of one tree. The few files that cannot be written against both live in src/main/java-mc26.2 and src/main/java-mc26.1.2, with each version's access widener in src/main/resources-mc<version>; -Pminecraft_version picks one.

What the licence asks

Vantage is under the MIT licence. In plain words: you may use it, copy it, change it, merge it into something else, publish it, give it away and sell it, for any purpose, without asking.

The one condition is that the copyright notice and the licence text stay with the code: in your repository, and in what you ship. The build already puts LICENSE in the jar, as LICENSE_vantage. Add your own line for what you write; keep this one.

It comes with no warranty of any kind.

The line that stays

Copyright (c) 2026 CherishEv

Three things inside the jar have licences of their own and travel with it. Inter, the typeface (SIL Open Font License), and the Lucide icon geometry (ISC) have their texts in src/main/resources/assets/vantage/licenses/. The Hypixel Mod API is bundled by the build, and its terms are its own project's: the forking guide says more.

One rule comes with the hobby rather than the licence: Hypixel's developer policy forbids putting an API key into a mod anyone can download, which is why Vantage asks you for none.

What you get

The developer docs

Everything above, at length, and the rest of how the mod is put together.