MonitoringMinecraft MonitoringMinecraft

Version Numbering Converter

Мод Bta-babricBukkitBungeeCord

Мод для Майнкрафт, помогающий разобраться с системой нумерации версий и конвертировать старые версии в новые.

711 скачиваний 1 подписчик
Оцените первым

VNC (Version Numbering Converter)

Version Numbering Converter (VNC) is a Java 8 library for working with Minecraft versions across both numbering families:

  • Classic Java-style versions such as 1.20.6 and 1.21.11
  • Year-based drop versions such as 24.1, 25.4, and 26.1.1

The project is split so the common API can be used from any Java project without Bukkit on the classpath. Platform-specific runtime helpers live in separate modules and are selected through the bootstrap provider.

Modules

Module Artifact Purpose
bootstrap me.croabeast.vnc:VNC Final aggregate jar with VNC, core, and the provider implementations.
core me.croabeast.vnc:core Common parser, provider contract, mapping tables, conversion schemes, protocol lookup, and generic runtime snapshots.
bukkit me.croabeast.vnc:bukkit Internal Bukkit/Paper provider and ViaVersion-backed player protocol lookup.
mod:fabric me.croabeast.vnc:fabric Fabric loader runtime version bridge.
mod:quilt me.croabeast.vnc:quilt Quilt loader runtime version bridge.
mod:forge me.croabeast.vnc:forge Forge runtime version bridge.
mod:neoforge me.croabeast.vnc:neoforge NeoForge runtime version bridge compiled as Java 8 bytecode.
mod:sponge me.croabeast.vnc:sponge Sponge runtime version bridge.
mod:liteloader me.croabeast.vnc:liteloader Legacy LiteLoader bridge.
proxy:bungee me.croabeast.vnc:bungee BungeeCord proxy version bridge.
proxy:velocity me.croabeast.vnc:velocity Velocity proxy bridge for a supplied backend/support Minecraft version.

Core API

MinecraftVersion classic = MinecraftVersion.parse("1.21.11");
MinecraftVersion drop = MinecraftVersion.parse("26.1");

classic.getVersion();         // "1.21.11"
classic.getProtocol();        // 774
classic.supportsHex();        // true

drop.getVersion();            // "26.1"
drop.getProtocol();           // 775
String dropName = VersionScheme.MOJANG.toDrop("1.20.3");       // "23.2"
String classicName = VersionScheme.MOJANG.toClassic("25.2.2"); // "1.21.8"

boolean modernRegistry = Versioning.isAtLeast(MinecraftVersion.parse("1.20.6"), "1.20.5");
int comparison = VNC.compare(MinecraftVersion.parse("26.1"), "1.21.11");

Platform Runtime API

Use bootstrap when you want VNC to detect the runtime provider:

VNCProvider provider = VNC.getProvider();

String platform = provider.getPlatform();
String classic = provider.getClassicVersion();
String drop = provider.getDropVersion();
int protocol = provider.getProtocol();
boolean modernRegistry = provider.isAtLeast("1.20.5");

VNC still exposes convenience methods for the detected provider:

MinecraftVersion server = VNC.SERVER_MINECRAFT_VERSION;
double legacy = VNC.SERVER_VERSION;
boolean modernRegistry = VNC.isAtLeast("1.20.5");

When the runtime may not have a supported provider, use the nullable accessor:

VNCProvider provider = VNC.getProviderOrNull();
if (provider != null && provider.isAtLeast("1.20.5")) {
    // use modern behavior
}

Platform modules contain package-private provider implementations. Consumers should depend on bootstrap for runtime detection instead of calling loader-specific classes directly.

Velocity does not expose one global backend Minecraft version. Its provider is still detected from the Velocity API, but version methods need a minecraft.version system property.

Requirements

  • Java 8 bytecode for every module
  • Gradle 9.4.1 wrapper for local builds
  • Optional platform APIs are compileOnly; platform modules use direct APIs and guard runtime detection with Throwable/linkage protection
  • The NeoForge module targets NeoForge 21.1.230, compiles Maven-style with source/target 1.8, and only resolves at runtime when Java 21+ and NeoForge are present

Build

./gradlew clean build

The final consumer jar is generated by the bootstrap module:

bootstrap/build/libs/VNC-${version}.jar

Maven repository publishing is handled only by .github/workflows/publish.yml.

Смотри также

Похожие подборки моды — по версиям Майнкрафта, загрузчикам и жанрам.

Сервера Майнкрафт

Играть интереснее на сервере — выбирай в рейтинге серверов Майнкрафт и заходи прямо сейчас.

SkyBars
SkyBars Java + BE
792 онлайн
1.8 — 26.2 версия
🎮 ВЫЖИВАНИЕ ⚔️ АНАРХИЯ 🚗 ГТА РП 🎤 ГОЛОСОВОЙ ЧАТ 🎁 БЕСПЛАТНЫЙ ДОНАТ 🌟 СМП 💻 ПК+ТЕЛЕФОН
MigosMc
MigosMc Java + BE
720 онлайн
1.8 — 26.2 версия
🌿 MigosMc.net | Гриферский сервер с войс-чатом | Награды за онлайн ⭐ ВЫЖИВАНИЕ⭐ ОДИНБЛОК⭐ МИНИ-ИГРЫ
EVY-MC ЖДЕМ ИМЕННО ТЕБЯ
3 онлайн
1.21.1 — 1.21.11 версия
Уютное выживание с живой экономикой, голосовым чатом и 50 достижениями
MagicMC
MagicMC Java + BE
2 онлайн
1.21 — 26.2 версия
SMP, СМП Выживание
MineLauncher
Лаунчер Майнкрафт без лицензии — все версии
Бесплатный лаунчер для ПК и Андроид — все версии 26.2, 1.21.11, 26.1.2, 1.21.8. Fabric, NeoForge, Forge, шейдеры, моды и скины в один клик.
Без лицензии Fabric, NeoForge, Forge Моды, шейдеры, скины Все версии Майнкрафта ПК и Андроид Для слабых ПК Сервера в лаунчере
Скачать бесплатно
Windows и Андроид · Бесплатно · Без лицензии
Наш чат