xLogin

# 🛡️ xLogin – Simple, Lightweight & Powerful Authentication

![banner-es](https://cdn.modrinth.com/data/cached_images/694ac454be5c859a82ded0fb53c1839a6af34045_0.webp)

**xLogin** is an all-in-one authentication system designed for servers that want maximum security without the bloat. Forget about complex external database setups; xLogin is optimized to work locally, fast, and secure out of the box, whether you run a standalone server or a massive Proxy network.

> Note: /premium is only available for networks and proxies. Compatible with Bungeecord, Velocity, Waterfall, and others.
How do I activate proxy mode?
Go to config.yml and enable proxy mode, then download and install the add-on for your proxy, and you’re all set!

## 🚀 Key Features

* **🌐 Smart Network & Proxy Ready:** Fully compatible with **BungeeCord** and **Velocity**. Features auto-detection to enable secure UUID verification and includes an automatic Auth-Lobby redirect system to send players to a specific server upon successful login.
* **📦 Local-First Storage & Backups:** High-performance, thread-safe H2 database system (`data.mv.db`). No need for MySQL to get professional network-level performance. Easily create instant database backups via in-game commands!
* **💎 Smart Premium System:** Using an official Minecraft account? Players can use `/premium` to enable auto-login. The plugin uses real Mojang validation (via your Proxy) to ensure nobody can steal a premium identity.
* **🧠 Industrial-Grade Security:**
* **BCrypt Hashing:** Passwords are encrypted with the industry standard, making them virtually impossible to crack.
* **Premium Name Impersonation Protection:** Automatically kicks non-premium players trying to join with the username of an official purchased account.
* **Anti-Bot Captcha:** A visual verification system during registration to stop bot attacks in their tracks.
* **Total Protection:** Blindness, immobilization, and block/damage protection until the user is authenticated.
* **Asynchronous Logging:** Keeps a silent, detailed history of logins, registrations, and admin actions.
* **🖼️ Ultimate Admin Control:** Manage everything from the console or in-game. Features an intuitive visual GUI menu with player heads, plus a massive arsenal of commands to purge inactive users, force logins, change UUIDs, and more.
* **📱 Bedrock Support (Geyser):** Fully compatible with console and mobile players via Floodgate integration. Bedrock players authenticated via Xbox Live can automatically bypass the login screen (100% configurable).
* **⚡ Performance Optimized:** Fully asynchronous database operations ensure your TPS stays at 20.0, no matter how many players are joining.

## 🛠️ Commands & Permissions

### Player Commands
| Command | Description | Permission |
| :— | :— | :— |
| `/login ` | Log in to your account. | None |
| `/register ` | Create a new account with captcha. | None |
| `/premium [confirm]` | Toggle Auto-login (Premium Mode). | None |
| `/changepassword ` | Securely change your current password. | None |
| `/captcha ` | Solve the registration captcha. | None |

### Admin Commands (`xlogin.admin`)
| Command | Description |
| :--- | :--- |
| `/xlogin gui` | Open the visual administration menu. |
| `/xlogin backup` | Create an instant backup of the database. |
| `/xlogin purge ` | Delete all accounts inactive for ``. |
| `/xlogin verify ` | View a player's UUID, IP, Premium status, & last login. |
| `/xlogin forcelogin ` | Forcefully log a player into the server. |
| `/xlogin setspawn` / `spawn` | Set or teleport to the login spawn location. |
| `/xlogin changepass ` | Forcefully change a player's password. |
| `/xlogin changeuuid ` | Manually update a player's registered UUID. |
| `/xlogin unpremium ` | Remove the premium auto-login status from an account. |
| `/xlogin unban ` | Remove an IP from the registration blacklist. |
| `/xlogin unregister ` | Completely delete a player's account. |
| `/xlogin reload` | Reload the plugin configuration and messages. |

---

## ⚙️ Simplified Configuration

We've stripped the config down to the essentials so you don't waste time, while giving you absolute control over your network.

### `config.yml`

```yaml
# -------------------------------------------------------
# __ _
# __ __ / / ___ __ _(_)_ __
# / // / / _ / _` | | '_ Made by xPlugins
# > '
before-register:
title: '&#FAD7A0Register!'
subtitle: '&fUse /register '
after-login:
title: '&#A9DFBFSuccess!'
subtitle: '&fEnjoy your stay'
incorrect-password:
title: '&#F1948AIncorrect Password!'
subtitle: '&7Please try again'

logging:
enabled: true
log-successful-logins: true
log-registrations: true
log-failed-attempts: true
log-admin-actions: true

XLeaderboardX

✦ LeaderboardPlugin ✦
A simple, beautiful leaderboard system for your Minecraft server!

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

📊 What it does:
– Shows top 20 players by playtime
– Displays player heads with their skins
– Tracks playtime and kills automatically
– Opens a fake chest GUI (no real chest needed)

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

🏆 Ranks:
#1 CHAMPION 👑 (Gold)
#2 MASTER ★ (White)
#3 ELITE ✦ (Dark Aqua)
#4-20 WARRIOR ▪ (Gray)

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

⚡ Commands:

Players:
/leaderboard – Open the leaderboard
/lb – Shortcut
/top – Shortcut

Admins:
/lbadmin addfake – Create fake player
/lbadmin removefake – Remove fake player
/lbadmin setplaytime – Set playtime
/lbadmin setkills – Set kills
/lbadmin addkills – Add kills
/lbadmin listfake – List fake players
/lbadmin reset – Reset player stats
/lbadmin reload – Reload data

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

🛡️ Features:
– Auto-saves every 5 minutes
– Anti-theft protection (no stealing items)
– Fake players for competition
– Works on 1.13 – 1.21.1
– No database needed (uses JSON files)
– Lightweight and fast

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

📥 Installation:
1. Drop the .jar file into your plugins folder
2. Restart your server
3. Run /leaderboard

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

📁 Data Location:
plugins/LeaderboardPlugin/leaderboard_data.json

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

💾 Supported Versions:
1.13 – 1.21.11 (Paper, Purpur)

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

Made for Minecraft servers – Simple, clean, and effective!

XLeaderboards

![XLeaderBoards Banner](https://i.imgur.com/r8gOjSU.png)

This plugin is designed for users seeking a fast and efficient leaderboard system, supporting time-based rankings such as **daily**, **weekly**, **monthly**, and **permanent** leaderboards. Everything is handled through **placeholders**, eliminating the need for NPCs or menus. Its main strength lies in the ease of setting up time-based leaderboards—an area where few plugins truly excel.

| XPlayerKits | XLeaderboards | StellarProtect |
| — | — | — |

![XLeaderBoards Features](https://i.imgur.com/P8yEx9V.png)

### Features

– **Fully Reworked Core:** XLeaderBoards has been completely redesigned to support both **SQLite** and **MySQL**, allowing the plugin to scale effortlessly and efficiently with large amounts of data.
– **Improved Performance:** Successfully tested with over 2 million real records, capable of updating them in under one minute.
– **Timed Leaderboards:** Efficient ranking system with full support for **daily**, **weekly**, **monthly**, and **permanent** leaderboards.
– **Easy Setup:** Create and configure leaderboards easily using just placeholders.
– **Unlimited Possibilities:** Thanks to placeholder-based logic, you can create tops for any plugin—even if it lacks native support. XLeaderBoards handles number formatting and comparison automatically.
– **Player Ranking:** Shows each player’s position across all leaderboards (daily, weekly, etc.) with built-in placeholder support.
– **Command Improvements:** New features like **tab-completion** and a **/reload** command have been added for easier management.
– **Optimizations:** Fully configurable write frequency, data limits, and time intervals to suit your server’s capacity and activity.
– **All Versions Supported:** Includes support for **1.21.4** to **1.21.8**. Although XLeaderBoards doesn’t rely on NMS, it includes compatibility logic for version-specific changes.
– **Folia Support:** As Folia is becoming a performance standard in modern Minecraft servers, XLeaderBoards now fully supports it—just like **StellarProtect**.
– **Top rewards:** You can set rewards for the players who are in the daily leaderboards.
– **Need More Features?** Join our [Discord](https://discord.com/invite/4R9teKVcbM) and suggest new features. We’re actively listening to community feedback!

![Setup Instructions](https://i.imgur.com/H8dWxWZ.png)

## How to Get Started

1. **Download and install the plugin.**
By default, the plugin supports **SQLite** and **MySQL** out of the box.

2. **Start your server.**
Once the plugin folder is generated, configure your database credentials depending on your chosen engine.

3. **Set up your tops.**
Use the placeholders of your choice to create customized leaderboards.

4. **Integrate with DecentHolograms or your preferred plugin.**
Ensure that your chosen plugin supports PlaceholderAPI, and follow the example configuration provided below.

5. **Refer to the placeholders section.**
All available formats for placeholders are listed in the dedicated section.

DecentHolograms Example Config

“`yaml
location: Spawnb:6.022:33.500:11.943
enabled: true
display-range: 48
update-range: 48
update-interval: 20
facing: 0.0
down-origin: false
pages:
– lines:
– content: ‘#ICON: PLAYER_HEAD (eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWM2ZTYwNGJkNTNkOTc4ODc1OTVhMDYyYjdjNTEyY2E0ZGJiZmU0OGJiNGFkY2VmNzEyNWQxZGIxMDNhYjdmZiJ9fX0=)’
height: 0.7
– content: ‘#F4F149&lJ#F5F246&lU#F5F242&lG#F6F33F&lA#F7F33B&lD#F8F438&lO#F8F535&lR#F9F531&lE#FAF62E&lS
#FBF727&lM#FBF727&lI#FBF727&lL#FBF727&lL#FBF727&lO#FBF727&lN#FBF727&lA#FBF727&lR#FBF727&lI#FBF727&lO#FBF727&lS’
height: 0.3
– content: ‘&7(La riqueza y ellos son uno)’
height: 0.3
– content: ”
height: 0.3
– content: ‘#FBF727#1. &f%xleaderboard_top_coins;daily;top_name;1% &8- #FBF727%xleaderboard_top_coins;daily;top_value;1%
#FAFF2E⛃’
height: 0.3
– content: ‘#FBF727#2. &f%xleaderboard_top_coins;daily;top_name;2% &8- #FBF727%xleaderboard_top_coins;daily;top_value;2%
#FAFF2E⛃’
height: 0.3
– content: ‘#FBF727#3. &f%xleaderboard_top_coins;daily;top_name;3% &8- #FBF727%xleaderboard_top_coins;daily;top_value;3%
#FAFF2E⛃’
height: 0.3
– content: ‘#FBF727#4. &f%xleaderboard_top_coins;daily;top_name;4% &8- #FBF727%xleaderboard_top_coins;daily;top_value;4%
#FAFF2E⛃’
height: 0.3
– content: ‘#FBF727#5. &f%xleaderboard_top_coins;daily;top_name;5% &8- #FBF727%xleaderboard_top_coins;daily;top_value;5%
#FAFF2E⛃’
height: 0.3
– content: ‘&r’
height: 0.3
– content: ‘&8► &fTu posición: #FBF727#%xleaderboard_ranking_daily_coins% &8- #FBF727%xleaderboard_amount_daily_coins%
#FAFF2E⛃ &8◄’
height: 0.3
– content: ‘&r’
height: 0.3
– content: ‘#F4F149&l[Diario] &7[Semanal] [Mensual] [Permanente]’
height: 0.3
actions:
RIGHT:
– NEXT_PAGE:tops_DINERO
– SOUND:UI_BUTTON_CLICK:0.7:2.7

– lines:
– content: ‘#ICON: PLAYER_HEAD (eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWM2ZTYwNGJkNTNkOTc4ODc1OTVhMDYyYjdjNTEyY2E0ZGJiZmU0OGJiNGFkY2VmNzEyNWQxZGIxMDNhYjdmZiJ9fX0=)’
height: 0.7
– content: ‘#F4F149&lJ#F5F246&lU#F5F242&lG#F6F33F&lA#F7F33B&lD#F8F438&lO#F8F535&lR#F9F531&lE#FAF62E&lS
#FBF727&lM#FBF727&lI#FBF727&lL#FBF727&lL#FBF727&lO#FBF727&lN#FBF727&lA#FBF727&lR#FBF727&lI#FBF727&lO#FBF727&lS’
height: 0.3
– content: ‘&7(La riqueza y ellos son uno)’
height: 0.3
– content: ”
height: 0.3
– content: ‘#FBF727#1. &f%xleaderboard_top_coins;weekly;top_name;1% &8- #FBF727%xleaderboard_top_coins;weekly;top_value;1%
#FAFF2E⛃’
height: 0.3
– content: ‘#FBF727#2. &f%xleaderboard_top_coins;weekly;top_name;2% &8- #FBF727%xleaderboard_top_coins;weekly;top_value;2%
#FAFF2E⛃’
height: 0.3
– content: ‘#FBF727#3. &f%xleaderboard_top_coins;weekly;top_name;3% &8- #FBF727%xleaderboard_top_coins;weekly;top_value;3%
#FAFF2E⛃’
height: 0.3
– content: ‘#FBF727#4. &f%xleaderboard_top_coins;weekly;top_name;4% &8- #FBF727%xleaderboard_top_coins;weekly;top_value;4%
#FAFF2E⛃’
height: 0.3
– content: ‘#FBF727#5. &f%xleaderboard_top_coins;weekly;top_name;5% &8- #FBF727%xleaderboard_top_coins;weekly;top_value;5%
#FAFF2E⛃’
height: 0.3
– content: ‘&r’
height: 0.3
– content: ‘&8► &fTu posición: #FBF727#%xleaderboard_ranking_weekly_coins% &8- #FBF727%xleaderboard_amount_weekly_coins%
#FAFF2E⛃ &8◄’
height: 0.3
– content: ‘&r’
height: 0.3
– content: ‘&7[Diario] #F4F149&l[Semanal] &7[Mensual] [Permanente]’
height: 0.3
actions:
LEFT:
– PREV_PAGE:tops_DINERO
– SOUND:UI_BUTTON_CLICK:0.7:2.7
RIGHT:
– NEXT_PAGE:tops_DINERO
– SOUND:UI_BUTTON_CLICK:0.7:2.7

– lines:
– content: ‘#ICON: PLAYER_HEAD (eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWM2ZTYwNGJkNTNkOTc4ODc1OTVhMDYyYjdjNTEyY2E0ZGJiZmU0OGJiNGFkY2VmNzEyNWQxZGIxMDNhYjdmZiJ9fX0=)’
height: 0.7
– content: ‘#F4F149&lJ#F5F246&lU#F5F242&lG#F6F33F&lA#F7F33B&lD#F8F438&lO#F8F535&lR#F9F531&lE#FAF62E&lS
#FBF727&lM#FBF727&lI#FBF727&lL#FBF727&lL#FBF727&lO#FBF727&lN#FBF727&lA#FBF727&lR#FBF727&lI#FBF727&lO#FBF727&lS’
height: 0.3
– content: ‘&7(La riqueza y ellos son uno)’
height: 0.3
– content: ”
height: 0.3
– content: ‘#FBF727#1. &f%xleaderboard_top_coins;monthly;top_name;1% &8- #FBF727%xleaderboard_top_coins;monthly;top_value;1%
#FAFF2E⛃’
height: 0.3
– content: ‘#FBF727#2. &f%xleaderboard_top_coins;monthly;top_name;2% &8- #FBF727%xleaderboard_top_coins;monthly;top_value;2%
#FAFF2E⛃’
height: 0.3
– content: ‘#FBF727#3. &f%xleaderboard_top_coins;monthly;top_name;3% &8- #FBF727%xleaderboard_top_coins;monthly;top_value;3%
#FAFF2E⛃’
height: 0.3
– content: ‘#FBF727#4. &f%xleaderboard_top_coins;monthly;top_name;4% &8- #FBF727%xleaderboard_top_coins;monthly;top_value;4%
#FAFF2E⛃’
height: 0.3
– content: ‘#FBF727#5. &f%xleaderboard_top_coins;monthly;top_name;5% &8- #FBF727%xleaderboard_top_coins;monthly;top_value;5%
#FAFF2E⛃’
height: 0.3
– content: ‘&r’
height: 0.3
– content: ‘&8► &fTu posición: #FBF727#%xleaderboard_ranking_monthly_coins% &8- #FBF727%xleaderboard_amount_monthly_coins%
#FAFF2E⛃ &8◄’
height: 0.3
– content: ‘&r’
height: 0.3
– content: ‘&7[Diario] [Semanal] #F4F149&l[Mensual] &7[Permanente]’
height: 0.3
actions:
LEFT:
– PREV_PAGE:tops_DINERO
– SOUND:UI_BUTTON_CLICK:0.7:2.7
RIGHT:
– NEXT_PAGE:tops_DINERO
– SOUND:UI_BUTTON_CLICK:0.7:2.7

– lines:
– content: ‘#ICON: PLAYER_HEAD (eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWM2ZTYwNGJkNTNkOTc4ODc1OTVhMDYyYjdjNTEyY2E0ZGJiZmU0OGJiNGFkY2VmNzEyNWQxZGIxMDNhYjdmZiJ9fX0=)’
height: 0.7
– content: ‘#F4F149&lJ#F5F246&lU#F5F242&lG#F6F33F&lA#F7F33B&lD#F8F438&lO#F8F535&lR#F9F531&lE#FAF62E&lS
#FBF727&lM#FBF727&lI#FBF727&lL#FBF727&lL#FBF727&lO#FBF727&lN#FBF727&lA#FBF727&lR#FBF727&lI#FBF727&lO#FBF727&lS’
height: 0.3
– content: ‘&7(La riqueza y ellos son uno)’
height: 0.3
– content: ”
height: 0.3
– content: ‘#FBF727#1. &f%xleaderboard_top_coins;permanent;top_name;1% &8- #FBF727%xleaderboard_top_coins;permanent;top_value;1%
#FAFF2E⛃’
height: 0.3
– content: ‘#FBF727#2. &f%xleaderboard_top_coins;permanent;top_name;2% &8- #FBF727%xleaderboard_top_coins;permanent;top_value;2%
#FAFF2E⛃’
height: 0.3
– content: ‘#FBF727#3. &f%xleaderboard_top_coins;permanent;top_name;3% &8- #FBF727%xleaderboard_top_coins;permanent;top_value;3%
#FAFF2E⛃’
height: 0.3
– content: ‘#FBF727#4. &f%xleaderboard_top_coins;permanent;top_name;4% &8- #FBF727%xleaderboard_top_coins;permanent;top_value;4%
#FAFF2E⛃’
height: 0.3
– content: ‘#FBF727#5. &f%xleaderboard_top_coins;permanent;top_name;5% &8- #FBF727%xleaderboard_top_coins;permanent;top_value;5%
#FAFF2E⛃’
height: 0.3
– content: ‘&r’
height: 0.3
– content: ‘&8► &fTu posición: #FBF727#%xleaderboard_ranking_permanent_coins% &8- #FBF727%xleaderboard_amount_permanent_coins%
#FAFF2E⛃ &8◄’
height: 0.3
– content: ‘&r’
height: 0.3
– content: ‘&7[Diario] [Semanal] [Mensual] #F4F149&l[Permanente]’
height: 0.3
actions:
LEFT:
– PREV_PAGE:tops_DINERO
– SOUND:UI_BUTTON_CLICK:0.7:2.7
“`

config.yml

“`yaml
tops:
kills:
## This placeholder will parse to retrieve the current count of this leaderboard.
placeholder: “%statistic_player_kills%”
name: “Asesinatos”
databaseId: survival_top
debug: false
optimizations:
## Max bulk size for mongodb, if you have a lot of players, you can increase this value,
## but be careful with the memory usage.
max-bulk-size: 1000
## Max cached top entries your server loads on memory.
cached-top-entries: 10
## If you have a lot of players, you can increase this value.
ticks-between-updates: 600
## Max bulk size for resetting temporal values, this have minor size
## you can increase this value, but be careful with the memory usage.
max-reset-bulk-size: 5000
topUpdates:
daily:
minutes: 10
weekly:
minutes: 30
monthly:
hours: 3
permanent:
hours: 6
databases:
mongodb:
host: localhost
port: 27017
database: leaderboards
user: root
password: root
“`

lang.yml

“`yaml
tops:
noPermission: “&cYou don’t have permission to use this command.”
noRanking: “&6Unranked”
noTop: “&6No record”
loading: “&fLoading…”
hologram:
daily: “&6&l[Daily] &7[Weekly] [Monthly] [Permanent]”
weekly: “&7[Daily] &6&l[Weekly] &7[Monthly] [Permanent]”
monthly: “&7[Daily] &7[Weekly] &6&l[Monthly] &7[Permanent]”
permanent: “&7[Daily] &7[Weekly] &7[Monthly] &6&l[Permanent]”
daily: “Daily”
weekly: “Weekly”
monthly: “Monthly”
permanent: “Permanent”
invalidTimeType: “&cThe leaderboard time type is not valid.”
toggleWait: “&cPlease wait a bit before changing the leaderboard time.”
toggleTime: “&fThe leaderboard time is now: &e
tops: |-
&d &a

&6&l TOPS
&d &f

&d &b
topLine: “&b#<#> &8- &f &8- &e
“`
rewards.yml

“`yaml
enabled: false
rewards:
kills:
top1:
top: 1
rewards:
– “command: give diamond_sword”
– “message: &7 &a”
– “center_message: &6&lTOP &e# &6&lKILLS &f&l
– “message: &7 &d”
– “message: &7You have received a diamond sword for staying in top!”
– “message: &7 &a”
top2:
top: 2
rewards:
– “command: give iron_sword”
– “message: &7 &a”
– “center_message: &6&lTOP &e# &6&lKILLS &f&l
– “message: &7 &d”
– “message: &7You have received a iron sword for staying in top!”
– “message: &7 &a”
top3:
top: 3
rewards:
– “command: give stone_sword”
– “message: &7 &a”
– “center_message: &6&lTOP &e# &6&lKILLS &f&l
– “message: &7 &d”
– “message: &7You have received a stone sword for staying in top!”
– “message: &7 &a”
“`

![Leaderboard Image](https://i.imgur.com/u8efQgL.png)

**TimeType:** daily/weekly/monthly/permanent

– **/xlb gettop ** » Gets the top of the day, week, month, or permanent.
– **/xlb forceupdate ** » Forces the update of the top.

![Permission Image](https://i.imgur.com/LJmO1V8.png)

– **xleaderboards.forceupdate** » Forces the update of the top.
– **xleaderboards.gettop** » Gets the top of the day, week, month, or permanent.

![Top Name Image](https://i.imgur.com/7hKZxQf.png)

**TopName:**
– **name** – This is established in the `config.yml` key. For example, in `tops.coins`, “coins” is the name of the top.

**TimeType:**
– **daily** – Displays the top player or value for the last 24 hours.
– **weekly** – Displays the top player or value for the last 7 days.
– **monthly** – Displays the top player or value for the last 30 days.
– **permanent** – Displays the top player or value permanently.

**ValueType:**
– **top_name** – Displays the player’s name at this top index position.
– **top_value** – Displays the value at this top index position.
– **top_uuid** – Displays the player’s UUID at this top index position.

**Index:**
– **min** – The minimum index is 1.
– **max** – The maximum index is the one established in the config under `cached-top-entries`.

%xleaderboard_top_;;;%

Examples

“`yaml
%xleaderboard_top_coins;daily;top_name;1%
%xleaderboard_top_coins;weekly;top_name;2%
%xleaderboard_top_coins;monthly;top_name;3%
%xleaderboard_top_coins;permanent;top_name;4%

%xleaderboard_top_coins;daily;top_value;1%
%xleaderboard_top_coins;weekly;top_value;2%
%xleaderboard_top_coins;monthly;top_value;3%
%xleaderboard_top_coins;permanent;top_value;4%
“`

%xleaderboard_ranking__%

Examples

“`yaml
%xleaderboard_ranking_daily_coins%
%xleaderboard_ranking_weekly_coins%
%xleaderboard_ranking_monthly_coins%
%xleaderboard_ranking_permanent_coins%
“`

%xleaderboard_amount__%

Examples

“`yaml
%xleaderboard_amount_daily_coins%
%xleaderboard_amount_weekly_coins%
%xleaderboard_amount_monthly_coins%
%xleaderboard_amount_permanent_coins%
“`

%xleaderboard_update_cooldown_%

Examples

“`yaml
%xleaderboard_update_cooldown_daily%
%xleaderboard_update_cooldown_weekly%
%xleaderboard_update_cooldown_monthly%
%xleaderboard_update_cooldown_permanent%
“`

%xleaderboard_reset_cooldown_%

Examples

“`yaml
%xleaderboard_reset_cooldown_daily%
%xleaderboard_reset_cooldown_weekly%
%xleaderboard_reset_cooldown_monthly%
“`

![Image 1](https://i.imgur.com/5BuQrcI.png)

| Discord | Patreon | Wiki |
| — | — | — |

![Image 2](https://i.imgur.com/21fOiFQ.png)

![Image 3](https://i.imgur.com/tHNHWtI.png)
![Image 4](https://i.imgur.com/sYiYHJE.png)
![Image 5](https://i.imgur.com/aTDUKoQ.png)
![Image 6](https://i.imgur.com/3fNNuRr.png)

More Images

![Image 7](https://i.imgur.com/AX2Q14W.png)
![Image 8](https://i.imgur.com/L5jQQxc.png)
![Image 9](https://i.imgur.com/Aw6vmxy.png)
![Image 10](https://i.imgur.com/fOk6VHJ.png)
![Image 11](https://i.imgur.com/119SaNu.png)
![Image 12](https://i.imgur.com/FJcUmLk.png)
![Image 13](https://i.imgur.com/JCdX03w.png)
![Image 14](https://i.imgur.com/DqejNEX.png)

XK’s Lazy Crafting

Skipping multi-step crafting:
Such as [​logs→planks→sticks→ladders] now [​logs→ladders]
The number of crafting has been accurately calculated
跳过多步骤合成,一步到位,数量经过精确计算

Replace unstackable materials to stackable materials to Increaseing crafting speed
Such as dispenser and chest minecart
用可堆叠的原料代替不可堆叠的原料让合成速度更高

XItemsRemover

Demo

⁣⁣⁣
XItemsRemover – is a small plugin that automatically removes dropped items with a timer displayed on these items until they are removed. The time until deletion is configured in the plugin configuration.

IMPORTANT

If you have items with displayed name ‘AIR‘ – specify ‘api-version’ in plugin.yml with version of your server!
For example, if your server version is 1.16.5, add the following line to plugin.yml of XItemsRemover:
api-version: 1.16

### Configuration
“`
Items:
# Format:
# ‘‘: “
# Available placeholders:
# {time} – time remaining before remove (in seconds)
# {display_name} – display name of itemstack (if empty – used localized material name}
# {amount} – itemstack amount
Display-name-formats:
‘1’: “§c⚠ {time} §7| §f{display_name} §a{amount}x”
’10’: “§c{time}”
Remove-timer:
# Timer for removing an item in seconds
Default: 30
After-player-death: 180
Async: true
# Section for specifying a unique timer or display name
# for certain materials
# Format:
# :
# : 15
# :
# :
#: false
# If you only need to edit one parameter
# (name or time) you can just delete the line with the second.
# If you need the plugin not to track a certain type of materials, then set ‘tracked: false’
Custom-materials:
COBBLESTONE:
Timer: 15
Display-name-formats:
’15’: “Cobblestone :D”
STONE:
Timer: 10
GRASS:
Display-name-formats:
’30’: “Grazz”
SAND:
Tracked: false

# Worlds in which plugin does not work
Restricted-worlds:
– “restricted_world”
“`

### Commands and permissions
Command | Permission
————- | ————-
‘**/itemsremover**’ [Alias: ‘**/ir**’] – prints all plugin commands. | items.remover.commands.help
‘**/itemsremover help**’ – prints all plugin commands. | items.remover.commands.help
‘**/itemsremover reload**’ – reloads plugin configurations. | items.remover.commands.reload

XItemsRemover usage stats

小赖字体 / 小賴字體 / シャオライ / Xiaolai Font

# 1
此资源包将小赖字体应用于 Minecraft,提供更为舒适的简体中文字体,并兼容所有语言。这款字体可以与任何资源包一起使用,只需置于顶部即可。需要注意的是,该字体需 Minecraft 1.13 及以上版本方可使用,无需进行任何修改。

小赖字体(/小賴字體/シャオライ/Xiaolai Font)是一款免费开源字体,其设计风格十分舒适,具有广泛的应用范围和开源特性。我仅根据许可重新分发该字体,并非其所有者。如需了解更多有关该字体的信息,[请访问其官方网站。](https://github.com/lxgw/kose-font?tab=readme-ov-file)

# 2

This resource pack applies Xiaolai font to Minecraft, providing a more comfortable simplified Chinese font and compatibility with all languages. This font can be used with any resource pack, just put it on top. Please note that this font requires Minecraft version 1.13 and above, without any modifications needed.

Xiaolai Font (/小賴字體/シャオライ/Xiaolai Font) is a free and open-source font with a very comfortable design style and wide range of applications and open-source features. I only re-distribute this font according to the license, I am not the owner. If you want to learn more about this font, [please visit its official website.](https://github.com/lxgw/kose-font?tab=readme-ov-file)

xHubBlocks

# 🧱 xHubBlocks V2
### The Ultimate Lobby Practice Plugin
**Infinite blocks. Auto-despawn. Database support.**

![Version](https://img.shields.io/badge/Version-2.0.0-blue?style=for-the-badge) ![Support](https://img.shields.io/badge/Minecraft-1.8.8%2B-green?style=for-the-badge) ![Storage](https://img.shields.io/badge/Storage-H2%20%7C%20MySQL-orange?style=for-the-badge)

__UPDATE COMING SOON!__

## 👋 Overview
**xHubBlocks** is a lightweight but powerful plugin designed for Hubs and Lobbies. It gives your players an infinite stack of blocks to practice bridging, clutching, or building while waiting in the lobby.

The best part? **The blocks disappear automatically** after a configurable time, keeping your lobby clean and lag-free.

### 🔥 What’s New in V2?
We have completely rewritten the core to include professional features:
* **Persistent Data:** Blocks placed statistics are now saved forever.
* **Database Support:** Built-in support for **H2** (local, no setup) and **MySQL** (for networks).
* **Developer API:** Hook your own plugins into xHubBlocks.
* **High Performance:** Powered by HikariCP for database connections.

## ✨ Features
* **♾️ Infinite Items:** Players get a stack of blocks that never runs out.
* **✨ Auto-Despawn:** Blocks vanish after X seconds with a satisfying particle effect.
* **🔒 Secure:** Prevents players from dropping the block or moving it in their inventory.
* **🎨 Fully Configurable:** Customize the material, name, lore, slot, and messages.
* **📊 PlaceholderAPI:** Display stats on scoreboards or holograms.
* **⚡ Legacy Support:** Works flawlessly from **1.8.8** up to the latest versions.

## 💾 Database & Storage

xHubBlocks V2 supports two storage types defined in `config.yml`:

1. **H2 (Default):** Zero configuration required. Stores data in a local file. Perfect for single servers.
2. **MySQL:** Connect to an external database. Ideal for networks or if you want to display stats on a website.

“`yaml
storage:
type: H2 # Or MYSQL
mysql:
host: “localhost”
port: 3306
database: “xhubblocks”
# …
“`

## 🏀Images
![imagen1](https://cdn.modrinth.com/data/cached_images/3972395f3d9668faad9007f5efc7a08253cde970_0.webp)
![imagen2](https://cdn.modrinth.com/data/cached_images/6d47fe68dd224937901ca1748e3a8c9dbe87c37d.png)
![imagen3](https://cdn.modrinth.com/data/cached_images/da50f9588ac8f7219c1eb34759146fd7b31506ca.png)

## 🚀 Commands & Permissions
*The commands are editable.*

| Command | Permission | Description |
| :— | :— | :— |
| `/xhubblocks` | `xhubblocks.admin` | View plugin info and help. |
| `/xhubblocks reload` | `xhubblocks.reload` | Reload the configuration file. |
| `/blocks shop` | `editable` | Block store. |

## 📊 Placeholders
Requires **PlaceholderAPI**.

* `%xhubblocks_placed_player%` – Total blocks placed by the player (Saved in DB).
* `%xhubblocks_placed_session%` – Blocks placed in the current session.
* `%xhubblocks_placed_total%` – Total blocks placed by everyone on the server.

## 👨‍💻 Developer API
Want to use xHubBlocks stats in your own plugin? It’s easy.

**1. Get the instance:**
“`java
if (Bukkit.getPluginManager().getPlugin(“xHubBlocks”) != null) {
xHubBlocksAPI api = xHubBlocksAPI.getApi();

// Get stats
int total = api.getPlayerTotalPlaced(player.getUniqueId());
}
“`

**2. Maven/Gradle:**
You can add the plugin as a dependency to your project.

## 📥 Installation
1. Download `xHubBlocks.jar`.
2. Drop it into your server’s `plugins` folder.
3. Restart your server.
4. (Optional) Edit `config.yml` to change the block style or database settings.
5. Enjoy!

![Banner](https://cdn.modrinth.com/data/cached_images/108319d581434f2a2c3f01f2e6139bdba5b54200_0.webp)

Created with ❤️ by xPlugins

XGamemode

![XGamemode Logo](https://cdn.modrinth.com/data/cached_images/1dcaf5510526bbd1af3e3b907fea79d40735b3eb.png)
### “*You’re not switching modes, you’re switching dimensions.*”

~~*2000 Downloads?! Thanks!*~~

# 1 Feature

## 1.1 Offline Player

You can change the gamemode of a player, **even he (or she) was offline**.

## 1.2 Permissions

Allow permission group plugins (_like Luckperms_) to manage **which gamemodes can be switched to** and **which gamemodes cannot be switched to**.

_e.g. Allow to switch to survival mode but not to any other mode._

## 1.3 Alias

**/gamemode** is simplified to **/gm** and **/g**.

_(of course you can still use /gamemode)_

## 1.4 Cross-Server Storage

Support **MySQL** and **SQLite** storage backends. Player gamemodes are saved and synchronized across multiple servers in a network.

## 1.5 Folia Support

**Fully compatible with Folia servers** — using region-based scheduling for optimal performance.

## 1.6 Lightweight

The Plugin size is only **~25 KB** and has **almost no impact** on server performance!

# 2 Caution

## 2.1 Shortcut Keys

If you need to use shortcut keys such as **F3+F4**, please install another plugin **F3NPerm**.

## 2.2 Versions

**1.8.X +**

**All Bukkit based server** (Paper, Spigot, Purpur, Folia, etc.)

# 3 Commands

“`markdown
– /xgamemode
– /xgamemode reload
– /gm
– /gm – /gm -all
– /gm -online
– /gm -offline

/g = /gm = /gamemode
/xg = /xgm = /xgamemode
“`

# 4 Permission Node

“`markdown
– xgamemode.survival
– xgamemode.creative
– xgamemode.adventure
– xgamemode.spectator
– xgamemode.others.survival
– xgamemode.others.creative
– xgamemode.others.adventure
– xgamemode.others.spectator
– xgamemode.reload
– xgamemode.admin
“`

# 5 Custom Config

## 5.1 Basic Settings

“`yaml
lang: en-US
“`

**Language** setting

“`yaml
default_gamemode: survival
“`

If a **new player joined your server**, **which gamemode should he (she) be**?

**survival**, **creative**, **adventure**, **spectator**

“`yaml
show_logo: true
“`

Show logo or not when plugin enabled.

**true**, **false**

“`yaml
debug: false
“`

Enable debug logging for troubleshooting.

**true**, **false**

## 5.2 Storage Configuration

“`yaml
storage:
type: yaml
“`

**Storage backend type**: **yaml**, **sqlite**, **mysql**

### SQLite Example

“`yaml
storage:
type: sqlite
# No additional config needed — data.db will be created automatically
“`

### MySQL Example

“`yaml
storage:
type: mysql
mysql:
host: localhost
port: 3306
database: minecraft
username: root
password: your_password
“`

## 5.3 Custom Messages

“`yaml
messages:
en-US: # Original en-US Language by Wind_Blood
reloaded: “&aXGamemode Reloaded!”
# ……
custom_lang: # Add Your Custom Language!
reloaded: “Thank you for using XGamemode!”
# ……
“`

**Customizable Messages**. You can add **your own new language** here!

## 5.4 An Example config.yml

“`yaml
lang: msgForMyServer
default_gamemode: survival
show_logo: false
debug: false
storage:
type: yaml
messages:
msgForMyServer:
reloaded: “很明显作者是中国人 会说中文很正常 然后我也不知道为什么我要在一堆英文里写一段中文 挺好笑的 哈哈哈 对了 看到我就是缘分 XGamemode 官方 QQ 反馈交流群:点击链接加入群聊【XGamemode 反馈群】:https://qm.qq.com/q/rpTk5LK7w4 欢迎加”
usage: “&cUsage: /gm [player/-all/-online/-offline]”
console_usage: “&cUsage: /gm
invalid_gamemode: “&cInvalid Gamemode!”
invalid_player: “&cInvalid Player!”
gamemode_self: “&aYour Gamemode Changed to {mode}!”
gamemode_all: “&aChanged All Player’s Gamemode to {mode}!”
gamemode_online: “&aAll Online Player’s Gamemode Changed to {mode}!”
gamemode_offline: “&aAll Offline Player’s Gamemode Changed to {mode}!”
no_permission: “&cYOU ARE NOT ALLOWED TO DO THAT!”
gamemode_other: “&a{player}’s Gamemode Changed to {mode}!”
gamemode_other_offline: “&a{player} (Offline)’s Gamemode Changed to {mode}!”
“`

# 6 Developer API (Async)

## Get Instance

“`java
Main plugin = Main.getInstance();
“`

## Get Player Gamemode

“`java
plugin.getPlayerMode(playerUUID).thenAccept(mode -> {
if (mode != null) {
// mode is GameMode.SURVIVAL, CREATIVE, ADVENTURE, or SPECTATOR
// Player is online or has saved data
} else {
// Player not found or no saved gamemode yet
}
});
“`

## Set Player Gamemode

“`java
plugin.setPlayerMode(playerUUID, GameMode.SURVIVAL).thenAccept(success -> {
if (success) {
// Gamemode changed and saved successfully
// Works for both online and offline players
} else {
// Failed to save (database error, etc.)
}
});
“`

## Listen to Gamemode Changes

“`java
@EventHandler
public void onGamemodeChange(GamemodeChangeEvent event) {
Player player = event.getPlayer(); // Online player only
GameMode oldMode = event.getOldMode();
GameMode newMode = event.getNewMode();
}
“`

> **Note:** All APIs are **fully async** and thread-safe. The `GamemodeChangeEvent` is only fired for **online players** when their mode is actually changed. The `getPlayerMode()` method returns `null` if the player has no saved gamemode data.

# 7 Reprint Post

www.minebbs.com/resources/xgamemode.11041

hangar.papermc.io/Wind_Blood/XGamemode

modrinth.com/plugin/xgamemode

# 8 Feedback

Just e-mail me with **[email protected]**. Thanks!

XGlow

![gif](https://github.com/Xezard/XGlow/blob/master/gif/19f2f70f-53aa-48fb-8eaa-04b5377f2071.gif?raw=true)

**Works with Java 8 and above.**

(I noticed that the **GlowAPI** from the **inventivetalent** has been abandoned, has not been updated for a long time, has bad reviews and bugs, as well as a rather low-quality code – so I decided to make and publish my own version of the api for the glow)

**XGlow** – is a simple, easy-to-use API to create glow on your entities. The plugin requires [ProtocolLib](https://github.com/dmulloy2/ProtocolLib) to work.

### Usage

First you need to create a Glow object:
(You can use a builder for this)
“`java
Glow glow = Glow.builder()
.сolor(ChatColor.GREEN)
.name(“test”)
.build();
“`
You can add entity to glow object holders,
to make this entity glow with glow object colors.
The glow of the entity will be seen by all viewers
which the glow object contains:
`glow.addHolders(entity);`

To remove the glow of an entity,
you can remove it from the glow object holders.
The entity’s glow will disappear for all viewers of the glow object:
`glow.removeHolders(entity);`
⁣⁣

You can add a viewer to the glow object so that he immediately sees the glow of all holders of the glow object:
`glow.display(player);`

When the viewer is removed from the glow object,
all holders of the glow object will
no longer glow for removed viewer:
`glow.hideFrom(player);`

⁣For more features check out XGlow wiki page on github: https://github.com/Xezard/XGlow/wiki

XG7Lobby

# I’ll record it again…

# This plugin depends on a core! Download it below:
https://modrinth.com/plugin/xg7plugins

# XG7Lobby – Complete Lobby/Hub System

## 📖 What is XG7Lobby?

**XG7Lobby** is a powerful lobby/hub management plugin designed to revolutionize the server join experience. With a wide range of configurable options, the plugin offers **more than 20 customizable features**, including: **Global PVP**, **interactive menus**, **animated scoreboard/tablist**, **custom forms for Geyser**, and much more!

## ⚡ Main Features

### 🏰 Multi-Lobby System

Configure **as many lobbies as you want**, including cross-server locations with SQL database support! Players can easily teleport using the `/lobby` command, with a configurable cooldown system and the option to teleport to a specific lobby ID.

### 🎨 Advanced Menu System

Improve your lobby experience with XG7Lobby’s menu system. You can use custom Geyser forms, personalized GUIs, and configurable hotbars — all adjustable to your liking!

### 📊 Scoreboard, Tablist, Bossbar & More

Bring your server to life with **fully animated** scoreboards, tablists, and bossbars. Display useful information such as player statistics, server status, or events in a visually appealing and dynamic way.

### 🎉 Join, Quit & First Join Events

Customize what happens when players join or leave the server, and make a great first impression on new players with a special welcome. Add messages, sounds, effects, or even rewards to make joining and leaving more memorable.

### ⚔️ Global PVP System

Does the lobby sometimes feel boring? With the global PVP system, that won’t be a problem anymore! Let players fight each other in the lobby with the powerful system provided by XG7Lobby, including full statistics for kills, deaths, and KDR.

### 🦘 Multi-Jump System

Go beyond the classic double jump! Configure triple jumps, infinite jumps, or unique jump effects to add fun mechanics to your server.

### 🚀 LaunchPad

Add excitement with customizable launchpads that throw players into the air. Perfect for hubs, lobbies, or minigame arenas with a fun and interactive touch.

### 🛡️ Complete Moderation System

Keep your server safe with robust moderation tools, including warning systems, mute, kick, ban, IP-ban, and automatic punishments based on configurable infraction levels.

### 💬 Advanced Chat Protection

A complete protection system including anti-swearing, anti-spam, and blocking unwanted commands. Keep your chat clean and organized automatically.

### 🔧 Build System

Control who can build in the lobby using the `/build` command, with full protection against block breaking and placing.

### 👻 Vanish System

Allows staff members to become invisible to other players using the `/vanish` command.

### ⚙️ Custom Commands

Add your own commands to fit your server’s style. Customize shortcuts, actions, and utilities without needing extra plugins.

### 👤 NPC & Hologram System

Create user interaction by taking advantage of the new NPC and hologram creation features!
![Preview](https://i.imgur.com/5rp3oKQ.png)

## 📋 Full Feature List

* Fully configurable
* Multiple lobbies
* Global PVP system
* Custom menus (GUI, forms, and hotbar)
* Animated scoreboard, tablist, and bossbar
* Multi-jump system
* Launchpad
* Moderation system
* World-based lobby
* Join and quit events
* First join events
* Repeating events
* Auto broadcast
* Customizable MOTD
* Build system
* Custom commands
* Vanish system
* Anti-swearing
* Anti-spam
* NPCs and holograms
* Action queue system
* Preferences menu
* Hide chat