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)

xJumPads

![banner](https://cdn.modrinth.com/data/cached_images/b500137230ee5a327b206bdc2364b6b59616b604.jpeg)

🌌 xJumPads

xJumPads is a powerful and highly customizable plugin that introduces advanced jump pads to your Minecraft server. Whether you’re building immersive parkour courses, interactive lobbies, or creative minigames, xJumPads gives you all the tools you need to design unique gameplay experiences with style and precision.

Jump pads can be configured to launch players in any direction, add particle effects, play sounds, or trigger special actions. Everything is easily managed through a modern GUI system and fully supports HEX colors, PlaceholderAPI, and translations for any language.

✨ Key Features

✅ Supports Minecraft 1.16+ (regularly updated to stay compatible)

🎨 Full HEX color support for vibrant messages, GUIs, and placeholders

🌍 Multi-language support: suitable for global communities

🔧 PlaceholderAPI integration for dynamic customization

📑 Intuitive in-game menu system (/xjp) to create and manage jump pads easily

🎆 Customizable effects: particles, sounds, velocities, and more

🚀 Lightweight & optimized for both small and large networks

🛡️ User-friendly permissions system

🕹️ Common Use Cases

Parkour maps with spectacular jump mechanics

Server hubs and lobbies with interactive movement features

Minigames where jump pads add strategic depth and excitement

Creative builds that benefit from mobility and visual effects

📜 Commands

/xjp menu – Opens the main xJumPads menu (easy GUI setup and management).
/xjp help – Displays the full list of available commands and usage.
/xjp create – Create a new jump pad at your current location.
/xjp remove – Remove an existing jump pad.
/xjp list – View all existing jump pads on your server.
/xjp reload – Reload configuration files without restarting the server.

⚙️ Permissions

xjumpads.admin → Full access to all commands and menus

👉 With xJumPads, you can transform your server into a dynamic playground where movement is part of the fun. From parkour challenges to stylish hub navigation, this plugin gives you complete control over how players interact with your world.

📜 Config
“`yaml
# _____ __ _
## | / / ___ _ __ | |_ _ __ _
# | | / _ | ‘_ | _| |/ _` | Plugin By
# | __/ (_) | | | | | | | (_| | WillfryDev
# ____/___/|_| |_|_| |_|__, |
# __/ | .yml
#
# Particles that will constantly appear above the JumpPad block.
# Particle list: https://jd.papermc.io/paper/1.20/org/bukkit/Particle.html
# __
# ( _/ /_
#__)/(/((-
# /
idle-particles:
enabled: true
type: “ENCHANTMENT_TABLE”
count: 15

# Effects when using a JumpPad.
launch-effects:
sound:
# Sound list: https://hub.spigotmc.org/javapods/spigot/org/bukkit/Sound.html
type: “ENTITY_ENDER_DRAGON_FLAP”
volume: 1.0 # 0.1 – 2.0
pitch: 1.2 # 0.1 – 2.0
particles:
enabled: true
type: “PORTAL”
count: 50
# __♥__♥_____♥__♥___ Want To
# _♥_____♥_♥_____♥__ Work As
# _♥______♥______♥__ A
# __♥___________♥__ Translator?
# ___♥_________♥___ Join Our
# ____♥______♥_____ Discord At
# ______♥_♥_______ https://discord.gg/
# ________♥_________ AH5k9YE78b

“`

👑 Messanges (All editable, if you want configuration in Spanish open a ticket to discord) 🙂
“`yaml
# __ __
# | / |___ ______ __ _ _ _ __ _ ___ ___
# | |/| / -_|_-<_-
remove: “%prefix%Usage: &a/jp remove

help-menu:
– “&8&m———– &#FFD1DCxJumPads Help &8&m———–”
– “”
– “&#E0E0E0/jp set » &#AEC6CFCreate a JumpPad.”
– “&#E0E0E0/jp remove » &#AEC6CFRemove a JumpPad.”
– “&#E0E0E0/jp list » &#AEC6CFShow the list of JumpPads.”
– “&#E0E0E0/jp menu » &#AEC6CFOpen the JumpPads menu.”
– “&#E0E0E0/jp reload » &#AEC6CFReload the configuration.”
– “”
– “&8&m————————————”

menu:
title: “&#AEC6CF» &#FFD1DCJumpPads &#AEC6CF«”
item-name: “&#B8E986%name%”
item-lore:
– “&#E0E0E0Location:”
– “&#AEC6CF X: %x%, Y: %y%, Z: %z%”
– “”
– “&#FFD1DCClick to teleport!”
no-pads: “&cThere are no JumpPads to display.”
teleport: “%prefix%&aYou have been teleported to JumpPad &#B8E986%name%&a.”
“`
🏃Jumps (Data saver) 😀

“`yaml
# ____.
# | |__ ________ ______
# | | | ____ / ___/ ⋆˙
# /__| | | / |_> >___
# ________|____/| __/____ > ⋆˙⟡
# |__| / .yml
pads:
test:
location:
world: ‘world’
x: 100.0
y: 64.0
z: -250.0
pitch: 0.0
yaw: 0.0
power: 3.0
directionType: FORWARD
angle: 0.0
“`

Show/Hide Api :3

package com.example.soydev;

import jn.willfrydev.xjumpads.xJumPads;
import jn.willfrydev.xjumpads.api.xJumPadsAPI;
import org.bukkit.plugin.java.JavaPlugin;

public class SoyDev extends JavaPlugin {

private xJumPadsAPI jumpPadsAPI;

@Override
public void onEnable() {
// Comprobación de seguridad
if (getServer().getPluginManager().getPlugin(“xJumPads”) == null) {
getLogger().severe(“xJumPads no fue encontrado. El plugin SoyDev se desactivará.”);
getServer().getPluginManager().disablePlugin(this);
return;
}

this.jumpPadsAPI = xJumPads.getApi();
getLogger().info(“¡Conectado exitosamente con la API de xJumPads!”);
}
}

xJobs

# 👷 xJobs | The Ultimate Professional Job System 👷
![banner](https://cdn.modrinth.com/data/cached_images/93b326bfa62f93f963c2e58f7e3e8a1977851e2b.jpeg)

**xJobs** is a high-performance, premium-grade job system designed for modern Minecraft servers. Featuring a stunning **Cyan & Midnight Blue** interface, seamless **Discord integration**, and a robust **database-driven** backend, it provides your players with an immersive and rewarding professional experience.

> ## ✨ Premium Features
* **💎 High-End GUI**: A modern, columnar selection menu with custom heads and vibrant accent colors.
* **🌐 100% Internationalized**: Professionally translated into English, with global label management.
* **🤖 Discord Webhooks**: Real-time notifications for level-ups, job changes, and more with fully customizable embeds.
* **📊 Optimized Backend**: Support for H2 and MySQL databases with efficient caching.
* **🎭 Dynamic Lore**: Each job features unique premium descriptions and action hints.
* **🛠️ Developer Friendly**: Full PlaceholderAPI support and a simple yet powerful YML API for creating jobs.
* **⚡ Lightweight**: Built for performance, ensuring zero impact on your server’s TPS.

> ## 🚀 How to Create a Custom Job
Adding new professions to your server is incredibly simple. Follow this step-by-step guide:

1. Navigate to the `/plugins/xJobs/jobs/` folder.
2. Create a new file named `your_job_id.yml` (e.g., `alchemist.yml`).
3. Copy and customize the template below:

“`yaml
name: “Alchemist”
permission: “default”
max-level: 200

icon:
material: PLAYER_HEAD
base64: “eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUv…”
slot: 10
name: “Alchemist”
lore:
– “”
– ” &#A2FF5C✦ &f{info_label}:”
– ” &e⭐ &f{level_label}: &e{level}&f/&e{max_level}”
– ” &a👥 &f{workers_label}: &#D0FFD3{workers}”
– “”
– ” &#A2FF5C✦ &f{blurb_label}:”
– ” &7A master of volatile reactions. Brew concoctions”
– ” &7and elixirs that grant inhuman strength and life.”
– “”
– ” &#A2FF5C✦ &f{actions_label}:”
– ” &8▪ &7Brew magical potions”
– “”
– ” {join_action}”

actions:
block_break: # Logic for breaking blocks
‘WHEAT’:
xp: 5
money: 10.0
kill_mob: # Logic for hunting
‘ZOMBIE’:
xp: 15
money: 20.0
“`

4. Use `/jobs reload` in-game to apply your new profession immediately!

> ## 📌 Placeholders & Variables
Enhance your GUIs and chat with our dynamic placeholders:

| Placeholder | Description |
| :— | :— |
| `{player}` | The name of the player |
| `{job}` | The current profession name |
| `{level}` | The player’s current job level |
| `{max_level}` | The maximum level reachable |
| `{xp}` | Current experience points |
| `{xp_needed}` | Experience needed for next level |
| `{progress}` | A visual progress bar (e.g., `|||||…..`) |
| `{workers}` | Total number of players in that job |

> ## 🛠️ Commands & Permissions
Manage your professions with these simple commands:

| Command | Description | Permission |
| :— | :— | :— |
| `/jobs` | Open the main professional selection menu | *None* |
| `/jobs stats` | View your personal progress and statistics | *None* |
| `/jobs leave` | Resign from your current job | *None* |
| `/jobs help` | Show the command help menu | *None* |
| `/jobs reload` | Reload all configurations and jobs | `xjobs.admin` |

> ## 📦 Requirements
Ensure your server meets these criteria for optimal performance:

| Requirement | Description | Status |
| :— | :— | :— |
| **Vault** | Essential for economy rewards and money management | **Required** |
| **Java 17+** | Modern runtime required for high-performance execution | **Required** |
| **PlaceholderAPI** | Enables dynamic labels and custom variables | *Recommended* |

> ## 🛰️ Discord Integration
Keep your community engaged by linking your Discord server.
In `config.yml`, set `webhooks.discord.enabled: true` and paste your URL.

**Features:**
* **Custom Embeds**: Edit colors, footers, and thumbnails per event.
* **Async Processing**: Webhooks never lag your server.
* **Player Avatars**: Automatically fetches the player’s head for the notification.
![example](https://cdn.modrinth.com/data/cached_images/57e09342c67b34aec44123f8d3b063b9ea2ddb03.png)

> **Pro Tip**: You can edit the titles of all GUI sections (like “Information” or “Active Workers”) globally in `messages.yml`. Edit once, update everywhere!

> Got some cash? Get a PREMIUM (ES/EN) config on Discord.

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

XinXinBotApi

## 兼容核心
插件只在下列核心进行测试,正常使用,其它服务端核心未知,请自行测试。
1.8.8版本:Paper、Spigot
1.12.2版本:CatServer、spigot
1.16.5版本:CatServer、spigot
1.19.2版本:paper、Spigot
1.20.2版本:mohist、arclight

## 插件简介
此插件可以通过WebSocket对接 OneBot 以及 Mirai 机器人框架
对接 Mirai 机器人请自行安装 mirai-api-http 插件
推荐使用 Mirai 机器人框架,若实在不会搭建可以使用 OneBot标准 的机器人

此插件因只作为一个前置Api使用所以只有一个绑定功能且默认关闭

为什么是对接而不是把机器人直接写入插件?
如果是直接将机器人写入插件可能会导致多服服主或多端服主头疼
因为这样你可能需要准备更多的QQ号
但如果是直接接入框架本身的话
首先你也能正常使用框架本身的插件并且还能对接服务器

## 插件功能
此插件使用 WebSocket 进行QQ消息操作
所以必须通过指令连接一次 WebSocket 才能正常使用
在配置文件中可以开启自动连接,但需要提前开启 OneBot 或 Mirai 机器人
绑定信息支持 MySQL 储存,若不开启则为本地文件储存

此插件作为单独使用的话只有一个绑定玩家功能
而这个绑定功能也没有任何实质性作用
但是可以通过其他附属插件达到想要的作用

## 指令权限&介绍
管理员指令介绍(所需权限:`XinxinBotApi.admin`)
`/xbot bind <玩家ID>` —— 手动绑定一个QQ
`/xbot unbind ` —— 删除一个QQ的绑定账号
`/xbot connect` —— 连接WebSocket
`/xbot close` —— 断开WebSocket
`/xbot reload` —— 重载插件


## 图片展示
Api自带绑定功能(需要在配置文件手动开启SetBind项)

![1711706528727.png](https://bbs.mc9y.net/attachments/8458/)

## 开发文档 & 安装教程
若将此插件作为开发前置即可让MC充满各种可能性
或许在这之前你开发群服互联插件会去找各种Api
现在你只需要把本插件添加为你的依赖
使用本插件作为前置开发请在 `Plugin.yml` 里加入 `depend: XinxinBotApi`
从而让本插件在你插件之前加载
[![1.png](http://img.mcxin.cn/images/2024/02/19/1.png)](http://wiki.mcxin.cn/zh/%E6%96%B0%E9%91%AB%E6%8F%92%E4%BB%B6%E6%95%99%E7%A8%8B/XinxinBotApi)

## 附属插件
绑定礼包 | 查询信息 | 进服验证 | 图片信息 | 群服注册 | 互联指令 | 我的精灵
(一个一个改链接太麻烦了,在[新鑫论坛](https://bbs.mcxin.cn/)搜索XinxinBot则可以浏览所有附属)
! 附属插件统计可能并不完全,更多附属插件自行开发或找他人定制

## 版权声明
本插件所用所有代码均为原创,不存在借用/抄袭等行为
本插件为非盈利性插件,免费发布,严禁销售和转卖
若需要开发任何与此插件相关的附属插件可以联系作者

### 转载声明
转载至[https://bbs.mcxin.cn/archives/216](https://bbs.mcxin.cn/archives/216)
已得到原作者授权
![屏幕截图 2024-08-17 154930.png](https://pic.imge.cc/2024/08/17/66c05ff7ae88b.png)

欢迎加入新鑫咕咕交流群:1124109145​
[![2.png](http://img.mcxin.cn/images/2024/02/19/2.png)](http://bbs.mcxin.cn/?golink=aHR0cHM6Ly9naXRodWIuY29tL1hpbnhpbi1lbnQvWGlueGluQm90QXBp)
![XinxinBotApi.svg](https://bstats.org/signatures/bukkit/XinxinBotApi.svg)

XinghaiMC-Report

# XinghaiMC-Report
## Introduction
A simple and clear reporting plugin.
## Command
/report Player Reason
– Report Player

/handle
– View list of reported players

/handle ID
– Report processing complete.
## Permissions
xinghaimc.report
– Permissions used for reports

xinghaimc.report.handle
– Permissions used to handle reports
## Download
[Github Releases (recommended)](https://github.com/XinghaiMC/XinghaiMC-Report/releases)
[Github Actions](https://github.com/XinghaiMC/XinghaiMC-Report/actions/workflows/build.yml)
[MineBBS](https://www.minebbs.com/resources/xinghaimc-report.9236/)

Xiaoklunar Shulker

# XiaoklunarShulker

Two quality-of-life features for shulkers: **open them directly from your inventory** and optionally **vacuum overflow pickups into shulkers you’re carrying**.

## 1) Open Shulkers Directly From Inventory

Right-click a **shulker box item** inside your inventory to open it.

**Highlights**
– Opens from inventory (no placement required)
– Prevents **shulker-in-shulker** nesting exploits
– Plays open/close sounds
– You can switch to another shulker while one is open
*(auto-closes the current one, then opens the clicked one)*

**Permission**
– `xiaoklunarshulker.open`

## 2) Shulker Vacuum (Overflow Pickup Helper)

When enabled: if an item pickup would **overflow** your inventory, the plugin tries to store the overflow into **shulkers in your inventory**.

**Safety**
– Automatically disabled while a shulker GUI session is open

**Commands**
– `/shulkervacuumstart` Enable vacuum overflow storing
– `/shulkervacuumstop` Disable vacuum overflow storing
– `/shulkervacuumstatus` Show current vacuum status

**Permission**
– `xiaoklunarshulker.vacuum.toggle`

## Permissions

| Permission | Description |
|—|—|
| `xiaoklunarshulker.open` | Allows opening shulkers directly from inventory |
| `xiaoklunarshulker.vacuum.toggle` | Allows toggling the shulker vacuum feature |

Xiaoklunar Ghast Speed

## XiaoklunarGhastSpeed

### What this plugin is

A **craft-only** Paper plugin that lets players craft **speed harnesses** for **Happy Ghasts**, then apply a configured speed boost by equipping the harness on the ghast.

## Features

### ✅ Craftable Speed Harness Tiers

Adds 5 tier recipes that extend the vanilla Harness recipe by filling the **bottom row** with one material:

* **Gold Ingots** → **Speed I**
* **Iron Ingots** → **Speed II**
* **Emeralds** → **Speed III**
* **Diamonds** → **Speed IV**
* **Netherite Ingots** → **Speed V**

**Harness color** is determined by the **wool color** used in the middle of the recipe.

### ✅ Ultimate Speed Harness (Special Craft)

Adds a shapeless “ultimate” craft:

**Requires:**

* 1× Speed I harness
* 1× Speed II harness
* 1× Speed III harness
* 1× Speed IV harness
* 1× Speed V harness
* **4× Phantom Membrane**

**Output:**

* Harness with lore: **`ᴜʟᴛɪᴍᴀᴛᴇ ꜱᴘᴇᴇᴅ`**
* Internally treated as **tier 7**

### ✅ Applies Speed to Happy Ghasts

* **Right-click a Happy Ghast** while holding a speed harness to apply the tier speed.
* If the harness has **no tier**, the plugin **removes** any previously applied boost and restores base speed.

### ✅ Restores Speed When Harness Is Removed

* If the harness is **sheared off** the Happy Ghast, the plugin restores the ghast’s **original speed values**.

### ✅ Configurable Speed Values

You can adjust the actual speed values per tier in:

`plugins/XiaoklunarGhastSpeed/config.yml`

Example defaults:

“`yml
speeds:
1: 0.10
2: 0.15
3: 0.20
4: 0.25
5: 0.30
7: 0.475
“`

### ✅ Visual styling

* Harnesses have a **glint** (hidden enchant) and show lore in **small caps**.
* Tier harness lore shows **Roman numerals** like vanilla enchants (Speed I–V).
* Ultimate shows **`ᴜʟᴛɪᴍᴀᴛᴇ ꜱᴘᴇᴇᴅ`**.

Xiaoklunar Fly

# ✨ Xiaoklunar Fly (ElytraFlight)

> **Xiaoklunar Fly** is a premium-style Elytra flight plugin that gives players **creative-like flight** without removing balance or immersion.
> Perfect for servers that want flight to feel **powerful, fair, and non-cheaty**.

This plugin is ideal for:

* 💰 Monetizing flight permissions
* 🌍 Controlled flight in specific worlds (spawn, hub, RPG zones)
* ⚖️ Balanced survival gameplay using Elytra durability

## 🚀 What Does Xiaoklunar Fly Do?

> Xiaoklunar Fly allows players to toggle **creative-style flight** using `/elytrafly`,
> **only if all required conditions are met**.

Once enabled, the plugin **checks every second** that the player:

* Is in an **allowed world**
* Has an **Elytra equipped**
* Has the **required permission**
* Is **actively flying**

> If **any** requirement fails, flight is **immediately disabled** and the player is notified.

This behavior is similar in spirit to plugins like **EssentialsX.Flight**, but designed specifically around **Elytra-based balance and monetization**.

## ⭐ Core Features

### 🪽 Creative-Like Flight (Not Vanilla Gliding)

> Players fly **exactly like creative mode**.

* No awkward Elytra gliding mechanics
* Smooth, controllable, and intuitive movement

### 🔐 Permission-Based (Perfect for Monetization)

> Xiaoklunar Fly uses **one configurable permission node**.

* Sell access via **ranks, crates, or stores**
* Fully compatible with **LuckPerms** and other permission plugins

> 💡 **Example:**
> Sell **“Elytra Flight Access”** as a premium perk.

### 🌍 World-Restricted Flight

> You decide **where flight is allowed**.

Examples:

* Only in **spawn**
* Only in **hub**
* Or **every world** for full freedom

> Flight is **automatically disabled** when a player leaves an allowed world.

### 🛡️ Elytra Required (No Elytra = No Flight)

> Elytra is **required at all times**.

* Must be worn in the chest slot
* Removing it instantly stops flight
* Keeps Elytra meaningful and relevant

### 🔧 Configurable Elytra Durability Damage

> Elytra takes durability damage **every second while flying**.

* Damage applies **only while the player is actively flying**
* Fully configurable in `config.yml`

This ensures:

* Flight feels powerful
* Elytra still has a **real cost**
* No infinite free flight abuse

### ⏱️ Constant Safety Checks (Every Second)

> The plugin continuously verifies:

* World validity
* Elytra equipped
* Permission still present
* Player still flying

This guarantees:

* ❌ No exploits
* ❌ No bypassing restrictions
* ✅ Clean, predictable behavior

### 🧾 Clean & Stylish Messaging

> Fully branded as **Xiaoklunar Fly**.

* All messages use **small-caps font** for a premium look
* Color-code friendly
* Messages trigger **only once per stop reason** (no spam)

## 🧑‍💻 How Players Use It

> Using Xiaoklunar Fly is simple:

1. Equip an **Elytra**
2. Be in an **allowed world**
3. Have the **permission**
4. Run:

“`text
/elytrafly
“`

> Flight toggles **ON / OFF instantly**.

## ⚙️ Example Configuration

“`yaml
allowedWorlds:
– “spawn”
– “hub”

permissionNode: “xiaoklunar.fly”

elytraDamagePerSecond: 1
“`

> Adjust worlds, permissions, and Elytra damage to fit your server’s balance.

## 🧠 Why This Plugin Is Perfect

* ✅ Feels like creative flight
* ✅ Still balanced and survival-friendly
* ✅ Excellent for server monetization
* ✅ Lightweight and stable

Xiaoklunar Auction House

# Auction

A clean, GUI-first Auction House plugin for **Paper 1.21+** using **Vault** for economy.
Designed to be lightweight, permission-minimal, and easy for both players and developers.

## Requirements

– **Paper**: 1.21+
– **Vault** (plugin)
– **A Vault-compatible economy plugin** (e.g., EssentialsX)

> Vault does **not** store balances. You must install an economy provider.

## Commands

### `/ah`
Opens the global Auction House GUI.

### `/ah sell `
Lists the item currently in the player’s hand for sale.

– Item must not be `AIR`
– Item must not be blocked by config
– Price must be within configured limits
– Listing limit enforced (normal vs premium)

### `/ah storage`
Opens **Auction Storage**, showing:
– Active listings (click to cancel)
– Cancelled / expired returns (click to claim)
– Delivery overflow items (when inventory was full on purchase)

### `/ah resell`
Relists eligible stored items (premium feature + cooldown).

### `/ah `
Opens a view showing **only listings by that exact seller name**.

– Case-sensitive matching
– Does not validate whether the name belongs to a real player
– If no listings exist, GUI opens empty

### `/ah search [maxPrice]`
Searches auction listings by keyword.

– No `minecraft:` namespace required
– Matches:
– Material key/name (e.g., `iron_ingot`)
– Display name (custom items like “Bulldozer” / “Drill”)

Examples:
– `/ah search iron`
– `/ah search net`
– `/ah search note block 500` *(premium price filter)*

## Premium Features

Permission:
– `auctionhouse.premium`

Premium unlocks:
– Increased listing limit (default: 20 vs 10)
– `/ah resell` and “Relist All” button
– Advanced search price filter (max price argument)
– Cooldown on relist (default: 60s)

Relist spam protection:
– “Wait X seconds” message is throttled to **max once per second** per player.

## GUI Overview

### Auction House GUI
– Paginated
– Edge glass border
– Buttons:
– **Refresh** (nether star)
– **Storage** (chest)
– **Prev/Next page** arrows (hidden when not usable)

Listing lore formatting:
– Seller name: **Yellow**
– Price: **Green**
– Expires in: **Red**
– Lore is **non-italic**

### Confirm Purchase GUI
– Click listing → confirm screen:
– Green: Buy
– Red: Cancel (returns to `/ah`)

Purchase logic:
– Checks balance **before** opening confirmation
– On successful buy:
– Money is withdrawn
– Item delivered to inventory
– If inventory full → moved to storage as delivery overflow

### Auction Storage GUI
– Title: **Auction Storage**
– Shows:
– Active listings (cancelable)
– Cancelled returns
– Expired returns
– Overflow deliveries
– Back arrow returns to main `/ah`

Status display:
– Cancelled: red
– Expired: red
– Delivery: yellow

## Sounds

– Successful listing: “ding” sound
– Listing denied (limit reached / not allowed): villager “no”
– Successful purchase: villager “yes”
– Seller receives notification + sound on successful sale

## Configuration

Key config options include:
– Listing limits for normal/premium
– Maximum sell price
– Premium relist cooldown
– Blocked item list
– GUI sound toggles (if present in your build)

*(Exact keys depend on your current shipped config.yml.)*

## Installation

1. Drop into `plugins/`:
– Vault
– Economy plugin (e.g., EssentialsX)
– Xiaoklunar Auction
2. Start server
3. Configure `config.yml`
4. Assign premium permission (optional)
– Example (LuckPerms):
“`
/lp group premium permission set auctionhouse.premium true
“`

## Troubleshooting

### Vault installed but economy not working
Vault needs an economy provider (EssentialsX, etc.). Check console for economy registration logs.

### “Invalid plugin.yml”
YAML must use spaces (no tabs) and usage strings should be quoted.

Have fun