The Velocitab API provides methods for vanishing ("hiding") and modifying usernames on the TAB list.
The API is distributed on Maven through repo.william278.net and can be included in any Maven, Gradle, etc. project. JavaDocs are available here.
Velocitab also provides a plugin message API, which is documented in the Plugin Message API Examples page.
The Velocitab API shares version numbering with the plugin itself for consistency and convenience. Please note minor and patch plugin releases may make API additions and deprecations, but will not introduce breaking changes without notice.
API Version | Velocitab Versions | Supported |
---|
v1.x | v1.5.2—Current | ✅ |
- Adding the API to your project
- Adding Velocitab as a dependency
- Next steps
Maven setup information
Add the repository to your pom.xml
as per below. You can alternatively specify /snapshots
for the repository containing the latest development builds (not recommended).
<repositories>
<repository>
<id>william278.net</id>
<url>https://repo.william278.net/releases</url>
</repository>
</repositories>
Add the dependency to your pom.xml
as per below. Replace VERSION
with the latest version of Velocitab (without the v):
<dependency>
<groupId>net.william278</groupId>
<artifactId>velocitab</artifactId>
<version>VERSION</version>
<scope>provided</scope>
</dependency>
Gradle setup information
Add the dependency as per below to your build.gradle
. You can alternatively specify /snapshots
for the repository containing the latest development builds (not recommended).
allprojects {
repositories {
maven { url 'https://repo.william278.net/releases' }
}
}
Add the dependency as per below. Replace VERSION
with the latest version of Velocitab (without the v):
dependencies {
compileOnly 'net.william278:velocitab:VERSION'
}
Add Velocitab as a dependency in your main class annotation:
@Plugin(
id = "myplugin",
name = "My Plugin",
version = "0.1.0",
dependencies = {
@Dependency(id = "velocitab", optional = true)
}
)
public class MyPlugin {
// ...
}
Alternative method: Adding to `velocity-plugin.json`
{
"dependencies": [
{
"id": "velocitab",
"optional": true
}
]
}
- Unless your plugin completely relies on Velocitab, you shouldn't put Velocitab API calls into your main class, otherwise if Velocitab is not installed you'll encounter
ClassNotFoundException
s
public class VelocitabAPIHook {
public VelocitabAPIHook() {
// Ready to do stuff with the API
}
}
- Check to make sure the Velocitab plugin is present before instantiating the API hook class
@Plugin(
id = "myplugin",
name = "My Plugin",
version = "0.1.0",
dependencies = {
@Dependency(id = "velocitab", optional = true)
}
)
public class MyPlugin {
public VelocitabAPIHook velocitabHook;
@Subscribe
public void onProxyInitialization(@NotNull ProxyInitializeEvent event) {
if (event.getProxy().getPluginManager().getPlugin("velocitab").isPresent()) {
velocitabHook = new VelocitabAPIHook();
}
}
}
- You can now get the API instance by calling
VelocitabAPI#getInstance()
import net.william278.velocitab.api.BukkitVelocitabAPI;
public class VelocitabAPIHook {
private final VelocitabAPI velocitabApi;
public VelocitabAPIHook() {
this.velocitabApi = VelocitabAPI.getInstance();
}
}
Now that you've got everything ready, you can start doing stuff with the Velocitab API!