Skip to content

v1.3.0 - Auto-detect Minecraft version

Choose a tag to compare

@Th0rgal Th0rgal released this 27 Dec 16:07
· 8 commits to master since this release
v1.3.0
cff61c6

What's New

Automatic Minecraft Version Detection & Filtering

Hopper now automatically detects the server's Minecraft version and filters plugin dependencies to ensure compatibility. This ensures downloaded plugins are compatible with the specific MC version the server is running.

Priority Order:

  1. Per-dependency explicit setting (.minecraftVersion("1.19.4")) - highest priority
  2. Runtime auto-detection via Bukkit API - automatic
  3. No filtering (latest for all MC versions) - fallback

Features

  • Auto-detection via Paper's getMinecraftVersion() or by parsing Bukkit.getBukkitVersion()
  • Global MinecraftVersion utility for centralized version management
  • Transparent integration - BukkitHopper.download() auto-detects and logs the MC version
  • Per-dependency override still supported via .minecraftVersion("1.19.4")
  • Graceful fallback to no filtering if detection fails

Usage

// Automatic (recommended) - just use BukkitHopper as before
BukkitHopper.register(this, deps -> {
    // These will automatically filter for the server's MC version
    deps.require(Dependency.modrinth("packetevents").build());
    deps.require(Dependency.hangar("ProtocolLib").minVersion("5.0.0").build());
    
    // Explicit override still works
    deps.require(Dependency.modrinth("old-plugin").minecraftVersion("1.19.4").build());
});

// Manual override if needed
BukkitHopper.setMinecraftVersion("1.20.4");

Supported Sources

  • Modrinth - filters by game_versions API parameter
  • Hangar - filters by platformVersion API parameter