XLeaderboards

这款插件专为寻求快速高效排行榜系统的用户设计。

资源图片
一个允许玩家控制生物生成的Spigot插件。 ![XLeaderBoards Banner](https://i.imgur.com/r8gOjSU.png) 这个插件是为那些寻求快速高效排行榜系统的用户设计的,支持基于时间的排名,例如**每日**、**每周**、**每月**和**永久**排行榜。所有内容都通过**占位符**处理,无需 NPC 或菜单。 其主要优势在于轻松设置基于时间的排行榜——这是很少有插件真正擅长的领域。 | XPlayerKits | XLeaderboards | StellarProtect | | --- | --- | --- | ![XLeaderBoards Features](https://i.imgur.com/P8yEx9V.png) ### 特点 - **完全重构的核心:** XLeaderBoards 已被完全重新设计,以支持 **SQLite** 和 **MySQL**,允许该插件在处理大量数据时轻松高效地扩展。 - **性能改进:** 已成功测试超过 200 万条真实记录,能够在一分钟内更新它们。 - **计时排行榜:** 具有高效的排名系统,完全支持**每日**、**每周**、**每月**和**永久**排行榜。 - **易于设置:** 只需使用占位符即可轻松创建和配置排行榜。 - **无限的可能性:** 借助基于占位符的逻辑,您可以为任何插件创建顶级信息——即使它缺少原生支持。 XLeaderBoards 自动处理数字格式和比较。 - **玩家排名:** 显示每个玩家在所有排行榜(每日、每周等)中的位置,并内置了占位符支持。 - **命令改进:** 添加了新功能,例如**自动补全**和 **/reload** 命令,以便于管理。 - **优化:** 完全可配置写入频率、数据限制和时间间隔,以适应服务器的容量和活动。 - **支持所有版本:** 包括对 **1.21.4** 到 **1.21.8** 的支持。 虽然 XLeaderBoards 不依赖于 NMS,但它包含版本特定的更改的兼容性逻辑。 - **Folia 支持:** 由于 Folia 正在成为现代 Minecraft 服务器的性能标准,XLeaderBoards 现在完全支持它——就像 **StellarProtect** 一样。 - **顶级奖励:** 您可以为每日排行榜上的玩家设置奖励。 - **需要更多功能?** 加入我们的 [Discord](https://discord.com/invite/4R9teKVcbM) 并提出新功能建议。 我们正在积极倾听社区反馈! ![Setup Instructions](https://i.imgur.com/H8dWxWZ.png) ## 如何开始 1. **下载并安装插件。** 默认情况下,该插件开箱即支持 **SQLite** 和 **MySQL**。 2. **启动你的服务器。** 插件文件夹生成后,根据您选择的引擎配置您的数据库凭据。 3. **设置您的顶级信息。** 使用您选择的占位符创建自定义排行榜。 4. **与 DecentHolograms 或您喜欢的插件集成。** 确保您选择的插件支持 PlaceholderAPI,并按照以下示例配置操作。 5. **参考占位符部分。** 所有可用的占位符格式都列在专门的部分中。
DecentHolograms 示例配置 ```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] &7[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;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: "&c您没有权限使用此命令。" noRanking: "&6未排名" noTop: "&6没有记录" loading: "&f正在加载..." hologram: daily: "&6&l[每日] &7[每周] [每月] [永久]" weekly: "&7[每日] &6&l[每周] &7[每月] [永久]" monthly: "&7[每日] &7[每周] &6&l[每月] &7[永久]" permanent: "&7[每日] &7[每周] &7[每月] &6&l[永久]" daily: "每日" weekly: "每周" monthly: "每月" permanent: "永久" invalidTimeType: "&c排行榜时间类型无效。" toggleWait: "&c请稍等片刻再更改排行榜时间。" toggleTime: "&f排行榜时间现在是:&e" tops: |- &d &a
&6&l TOP &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: &7您获得了钻石剑,在顶级榜单中停留了!" - "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: &7您获得了铁剑,在顶级榜单中停留了!" - "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: &7您获得了石剑,在顶级榜单中停留了!" - "message: &7 &a" ```
![Leaderboard Image](https://i.imgur.com/u8efQgL.png) | Discord | Patreon | Wiki | | --- | --- | --- | ![Permission Image](https://i.imgur.com/LJmO1V8.png) - **xleaderboards.forceupdate** » 强制更新顶级信息。 - **xleaderboards.gettop** » 获取每日、每周、每月或永久的顶级信息。 ![Top Name Image](https://i.imgur.com/7hKZxQf.png) **TopName:** - **name** - 这在 `config.yml` 键中设置。例如,在 `tops.coins` 中,“coins”是顶级信息名称。 **TimeType:** - **daily** – 显示过去 24 小时内的顶级玩家或值。 - **weekly** – 显示过去 7 天内的顶级玩家或值。 - **monthly** – 显示过去 30 天内的顶级玩家或值。 - **permanent** – 永久显示顶级玩家或值。 **ValueType:** - **top_name** – 显示此顶级索引位置上的玩家名称。 - **top_value** – 显示此顶级索引位置上的值。 - **top_uuid** – 显示此顶级索引位置上的玩家 UUID。 **Index:** - **min** – 最小索引为 1。 - **max** – 最大索引是 `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) ![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)