Authors: Andre_601, siberanka
OneVersionRemake is a plugin for Velocity and BungeeCord based on the original concept from OneVersion but with a lot of changes and improved code.
OneVersionRemake v4.0.0 brings significant improvements:
-
Performance & Optimization
- Java 21 Native: Built for Java 21 to utilize Virtual Threads (where supported) and modern language features.
- Zero Reflection: Removed reflection-based logic for improved performance during ping events.
- Lightweight: Replaced the heavy
OkHttplibrary with Java's built-inHttpClient, creating smaller JARs and faster execution.
-
Better Configuration
- Configurate: Uses Configurate for reliable YAML handling.
- Custom Protocols: New
CustomProtocolssection inconfig.ymlallows you to define support for future Minecraft versions (e.g., 1.21.11) instantly without plugin updates.
-
Placeholders to display MC Versions
- Uses a JSON file containing known MC protocols and their versions.
- Caching implemented for "Allowed Versions" strings to minimize CPU usage.
You can build your own version of OneVersionRemake from this source.
You need:
- Java 21 or newer (Mandatory)
- Maven
- Git-based terminal (i.e. Git-scm for windows)
To clone the repository, first choose where you want to store the folder and open your terminal in there (For windows will you need to use Git Bash).
Next, run the following command:
git clone https://github.com/siberanka/OneVersionRemakeAfter everything has been cloned, head over to the now generated OneVersionRemake folder by using cd OneVersionRemake in your terminal.
Now you can build the jar files. Just execute mvn clean install and the jars should be build within a few minutes (Depends on your download speed).
Afterwards can you obtain the final jar from either bungeecord/target/ or velocity/target/.
Note: Make sure to use the jar file either labeled OneVersionRemake-BungeeCord-<version>.jar or OneVersionRemake-Velocity-<version>.jar. Do not use jars containing original in their name!
Contributions towards OneVersionRemake are always welcome when it helps improving the plugin in one way or another.
The project is split into 4 different modules which all have their own purpose.
The core module contains all code that is used on either version of OneVersionRemake (That is platform-agnostic).
Your primary goal when adding new stuff to OneVersionRemake should be to make the code as platform-independand as possible. This helps to reduce duplicate code. So whenever possible, add new code to this module first and only to the other ones when it can't be avoided.
This module contains all the code used on BungeeCord and that can't be put into the core module itself.
When adding new BungeeCord features to OneVersionRemake, make sure that it also supports popular forks such as Waterfall, Flamecord, etc.
This module contains code used for making the Velocity version of OneVersionRemake.
The currently used major API version of Velocity is v3 and the old v1 API is not supported anymore, so please avoid adding v1 support here.