Content generated with AI — it may contain mistakes.

Getting started

Introduction

What ExyliaAimTrainer is, what it solves, and how this documentation is organised.

ExyliaAimTrainer is an aim trainer for servers that take PvP practice seriously. A player shoots a drill alone, tuned to the target size and distance they choose, or challenges another player to a best-of duel in which both shoot the same targets at the same time. Every run is scored, every best is kept, and every drill has its own leaderboard.

The targets are not entities. Each one is sent as packets to the one player who shoots it: a block you see and an interaction box riding it that you hit. The server has nothing to tick, any number of players share one arena without seeing each other's targets, and a click is judged by the player's own client running the same hitbox test it runs on another player — exactly the way a PvP hit is judged.

What is included

Requirements

RequirementDetail
ServerPaper 1.21.4 or newer. Folia supported.
Java21
Required dependenciesExyliaLib, packetevents
Optional dependenciesPlaceholderAPI, ExyliaPracticeCore
About ExyliaLib

Typed configuration, declarative YAML menus, the database, placeholders, effects, sidebars, overlays, inventory snapshots and the player claims that keep Exylia plugins from stepping on each other all come from ExyliaLib. The plugin is written on top of it and does not run without it.

How to read this documentation

Getting started

Installation, a first arena, a first drill and a first duel within minutes.

Configuring

Drills, scoring, player settings, duels and arenas. This is where most of the time goes.

Systems

What happens during a drill, statistics and boards, the HUD, and how the plugin behaves next to the rest of the Exylia ecosystem.

Reference

Commands, permissions, placeholders, every configuration key, the menus and the developer API.

Conventions

  • Values marked as default are what the plugin writes the first time it starts. If the file already exists, your value is kept.
  • Identifiers between < and > are variables. /aim train <drill> means /aim train gridshot, not /aim train <gridshot>.
  • Times are seconds with decimals unless a key says ticks; 20 ticks are one second. Distances and sizes are blocks.
  • Colours use ExyliaLib palette tokens ({primary}, {highlight}, {muted}); MiniMessage tags such as <click> and <hover> work too, as the default duel request shows.

Something missing on this page? Tell us on Discord