• 周年纪念勋章活动已圆满结束,如有已购买但仍未申请的用户,可以通过对应勋章的下载链接申请~
资源图标

原创 开源 [PlayerTopList] 基于统计数据的排行榜插件 v1.2.0

版权类型
原创
插件中文名称
统计排行榜
插件英文名称
PlayerTopList
原帖地址
#
支持的核心(服务端)
  1. Paper
  2. Folia
  3. Purpur
语言支持
中文(简体)
适配版本(Java)
  1. 1.21
  2. 1.20
  3. 1.19
  4. 1.18
  5. 1.17
  6. 1.16
  7. 1.15
  8. 1.14
  9. 1.13

[PTL] 基于mc统计信息的排行榜插件



1744290827164.webp

1744290890188.webp

1744290931292.webp


服务端需求​




  • 支持paper,folia,purpur等paper系列的服务端
  • 理论支持版本为1.13及以上,如果遇到兼容性问题欢迎提出



插件特点​



  • 使用mc内置的统计信息,无需使用额外的数据存储​
  • 可以使用miniMessage自定义排行榜文字UI​
  • 可以使用数学公式来对最终呈现的数字结果进行修改​
  • 可以对显示结果进行格式化​
  • 可以在材料或者实体列表中使用mc的标签,快速选定材料​
  • 可以使用place holder作为排行榜变量​
  • 内置4个place holder变量,方便扩展​


插件命令​



  • /ptl reload 重载配置
  • /ptl show <排行榜名称> 显示指定的排行榜


插件权限​



  • playertoplist.admin 玩家能否执行插件的重载,默认为op
  • playertoplist.view 玩家能否查看排行榜,默认为true


PlaceHolder​



  • %ptl_player_rank_<排行榜名称>% 玩家在指定排行榜的排名
  • %ptl_player_count_<排行榜名称>% 玩家在指定排行榜的数值
  • %ptl_player_rank_sum_<排行榜名称1>_<排行榜名称2>_...% 玩家在所有指定的排行榜排名之和
  • %ptl_player_count_sum_<排行榜名称1>_<排行榜名称2>_...% 玩家在所有指定的排行榜数值之和


默认配置​


YAML:
# 每一页上应该有多少玩家
page-size: 10

# 排行榜更新间隔(单位为秒)(不小于30)
update-interval: 60

# 自定义UI部分
ui:
  header: "<bold>================ <hover:show_text:'<yellow>更新时间: <#FFA500>{updateTime}</#FFA500></yellow>'>{listName} ================</bold>"
  footer: "<aqua>{prevButton}当前: (<white>{currentIndex}</white>/<white>{totalIndex}</white>){nextButton}</aqua>"
  prev-button: "<hover:show_text:'上一页'><dark_aqua> <- </dark_aqua></hover>"
  next-button: "<hover:show_text:'下一页'><dark_aqua> -> </dark_aqua></hover>"
  item: "<gray>⬡</gray> <white>{num}. <green>{playerName}</green> <grey>-</grey> <dark_green>{count}</dark_green></white>"

# 排行榜部分
lists:
  #示例:
  #这个是排行榜名称
  挖掘总榜:
    # (可选) 这个是排行榜显示颜色
    color: "#FFA500"

    # (必填) 这个是统计数据类型, 可用值见附录1
    # 也可以使用place holder, 具体使用方法见下方跑图榜
    type: MINE_BLOCK

    # (选择性必填) 当类型为Statistic.Type.BLOCK或者Statistic.Type.ITEM时必填
    # 除了材料名称外可用值: all, items, blocks, solid
    # 支持使用标签, 见附录4
    # 其他可用值见附录2
    # 注意!!!该项为列表类型
    material: [solid]

    # (选择性必填) 当类型为Statistic.Type.ENTITY时必填
    # 除了实体名称外可用值: all, alive
    # 支持使用标签, 见附录4
    # 其他可用值见附录3
    # 注意!!!该项为列表类型
    entity: [all]

    # (选填) 是否隐藏
    hidden: false

    # (选填) 数值表达式:
    # 用于修正排行榜数值
    expression: "count / 64"

    # (选填) 数字格式:
    # java格式化字符串
    formatter: "%.1f 组"

  挖矿榜:
    color: "#FFD700"
    type: MINE_BLOCK
    material: [ coal_ores, copper_ores, diamond_ores, emerald_ores, gold_ores, lapis_ores, redstone_ores, NETHER_QUARTZ_ORE, ANCIENT_DEBRIS ]
    expression: "count / 64"
    formatter: "%.1f 组"

  跑图榜:
    color: "#00FF00"
    type: "%ptl_player_count_sum_走路榜_跑步榜_飞行榜%"
    expression: "count / 1000"
    formatter: "%.1f 公里"

  击杀总榜:
    color: "#FF00FF"
    type: MOB_KILLS

  击杀玩家榜:
    color: "#FF0022"
    type: PLAYER_KILLS

  死亡榜:
    color: "#8B0000"
    type: DEATHS

  钓鱼榜:
    color: "#0000FF"
    type: FISH_CAUGHT

  附魔榜:
    color: "#ADD8E6"
    type: ITEM_ENCHANTED

  合成榜:
    color: "#FFA500"
    type: CRAFT_ITEM
    material: [ all ]
    expression: "count / 64"
    formatter: "%.1f 组"

  交易榜:
    color: "#31FFB1"
    type: TRADED_WITH_VILLAGER

  在线时间:
    color: "#FF00FF"
    type: PLAY_ONE_MINUTE
    expression: "count / 20 / 60 / 60"
    formatter: "%.1f 小时"

  # 下面这些是作为跑图榜的计算来源
  走路榜:
    hidden: true
    type: WALK_ONE_CM

  跑步榜:
    hidden: true
    type: SPRINT_ONE_CM

  飞行榜:
    hidden: true
    type: AVIATE_ONE_CM

# 附录
# 1.可用统计类型见: https://bukkit.windit.net/javadoc/org/bukkit/Statistic.html
# 2.可用材料类型见: https://bukkit.windit.net/javadoc/org/bukkit/Material.html
# 3.可用实体类型见: https://bukkit.windit.net/javadoc/org/bukkit/entity/EntityType.html
# 4.可用标签及对应材料见: https://zh.minecraft.wiki/w/%E6%A0%87%E7%AD%BE?variant=zh-cn#%E6%A0%87%E7%AD%BE%E5%88%97%E8%A1%A8
作者
whhhh2023
下载
112
查看
370
首次发布
最后更新

评分

0.00 星 0 次评分

最新更新

  1. v1.2.0

    现在支持使用place holder作为排行榜变量 添加4个place holder变量 支持隐藏排行榜 大幅优化加载性能 优化了列表UI 配置文件添加了新的示例...
  2. v1.1.1

    优化了加载性能 更新了默认配置
  3. v1.1.0

    添加对minecraft标签(Tag)的支持
后退
顶部 底部