VersionedServerResourcePackManager
Automatically serve the right resource pack to every player — based on their client version, platform, and preferences.
heavy work in progress but stable.
contact me on discord- aditya9448
Features-
- Version-Based Packs — Define multiple resource packs with min/max(protocol version number) protocol version ranges.
- Multi-Pack Stacking (1.20.3+) — Players on Minecraft 1.20.3 or newer can select and apply multiple resource packs simultaneously without merging!
- Interactive GUI — Players can browse and toggle packs from in-game inventory GUI (/rp).
What is protocol version no.?
Protocol no.protocol version no. is an internal identifier used by the game to distinguish between different client versions.
VRSPM uses these no. to diffrentiate between players client version which makes it able to server right resource pack to right client.
What is use of protocol version no.(in VRSPM)?
Use of Protocol no.resource-packs:
pack-1_21:
name: "<gradient:#55ff55:#aaffaa>Modern Pack (1.21+)</gradient>"
url: "UR_DIRECT_DOWNLOAD_LINK" # Example URL
hash: "" # Optional 40-character hex SHA-1 (leave empty to skip validation)
min-protocol: 767 # 1.21
max-protocol: 775
gui-icon: "DIAMOND"
slot: 11
lore:
- "<gray>Optimized for Minecraft <green>1.21</green> and newer.</gray>"
- "<gray>Includes high-resolution textures and 3D models.</gray>"
- ""
- "<green>✔ Compatible with your client version</green>"
In the above example, i have a resource pack which is supported for 1.21-26.1.2
protocol version no. of-
1.21= 767
26.1.2= 775
Therefore all the players having client versions between 21.1-26.1.2 ( and including them) will be able to see & apply the resource pack While out dated or newer clients will be seeing a barrier block (currently)
Where to get protocol version no.?
Get protocol no. from:U can get protocol version no. from protocol no. or protocol_versions.txt in the same directory as cofig.yml file .
Game / Software Version : Protocol No.
--------------------------------------------------------------------
26.2+ : 776+
26.1.2 : 775
26.1.1 : 775
26.1 : 775
1.21.11 : 774
1.21.10 : 773
1.21.9 : 773
1.21.8 : 772
1.21.7 : 772
1.21.6 : 771
1.21.5 : 770
1.21.4 : 769
1.21.2 / 1.21.3 : 768
1.21 / 1.21.1 : 767
1.20.5 / 1.20.6 : 766
1.20.3 / 1.20.4 : 765
1.20.2 : 764
1.20 / 1.20.1 : 763
1.19.4 : 762
1.19.3 : 761
1.19.1 / 1.19.2 : 760
1.19 : 759
1.18.2 : 758
1.18 / 1.18.1 : 757
1.17.1 : 756
1.17 : 755
1.16.4 / 1.16.5 : 754
1.16.3 : 753
1.16.2 : 751
1.16.1 : 736
1.16 : 735
1.15.2 : 578
1.15.1 : 575
1.15 : 573
1.14.4 : 498
1.14.3 : 490
1.14.2 : 485
1.14.1 : 480
1.14 : 477
1.13.2 : 404
1.13.1 : 401
1.13 : 393
1.12.2 : 340
1.12.1 : 338
1.12 : 335
1.11.1 / 1.11.2 : 316
1.11 : 315
1.10 / 1.10.1 / 1.10.2 : 210
1.9.3 / 1.9.4 : 110
1.9.2 : 109
1.9.1 : 108
1.9 : 107
1.8 / 1.8.1 - 1.8.9 : 47
1.7.6 - 1.7.10 : 5
1.7.2 - 1.7.5 : 4
How to set multiple resource packs?
set multiple resource packsText shared below is a piece of config.yml file.
These are the example packs which would not work unless pasted a working direct download link
resource-packs:
pack-1_21:
name: "<gradient:#55ff55:#aaffaa>Modern Pack (1.21+)</gradient>"
url: "UR_DIRECT_DOWNLOAD_LINK" # Example URL
hash: "" # Optional 40-character hex SHA-1 (leave empty to skip validation)
min-protocol: 767 # 1.21
max-protocol: 9999
gui-icon: "DIAMOND"
slot: 11
lore:
- "<gray>Optimized for Minecraft <green>1.21</green> and newer.</gray>"
- "<gray>Includes high-resolution textures and 3D models.</gray>"
- ""
- "<green>✔ Compatible with your client version</green>"
pack-1_20:
name: "<gradient:#ffff55:#fffaaa>Standard Pack (1.20 - 1.20.6)</gradient>"
url: "UR_DIRECT_DOWNLOAD_LINK"
hash: ""
min-protocol: 763 # 1.20
max-protocol: 766 # 1.20.6
gui-icon: "GOLDEN_APPLE"
slot: 12
lore:
- "<gray>Compatible with Minecraft <yellow>1.20 - 1.20.6</yellow>.</gray>"
- "<gray>Standard textures and basic models.</gray>"
- ""
- "<green>✔ Compatible with your client version</green>"
You can configure these example packs according to your need or if u want more just paste the example format under them.
ex.-
resource-packs:
pack-1_21:
name: "<gradient:#55ff55:#aaffaa>Modern Pack (1.21+)</gradient>"
url: "https://github.com/spigot-rp-test/test-pack/raw/main/rp-1.21.zip" # Example URL
hash: "" # Optional 40-character hex SHA-1 (leave empty to skip validation)
min-protocol: 767 # 1.21
max-protocol: 9999
gui-icon: "DIAMOND"
slot: 11
lore:
- "<gray>Optimized for Minecraft <green>1.21</green> and newer.</gray>"
- "<gray>Includes high-resolution textures and 3D models.</gray>"
- ""
- "<green>✔ Compatible with your client version</green>"
pack-1_20:
name: "<gradient:#ffff55:#fffaaa>Standard Pack (1.20 - 1.20.6)</gradient>"
url: "https://github.com/spigot-rp-test/test-pack/raw/main/rp-1.20.zip"
hash: ""
min-protocol: 763 # 1.20
max-protocol: 766 # 1.20.6
gui-icon: "GOLDEN_APPLE"
slot: 12
lore:
- "<gray>Compatible with Minecraft <yellow>1.20 - 1.20.6</yellow>.</gray>"
- "<gray>Standard textures and basic models.</gray>"
- ""
- "<green>✔ Compatible with your client version</green>"
your_extraw_pack:
name: "Your_pack_name"
url: "UR_DIRECT_DOWNLOAD_LINK"
hash: ""
min-protocol: protocol_version
max-protocol: protocol_version
gui-icon: "DIRT_BLOCK"
slot: according to your need
lore:
- "no need"
- "i am a penguin"
- ""
- "<green>✔ Compatible with your client version</green>"
What could be expected in next versions?
Minor bug fix- (warning that this server uses resource packs.)
lang directory- (currently all the msg are included in the config.yml)
Automatic application of compatible rp for 1st time. (till this version player have to select rp for 1st time but after that they will automatically be applied)
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.21, 1.21.1, 1.21.2
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Modrinth — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
- Ships as VersionedResourcePack-ProtocolNo.1.3.1-Beta.jar — drop this file into the mods folder
- Download size: 30 KB
- Download link checked 7 Sept 2026 — working
These come from our own check of the pack file, not from the source page.
