ViaBackwards

# ViaBackwards

**On Fabric, use either [ViaFabric](https://modrinth.com/mod/viafabric) or [ViaFabricPlus](https://modrinth.com/mod/viafabricplus). To override the included version**
– in **ViaFabric**, put ViaBackwards into the `mods` folder
– in **ViaFabricPlus**, put ViaBackwards into the `ViaFabricPlus/jars` folder

**Depending on the platform and version, this also requires [ViaVersion](https://modrinth.com/mod/viaversion).**

Requires Java 17. See [here](https://docs.papermc.io/misc/java-install) how to update your installed Java version. As a last resort, you can download Java 8 downgraded builds from [our ci](https://ci.viaversion.com/view/ViaBackwards/job/ViaBackwards-Java8/).

## Get access to Via* with new MC version support early
**Starting with 1.20.5, ViaVersion and ViaBackwards will only be released a day or so *after* a Minecraft update** unless the protocol changes of the update were trivial. **If you want early-access, usually days or even weeks before the final release, you can subscribe to either**:
– [GitHub Sponsors](https://github.com/sponsors/kennytv/sponsorships?sponsor=kennytv&tier_id=385613&preview=false) (*preferred option, also comes with source code access*. Use the `/verify` command on this Discord after), or alternatively
– [Patreon](https://www.patreon.com/kennytv/membership) (see the highest tier and make sure to link Patreon to your Discord account under Discord Settings->Connections)

## Note on release channels
It is recommended to always use the latest beta release. Alpha builds are used for work on snapshot version compatibility or other cutting-edge changes.

**Always use the same build channel across the ViaVersion, ViaBackwards, and ViaRewind projects.**

Releases/Dev Builds

You can find releases in the following places:

– **Hangar (for our plugins)**: https://hangar.papermc.io/ViaVersion/ViaBackwards
– **Modrinth (for our mods)**: https://modrinth.com/mod/viabackwards
– **GitHub**: https://github.com/ViaVersion/ViaBackwards/releases

Dev builds for **all** of our projects are on our Jenkins server:

– **Jenkins**: https://ci.viaversion.com/view/ViaBackwards/

Known issues

* 1.17+ min_y and height world values that are not 0/256 **are not supported**. Clients older than
1.17 will not be able to see or interact with blocks below y=0 and above y=255
* <1.17 clients on 1.17+ servers might experience inventory desyncs on certain inventory click actions * Sound mappings are incomplete ([see here](https://github.com/ViaVersion/ViaBackwards/issues/326)) Other Links - **Maven:** https://repo.viaversion.com **List of contributors:** https://github.com/ViaVersion/ViaBackwards/graphs/contributors Special Thanks - ![https://www.yourkit.com/](https://www.yourkit.com/images/yklogo.png) [YourKit](https://www.yourkit.com/) supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications. YourKit is the creator of [YourKit Java Profiler](https://www.yourkit.com/java/profiler/), [YourKit .NET Profiler](https://www.yourkit.com/.net/profiler/), and [YourKit YouMonitor](https://www.yourkit.com/youmonitor/).

ViaAprilFools

# ViaAprilFools
ViaVersion addon to add support for some notable Minecraft snapshots.

**You can override the included version in [ViaFabric](https://modrinth.com/mod/viafabric) or [ViaProxy](https://github.com/ViaVersion/ViaProxy):**
– in **ViaFabric**, put ViaAprilFools into the `mods` folder
– in **ViaProxy**, put ViaAprilFools into the `jars` folder

Requires Java 17. See [here](https://docs.papermc.io/misc/java-install) how to update your installed Java version.

**Requires [ViaVersion](https://hangar.papermc.io/ViaVersion/ViaVersion) and [ViaBackwards](https://hangar.papermc.io/ViaVersion/ViaBackwards) to be installed..**

### Added Server protocols
– 3D Shareware
– 20w14infinite
– Combat Test 8c

### Added Client protocols
– 3D Shareware
– Combat Test 8c

## Contact
If you encounter any issues, please report them on the
[issue tracker](https://github.com/ViaVersion/ViaAprilFools/issues).
If you just want to talk or need help implementing ViaAprilFools feel free to join the ViaVersion
[Discord](https://discord.gg/viaversion).

Vertexnexus

🚀 VertexNexus – The Ultimate AFK & KeyAll Rewards Plugin

VertexNexus is a powerful and modern Minecraft plugin designed to bring automation, engagement, and exciting rewards to your server. With its advanced systems and optimized performance, VertexNexus delivers a smooth experience for both players and server owners.

This plugin introduces a dynamic 4-Stage KeyAll system and an advanced AFK Zone reward system, allowing players to earn rewards automatically while keeping the server active and engaging. Built with performance in mind, VertexNexus works flawlessly with Paper, Spigot, Purpur, and Folia servers.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

✨ Core Features

🎁 4-Stage Global KeyAll System
Reward all online players automatically with a powerful staged reward system.

⚡ Automatic stage rotation (Stage 1 → Stage 4)
⚡ Custom commands for each stage
⚡ Configurable timers and intervals
⚡ Broadcast messages, titles, and sounds
⚡ Admin commands to control stages instantly

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🟦 Advanced AFK Zone Rewards

Keep your players engaged even while AFK.

Players inside the AFK zone will automatically receive rewards based on a multi-stage reward cycle.

✨ Multi-stage AFK reward system
✨ Rewards only for players inside the zone
✨ BossBar countdown timer display
✨ Entry title effects when players enter the zone
✨ Fully configurable commands and rewards

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🪄 Simple AFK Zone Creation

Creating AFK zones is quick and easy.

🔹 Use `/vn wand` to receive the selection tool
🔹 Left click to select the first position
🔹 Right click to select the second position
🔹 Use `/vn setzone` to save the AFK zone

Your AFK region will automatically be stored in the configuration files.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📊 PlaceholderAPI Support

VertexNexus integrates perfectly with PlaceholderAPI, allowing you to display timers and stage information on scoreboards, tablists, and menus.

Available placeholders:

🔹 %vn_keyall_timer%
🔹 %vn_keyall_stage%
🔹 %vn_afk_timer%
🔹 %vn_afk_stage%

Perfect for scoreboards and server UI systems.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🛠 Powerful Admin Commands

Managing the plugin is simple and flexible.

🔹 /vn wand – Get the zone selection tool
🔹 /vn setzone – Save the AFK zone
🔹 /vn reload – Reload all configurations
🔹 /vn info – Show plugin information

KeyAll Controls

🔹 /vn keyall now – Trigger the current stage
🔹 /vn keyall skip – Skip to the next stage
🔹 /vn keyall pause – Pause the KeyAll timer
🔹 /vn keyall resume – Resume the timer

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

💾 Smart Data System

VertexNexus automatically saves important runtime data such as active stages and timers. This ensures that everything continues correctly even after server restarts.

No progress is lost and the system resumes seamlessly.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

⚡ Built for Performance

VertexNexus is designed with a clean Object-Oriented architecture and optimized scheduling to ensure high performance and stability.

✨ Lightweight and efficient
✨ Folia-compatible scheduling system
✨ Independent AFK and KeyAll timers
✨ Clean and maintainable code structure

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🎮 Why Use VertexNexus?

VertexNexus helps server owners create an engaging reward environment where players stay active, earn rewards automatically, and enjoy a modern server experience.

Whether you’re running a survival server, economy server, or community SMP, VertexNexus adds a powerful automated reward system that keeps your players excited and coming back for more.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

👑 Developer & Owner

Aarav Singh

VerifyMC

# 🛡️ VerifyMC

## 🚀 Introduction

**VerifyMC** is an ultra-lightweight, powerful whitelist management plugin for Minecraft servers. It supports web-based registration, auto/manual review, banning, theme switching, AuthMe integration, and high customizability, helping you secure and manage your server community with ease.

## 📝 Key Features

1. 🖥️ **Web Registration & Review**: Players can submit whitelist applications via a web page; admins can review, ban, and manage users online.
2. 🔒 **Auto/Manual Review**: Supports both automatic approval and manual admin review to fit different server needs.
3. 🚫 **Ban System**: Ban problematic players to keep your server safe.
4. 🎨 **GlassX Theme**: Beautiful glassmorphism design with smooth animations and modern UI.
5. 📨 **Email Verification & Domain Whitelist**: Integrated SMTP email verification, supports email domain whitelist and alias limit.
6. 🔐 **Self-hosted CAPTCHA**: Built-in graphical CAPTCHA (math/text) – no external services required.
7. 🎮 **Discord Integration**: OAuth2 Discord account linking with optional/required mode.
8. 📋 **Registration Questionnaire**: Customizable questionnaire system with multi-language support.
9. 📧 **User Notifications**: Automatic email notifications for whitelist approval/rejection.
10. 🌐 **Multi-language Support**: Both web UI and plugin messages support English and Chinese.
11. ⚙️ **Highly Customizable**: Set max accounts per email, player ID regex, whitelist bypass IPs, and more.
12. 🪶 **Lightweight**: Plugin jar is under 6MB, integrates multiple features, and runs efficiently.
13. 🔄 **Auto Update & Backup**: Config files auto-upgrade, with full backup before each update.
14. 🧩 **Flexible Whitelist Modes**: Supports Bukkit native whitelist sync, plugin self-management, and MySQL storage.
15. 💾 **MySQL & Data File Storage**: Easily switch between local file and MySQL storage; supports automatic migration.
16. 📝 **Audit Log Multi-Storage**: Audit logs can be stored in file or MySQL.
17. 🌍 **Custom Internationalization**: Auto-loads any messages_xx.properties file; users can add any language.
18. 🔐 **AuthMe Integration**: Seamless integration with AuthMe plugin for password management and auto-registration.
19. 🎮 **Bedrock Support**: Geyser/Floodgate player prefix support for cross-platform servers.
20. 🔗 **Proxy Support**: BungeeCord/Velocity proxy plugin for network-level whitelist enforcement.

## 🖼️ Screenshots (GlassX Theme)

### Home Page
![Home GlassX](https://verifymc.cn-nb1.rains3.com/docs/screenshot-home-glassx.png)

### Registration Page
![Registration GlassX](https://verifymc.cn-nb1.rains3.com/docs/screenshot-register-glassx.png)

### Admin Panel
![Admin GlassX](https://verifymc.cn-nb1.rains3.com/docs/screenshot-admin-glassx.png)

## 🛠️ Tech Stack

– Java (Bukkit/Spigot/Paper/Folia plugin)
– Frontend: Vue3 + Tailwind CSS (custom themes supported)
– WebSocket real-time communication
– Email service: SMTP

## 📦 Installation & Configuration

1. Download the latest `VerifyMC.jar` and place it in your server’s `plugins` directory.
2. Start the server to auto-generate config files, then edit `config.yml` as needed (see full example below).
3. Restart the server and visit `http://your_server_ip:8080` to access the admin panel.

“`yaml
# —————————————-
# General Settings
# —————————————-
# Global language setting. Affects plugin messages and web UI. (e.g., ‘zh’, ‘en’)
language: zh
# Enable detailed console logs for troubleshooting.
debug: false

# —————————————-
# Web Server
# —————————————-
# The port for the web interface.
web_port: 8080
# The server name displayed on the web interface.
web_server_prefix: ‘[ Name ]’

# —————————————-
# Verification & Whitelist
# —————————————-
# Supported authentication methods. Options: ’email’ (email verification), ‘captcha’ (graphical captcha).
# You can use multiple methods, e.g.: [email, captcha]
#
# [IMPORTANT] Configuring the captcha: section below does NOT enable captcha!
# To enable captcha, you MUST add ‘captcha’ to this list:
# Captcha only: auth_methods: [captcha]
# Both email and captcha: auth_methods: [email, captcha]
auth_methods:
– email
# Maximum number of game accounts that can be linked to a single email address.
max_accounts_per_email: 2
# Whitelist mode: ‘bukkit’ (syncs with server’s whitelist.json) or ‘plugin’ (uses internal database).
whitelist_mode: plugin
# Registration URL displayed to non-whitelisted players when in ‘plugin’ mode.
web_register_url: https://domain.com/

# —————————————-
# Registration
# —————————————-
# If true, new user registrations are automatically approved. If false, they require manual admin approval.
register:
auto_approve: false

# —————————————-
# User & Security
# —————————————-
# A regular expression to validate player names.
username_regex: “^[a-zA-Z0-9_-]{3,16}$”
# If false, usernames that only differ by case (e.g., “Player” and “player”) are treated as the same.
username_case_sensitive: false
# A list of IP addresses that can join the server without being whitelisted.
whitelist_bypass_ips:
– 127.0.0.1
# The password for accessing the admin panel on the web interface.
admin:
password: your_custom_password

# —————————————-
# User Notification
# —————————————-
# Send email notification to users when admin reviews their application.
user_notification:
# Whether to enable user notification feature
enabled: true
# Whether to send notification when application is approved
on_approve: true
# Whether to send notification when application is rejected
on_reject: true

# —————————————-
# Frontend (UI)
# —————————————-
frontend:
# The visual theme for the web interface. Options: ‘glassx’.
theme: glassx
# URL for the logo. Can be a web link or a local file path (e.g., ‘/logo.png’).
logo_url: /logo.png
# A message to display on the homepage.
announcement: Welcome to [ Name ]!

# —————————————-
# Email (SMTP)
# —————————————-
smtp:
host: smtp.qq.com
port: 587
username: [email protected]
password: your_email_password
from: [email protected]
enable_ssl: true
# Subject (title) of the verification code email
email_subject: VerifyMC Verification Code

# —————————————-
# Sync Settings (for bukkit mode)
# —————————————-
# If true, automatically syncs changes from whitelist.json to the plugin’s database.
whitelist_json_sync: true
# If true, automatically adds approved users to whitelist.json and removes banned/deleted users.
auto_sync_whitelist: true
# If ‘bukkit’ mode is disabled, this setting (if true) cleans players from whitelist.json.
auto_cleanup_whitelist: true

# —————————————-
# Auto Update & Backup
# —————————————-
# If true, automatically adds new settings to your config.yml on plugin updates.
auto_update_config: true
# If true, automatically updates the language files.
auto_update_i18n: true
# If true, automatically updates the email templates.
auto_update_email: true
# If true, automatically updates theme files.
auto_update_static: true
# If true, creates a full backup of the plugin data folder before any auto-updates.
backup_on_update: true

# —————————————-
# Email Registration Restrictions
# —————————————-
# Enable email domain whitelist
enable_email_domain_whitelist: true
# Enable email alias limit (e.g. forbid [email protected])
enable_email_alias_limit: false
# Email domain whitelist. Leave empty to use default mainstream domains
email_domain_whitelist:
– gmail.com
– 163.com
– 126.com
– qq.com
– outlook.com
– hotmail.com
– icloud.com
– yahoo.com
– foxmail.com

# —————————————-
# Storage & Data Migration
# —————————————-
storage:
# Storage type, options: data (local file), mysql (external database)
type: data
# Whether to automatically migrate data from the original storage to the new storage when switching storage.type (e.g., data→mysql or mysql→data)
auto_migrate_on_switch: false
mysql:
host: localhost
port: 3306
database: verifymc
user: root
password: yourpassword

# —————————————-
# Authme Integration Configuration
# —————————————-
authme:
# Whether to enable Authme integration functionality
enabled: true
# Whether to require password input during web registration
require_password: true
# Whether to automatically register to Authme when approval is granted
auto_register: false
# Whether to automatically unregister from Authme when user is deleted
auto_unregister: false
# Password regex pattern
password_regex: “^[a-zA-Z0-9_]{3,16}$”

# —————————————-
# Captcha Configuration
# —————————————-
# Captcha can be used as an alternative or supplement to email verification
# Add ‘captcha’ to auth_methods to enable: auth_methods: [captcha]
# Or use both: auth_methods: [email, captcha]
captcha:
# Captcha type: math (math expression) or text (random characters)
type: math
# Length of text captcha (ignored for math type)
length: 4
# Captcha expiration time in seconds
expire_seconds: 300

# —————————————-
# Bedrock Player Support
# —————————————-
# For Geyser/Floodgate bedrock players
bedrock:
# Whether to enable bedrock player support
enabled: false
# Prefix for bedrock players (commonly “.” for Floodgate)
prefix: “.”
# Regex for bedrock usernames
username_regex: “^\.[a-zA-Z0-9_\s]{3,16}$”

# —————————————-
# Questionnaire Configuration
# —————————————-
# Detailed questions are configured in questionnaire.yml
questionnaire:
# Whether to enable questionnaire feature
enabled: false
# Minimum score to pass
pass_score: 60
# Auto-approve users who pass the questionnaire
auto_approve_on_pass: false

# —————————————-
# Discord Integration (OAuth2)
# —————————————-
# Requires creating a Discord application at https://discord.com/developers/applications
discord:
# Whether to enable Discord integration
enabled: false
# Discord application client ID
client_id: “”
# Discord application client secret
client_secret: “”
# OAuth2 redirect URI
redirect_uri: “https://yourdomain.com/api/discord/callback”
# Optional: require users to be in specific guild/server
guild_id: “”
# Whether Discord linking is required for registration
required: false

“`

## 💬 Official Community

– **QQ Group**: 1041540576 ([Join](https://qm.qq.com/q/F7zuhZ7Mze))
– **Discord**: [https://discord.gg/TCn9v88V](https://discord.gg/TCn9v88V)

> ❤️ If you like this project, please Star, share, and give us feedback!

VeloraSafeTeleport

# VeloraSafeTeleport

VeloraSafeTeleport is a Paper plugin designed to prevent unsafe teleports and eliminate common teleport-related exploits. It validates teleport destinations before players land, protecting your server from glitches involving ender pearls, chorus fruit, and other teleport mechanics.

Built for modern servers, VeloraSafeTeleport ensures safe movement handling, prevents clipping exploits, and gives full control over where players are allowed to teleport.

## Features
– Ender pearl safety checks
– Chorus fruit safety checks
– Unsafe destination blocking
– Space validation for teleport locations
– World border support
– Custom bounds support
– Configurable teleport cause filtering
– Last safe location fallback system
– Lightweight and highly configurable

## New (v1.1.0-BETA)
– Added full Folia support
– Improved thread safety using VeloraEngine scheduler
– Optimized teleport validation performance
– Better stability on modern Paper/Folia servers

## Requirements
– Requires the latest version of VeloraEngine
– Supported platforms:
– Paper
– Purpur
– Folia

## How it works
VeloraSafeTeleport validates every teleport before it happens:
– Checks if the destination is inside a valid region
– Ensures enough space for the player
– Prevents teleporting into solid or illegal blocks
– Cancels unsafe teleports and applies fallback logic

## Notes
– This plugin is currently in beta
– Features and behavior may change between versions
– Recommended for servers that want extra protection against:
– teleport clipping
– wall glitches
– escape exploits

## Configuration
VeloraSafeTeleport is designed to be simple and flexible:
– Enable/disable specific teleport causes
– Configure safe bounds and limits
– Customize fallback behavior

## Future Plans
– More advanced anti-exploit checks
– Additional teleport validation rules
– Performance optimizations
– Expanded API & integration support

## Support
If you encounter issues or have suggestions, feel free to open an issue or contribute.

VeloraEngine

# VeloraEngine

VeloraEngine is the shared core library for Velora Paper plugins. It provides common utilities, command helpers, configuration tooling, messaging support, coroutine integration, and other reusable systems used across the Velora plugin ecosystem.

This project is designed to eliminate duplicated code, enforce consistent architecture, and provide a stable, scalable foundation for Velora-powered Minecraft servers.

## Features
– Shared Paper plugin base utilities
– Advanced scheduler with full Folia support (player/location/global execution)
– HookManager system for cross-plugin integrations
– PlaceholderAPI expansion system with custom namespaces
– Common command framework integration (Cloud)
– Configuration helpers and serializers (Okaeri)
– Messaging and component utilities (MiniMessage/Adventure)
– Coroutine-friendly plugin support (MCCoroutine)
– Built-in caching and async handling systems
– Reusable internal systems for Velora plugins

## Supported Platforms
– Paper
– Purpur
– Folia

## New (v1.1.0)
– Added full Folia support
– Introduced HookManager system
– Added PlaceholderAPI hook & expansion system
– Improved scheduler for thread-safe execution
– Enhanced coroutine handling and async safety
– Refactored internal architecture for better maintainability

## Requirements
– Paper / Purpur / Folia (1.21+)
– Java 21

## How it works
VeloraEngine acts as a shared backbone for all Velora plugins:

– Provides a unified scheduler for safe async + sync execution
– Handles cross-plugin communication via hooks
– Supplies reusable utilities for commands, configs, and messaging
– Ensures consistent development patterns across all plugins

## Notes
– VeloraEngine is a dependency/library project for other Velora plugins
– It is not intended to be used as a standalone gameplay plugin
– Only install it if a Velora plugin requires it
– Keep VeloraEngine updated to ensure compatibility with dependent plugins

## Future Plans
– Extended hook system (multi-provider support)
– Additional performance optimizations
– Expanded API for external plugin developers
– Improved debugging and monitoring tools

## Support
If you encounter issues or have suggestions, feel free to open an issue or contribute.

VelocityTitle

# VelocityTitle

**VelocityTitle** is a title plugin designed for **Minecraft Velocity networks**.

It stores and manages player title data on the **Velocity proxy**, then synchronizes data between the proxy and backend servers through plugin messaging channels. Titles can finally be displayed on backend servers through **PlaceholderAPI**, with **GUI support planned** for future versions.

This project is mainly intended to provide an **open-source and free solution** for cross-server title systems, especially for server networks that want to share prefixes, suffixes, and title data across multiple backend servers.

## Features

– Designed for Velocity server networks
– Centralized title data management on the Velocity proxy
– Cross-server synchronization
– PlaceholderAPI support for displaying prefix and suffix
– Supports creating, editing, deleting, granting, revoking, and wearing titles
– Command confirmation system for safer management
– Open-source and free to use

## Installation

1. Download the correct plugin build for your platform
2. Install the plugin on the corresponding server
3. **Velocity installation is required**, otherwise the plugin will not work
4. Complete the configuration according to the config files
5. If you want to display titles, use these PAPI placeholders:
– `velocitytitle_prefix`
– `velocitytitle_suffix`

## Notes

– `core` is not a standalone plugin and cannot be installed directly
– `reload` is currently unstable and not recommended
– Title names should only use English letters and underscores
– You can wrap display text in double quotes to input Chinese or other spaced text

## Links

– GitHub:
– Issues:
– Releases:

VelocityReport

[![image](https://i.imgur.com/46IouRo.png)](https://github.com/Syrent/VelocityReport)
[![image](https://i.imgur.com/J9wNr1T.png)](https://modrinth.com/plugin/velocityvanish)
[![image](https://i.imgur.com/I5r8RZg.png)](https://modrinth.com/plugin/enhancedvelocity)
[![image](https://i.imgur.com/B4jL8Hr.png)](https://discord.gg/SW3NeujBmh)

## Easy to install
There isn’t that many usable Report plugin out there and there is an almost zero usable report plugin for Velocity networks. VelocityReport also supports multiple platforms like Spigot, Paper, Purpur, etc… as a back-end server.
## Feature packed
Everything you want and need from a report plugin for your Minecraft server is right here! There are a lot of features like BookGUI, different report stages, rewards, RGB/gradient/component messages, custom report reasons, and much more…
Also, there is a bunch of API methods and events that you can use to create addons for the plugin and add new features.
## Quality support
You’re able to [join our Discord](https://discord.gg/VZk2XU3kFg) and get help very quickly, up to instantly.
## Up to date
The plugin is not abandoned. It is constantly getting updated to fix reported bugs and get new optimizations that can help it run as smoothly as possible, whilst still doing what you want it to do.
## Multiple database types
You can use MySQL and SQLite as your database type.
## High performance
Unlike other plugins where “high performance” often means your CPU usage will be high, VelocityReport has an async database update that means there is no lag spike and high thread loads on your server.

VelKoth

VelKoth Banner

# VelKoth

A modern, high-performance **King of the Hill (KoTH)** plugin built for PaperMC 1.21+ utilizing Java 21 features.

VelKoth supports multiple capture modes (`CAPTURE` and `SCORE`), O(1) mathematical region boundary checks for supreme performance, an automated integrated scheduler, and a robust configurable database-backed reward and statistics system.

## 🚀 Features

– **Modern Architecture**: Compiled against Paper 1.21+ using Java 21, **Folia-supported Regional/Entity Schedulers**, and the Incendo Cloud V2 native Brigadier command framework.
– **Multiple Capture Modes**:
– `CAPTURE`: Traditional KoTH where one player must hold the hill uninterrupted for the duration.
– `SCORE`: Point-based KoTH where players accumulate capture seconds until they reach the target score.
– **High Performance Regions**: Both Cuboid and Cylinder regions utilise O(1) containment algorithms removing loop-based block checks for zero server TPS impact.
– **Team Plugin Integrations**: Fully supports team and faction capturing! Players in the same team, faction, or party can capture hills together without contesting. Supports 12+ plugins natively.
– **Advanced Display Visuals**: Leverages modern Paper Adventure API to push ActionBars, custom BossBars, on-screen Titles, Particle effects, and Sounds. Includes **FastBoard-powered Scoreboards** (with smart-overrides for plugins like TAB and SimpleScore) and native **Paper TextDisplay Holograms** that are fully chunk-safe.
– **Robust Storage System**: Fully asynchronous SQLite/MySQL HikariCP connection pooling storing player total wins, daily wins, and weekly wins.
– **bStats Metrics Integration**: Uses anonymous metrics tracking to keep developers informed on adoption rates and usage.
– **Scheduler Integration**: Define exactly when specific arenas should run via Cron-like syntax or simple time formats. Now supports **Dynamic Scheduling** via in-game commands.
– **Dynamic Configuration**: Built on Okaeri Configs for instant YAML hot-reloading. Every system message, GUI layout, and internal setting can be modified.
– **Comprehensive Rewards**: Execute commands, distribute ItemStacks (with overflow drop handling), or give Vault Economy money to the winners.
– **Enhanced PlaceholderAPI**: Comprehensive support for multi-arena events, absolute/specific next event countdowns, and human-readable time formatting.
– **Developer API**: Features a full suite of Bukkit Events (`KothStartEvent`, `KothWinEvent`, `KothCaptureStartEvent`, etc.) and a static `VelKothAPI` state accessor for developers.

## ⚙️ Dependencies

– **PaperMC** 1.21.x+
– **Java 21**
– [Vault](https://www.spigotmc.org/resources/vault.34315/) *(Optional – Required for Economy rewards)*
– [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) *(Optional – Exposes extensive placeholders)*
– `%koth_arena[_]%`, `%koth_time[_formatted][_]%`
– `%koth_owner[_]%`, `%koth_players[_]%`
– `%koth_next_arena[_]%`, `%koth_next_time[_formatted][_]%`
– **Supported Team Plugins** *(Optional – Allows team members to capture together)*
– BetterTeams, Factions (UUID/Saber), GangsPlus, Guilds, KingdomsX
– SuperiorSkyblock2, Towny Advanced, UltimateClans, Parties, AxParties
– LandClaimPlugin (Custom hook)

## 🛠️ Usage & Setup

### Creating an Arena

1. Grab the KoTH Wand by typing `/koth wand`.
2. Left-Click one corner of your hill, and Right-Click the opposite corner.
3. Type `/koth create ` to save the region.
4. Modify specific rules, timers, and rewards for this arena in the generated `plugins/VelKoth/arenas.yml` configuration!

### Administering Events

– Start an event manually: `/koth start `
– Pause an ongoing event (maintaining times/scores): `/koth pause `
– Stop an event completely: `/koth stop `
– Configure automatic daily/weekly events in `plugins/VelKoth/config.yml`.

## 🪧 Commands

VelKoth features a robust, auto-completing Brigadier command hierarchy.

| Command | Permission | Description |
| :— | :— | :— |
| `/koth help` | `velkoth.use` | View available commands |
| `/koth stats` | `velkoth.use` | View your personal KoTH wins (Daily/Weekly/All-time) |
| `/koth next ` | `velkoth.use` | See when is the next Koth gonna start |
| `/koth list` | `velkoth.admin` | View all arenas and their current status |
| `/koth wand` | `velkoth.admin` | Receive the region selection wand |
| `/koth create ` | `velkoth.admin` | Create a new arena from your wand selection |
| `/koth delete ` | `velkoth.admin` | Permanently delete an arena |
| `/koth start ` | `velkoth.admin` | Force start an arena immediately |
| `/koth pause ` | `velkoth.admin` | Pause an active capture session |
| `/koth resume ` | `velkoth.admin` | Resume a paused capture session |
| `/koth stop ` | `velkoth.admin` | Stop an active arena prematurely |
| `/koth schedule add

## 🎁 Rewards

VelKoth supports a powerful reward system that can be managed entirely in-game or via `arenas.yml`. Rewards are granted to the winning player (or all online members of a team/faction if team hooks are active).

### Supported Reward Types

| Type | Format | Example |
| :— | :— | :— |
| **Command** | `COMMAND:` or `` | `COMMAND:give %player% netherite_ingot 1` |
| **Economy** | `ECONOMY:` | `ECONOMY:1000` (Requires Vault) |
| **Item** | `ITEM:[:]` | `ITEM:GOLD_BLOCK:3` |

### Reward Placeholders
* `%player%`: Name of the winner.
* `%arena%`: ID of the arena.

### Viewing Rewards
You can see exactly what rewards are configured for an arena using:
` /koth reward list `
This will display a numbered list of rewards with human-readable descriptions (e.g., *Command: give diamond 1*).

## 📜 Permissions

– **`velkoth.use`**: Default permission granted to all players allowing them to view help and check their personal statistics.
– **`velkoth.admin`**: Default OP permission granting full administrative access to edit arenas, bypass timers, and trigger events.

## 📦 Building from Source

To compile the standalone shadow JAR natively (including the Cloud command libraries and Okaeri configs):

“`bash
git clone https://github.com/YourName/VelKoth.git
cd VelKoth
./gradlew clean shadowJar
“`

Your compiled plugin will be deposited in `/build/libs/`.

VeinMiner Enchantment

[![dono-badge](https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/donate/kofi-singular_vector.svg)](https://ko-fi.com/miraculixx/donate)
[![veinminer-badge](https://cdn.modrinth.com/data/cached_images/625146681182f85ef448f5c910e4cd28ec6cf604.png)](https://modrinth.com/mod/veinminer)
[![client-badge](https://cdn.modrinth.com/data/cached_images/9badc43c5a3708f90d24088df4f37c03acc943b8.png)](https://modrinth.com/project/veinminer-client)

## ⛏️ Veinminer Enchantment

Addon for the popular [Veinminer](https://modrinth.com/project/veinminer) mod/plugin/data-pack that limits the use of veinmining to a new custom enchantment `Veinmine`! As long as this addon is installed, veinmining is only possible with the enchantment (still respecting block rules and settings).

## ⚠ Important
[**Veinminer**](https://modrinth.com/project/veinminer) needs to be installed too for this addon to work!

![Veinmine Enchant on Pickaxe](https://cdn.modrinth.com/data/cached_images/1228e4a9540a344e54ac41e6b33a9bb1a63ea33b.png)

## ⚙ Settings
**DataPack**: open the zip file and navigate to `data/veinminer-enchantment/enchantment/veinminer.json`
**Fabric/Quilt/NeoForge**: open the jar file (winrar, 7zip, …) and navigate to `data/veinminer-enchantment/enchantment/veinminer.json`
**Paper/Folia**: navigate to `plugins/veinminer/enchantmentSettings.json`

| ID | Default | Description |
|:————:|:——-:|:————————————————————-:|
| `weight` | 1 | How often the enchantment appears (higher -> more common) |
| `min_cost` | 15 | At which level the enchantment appears in table |
| `max_cost` | 65 | At which level the enchantment stops appearing in table |
| `anvil_cost` | 7 | How much level combining in anvil costs (stacked with others) |

The enchantment name is defined by a translatable key `enchantment.veinminer-enchantment.veinminer` and defaults to `Veinmine`.