插件介绍

这是一个四合一成长插件

MythicHotMeMeAchievement 不只是一个菜单插件,也不只是单独的收集玩法,而是把文明推进、遗迹修复、世界树供奉、文献收集四条成长线整合到同一个插件里。

MythicHotMeMeAchievement 是一款面向 Paper 1.20.1 服务器的综合养成插件,核心目标是把“全服共同推进的文明目标”和“玩家个人长期成长”绑定在一起。玩家日常挖矿、建造、击杀、钓鱼、收集、供奉这些行为,都会被插件记录并转化成服务器长期进度。

插件使用 MySQL 保存时代、遗迹、世界树和文献四类数据,使用 MythicLib 发放时代奖励、世界树 Buff 和书籍永久加成;如果安装了 PlaceholderAPI,还能直接把文明进度、排行榜、遗迹修复状态、世界树阶段和文献收集度挂到记分板、TAB 或菜单里。

玩家执行 /mhma 会直接打开主菜单 GUI,管理员则可以通过子命令控制时代、遗迹、世界树和文献系统。四个模块也可以在 config.yml 中单独开关,不需要一次性全部启用。

一句话概括:玩家正常玩服务器就会持续推动文明升级;升级后再反过来解锁权限、属性、传送点、祭坛 Buff 和收集奖励,形成一个长期循环。

四条主线

文明时代

全服挖矿、放置方块、击杀都会累计进度。时代升级后可以发放 MythicLib 永久属性、权限和控制台奖励。

遗迹修复

玩家向指定遗迹捐献材料推进修复度,修满后解锁遗迹传送点,并可配置解锁广播和额外奖励。

世界树供奉

管理员设置祭坛位置后,玩家在祭坛附近连按 3 次 Shift 献祭背包内可接受材料,推进阶段并给全服发放 Buff。

文献收集

挖矿、钓鱼、收成熟农作物时有概率掉落文献书页,集齐后合成书籍并获得 MythicLib 永久属性加成。

核心功能

  • 文明时代推进 玩家挖矿、建造、击杀会自动累计全服进度和个人贡献值,并按权重生成排行榜。
  • 时代升级奖励 达标后自动切换时代、广播提示、执行控制台命令,并给在线玩家应用 MythicLib 永久加成。
  • 奖励自动补领 玩家登录时会自动检查当前时代可领的奖励,也可以手动执行 /mhma era claim
  • 遗迹修复系统 支持原版物品和 MMOItems 物品作为修复材料;修复完成后可解锁传送点和奖励命令。
  • 遗迹批量捐献 遗迹 GUI 支持一键提交背包内全部符合条件的材料,不必手持一组一组上交。
  • 世界树祭坛交互 世界树不是纯命令玩法,玩家必须靠近祭坛并按交互提示完成献祭。
  • 全服世界树 Buff 世界树阶段提升后会把配置里的 MythicLib Buff 发给全服玩家,玩家重进服务器也会自动补上。
  • 文献随机掉落 挖矿、钓鱼、成熟作物收获均可触发书页掉落,书页来源和概率都可配置。
  • 书籍合成成长 集齐整本书的页面后,玩家可通过命令或 GUI 合成书籍,立即获得永久属性加成和完成奖励。
  • MySQL 持久化 时代、遗迹、世界树、文献四套数据全部写入 MySQL,并自动建表。
  • 批量写库与缓存 插件支持按时间间隔和阈值批量写入数据库,减少高频事件带来的 MySQL 压力。
  • 可拆分模块 四个模块都能在主配置中独立开关,不想启用的系统可以直接关闭。
  • GUI 可配置 所有主菜单和分页界面都由 gui.yml 控制布局、材质、标题和模型值。
  • 全局暂停 管理员可通过 /mhma admin pause 暂停或恢复时代、遗迹、世界树三类全服进度。
  • PlaceholderAPI 扩展 插件提供 %mhma_...% 变量,适合接入记分板、TAB、菜单、NPC 文案等场景。

GUI 界面

玩家执行 /mhma 时,会直接打开主菜单 GUI。主菜单默认包含文明时代、遗迹修复、世界树供奉、文献收集四个入口,所有按钮的材质、名称、Lore、CustomModelData 和布局都可以在 gui.yml 修改。

时代总览页

显示当前时代名称、总进度、三类贡献统计、排行榜和奖励领取按钮。点击奖励按钮会直接触发自动领取逻辑。

遗迹修复页

分页展示全部遗迹状态。点击遗迹卡片会把背包内符合条件的修复材料批量上交,适合大批量捐献。

世界树页

展示各世界树 / 神像当前阶段与个人贡献。默认点击按钮会直接传送到对应祭坛位置,之后再按祭坛交互规则进行献祭。

文献收集页

分页展示书籍完成度、时代限制和奖励属性。已集齐的书可直接点击合成,未集齐时会提示缺失状态。

ItemsAdder 标题偏移可选支持

GUI 标题默认使用 fallback-title,如果服务器安装了 ItemsAdder 并在 gui.yml 开启 custom-title-enabled,插件会自动使用偏移字符生成自定义标题效果。

命令列表

主命令:/mhma(别名:/mythicachieve

玩家命令

命令说明权限
/mhma / /mhma menu玩家打开主菜单 GUI;控制台执行时显示帮助mhma.use
/mhma era info查看当前文明时代、全服进度和升级需求mhma.era.info
/mhma era contribution查看自己的挖矿 / 建造 / 击杀贡献和排名mhma.era.contribution
/mhma era top查看时代贡献排行榜mhma.era.top
/mhma era claim手动检查并领取当前时代可领奖励mhma.era.claim
/mhma relic list查看全部遗迹修复状态mhma.relic.list
/mhma relic info <ID>查看指定遗迹的进度、需求时代和个人捐献mhma.relic.info
/mhma relic donate <ID>提交主手物品给指定遗迹mhma.relic.donate
/mhma relic tp <ID>传送到已解锁且已设置坐标的遗迹mhma.relic.tp
/mhma relic top <ID>查看指定遗迹捐献排行榜mhma.relic.top
/mhma tree list查看全部世界树 / 神像阶段mhma.tree.list
/mhma tree info <ID>查看指定世界树的阶段、Buff 和个人供奉mhma.tree.info
/mhma tree offer <ID>发送祭坛献祭提示;实际供奉要在祭坛范围内连按 3 次 Shift 完成mhma.tree.offer
/mhma tree top <ID>查看指定世界树供奉排行榜mhma.tree.top
/mhma lit list查看书籍图鉴与收集完成度mhma.lit.list
/mhma lit book <ID>查看某本书的描述、书页状态和奖励属性mhma.lit.book
/mhma lit compose <ID>合成已集齐的书籍并发放永久加成mhma.lit.compose

管理命令

命令说明权限
/mhma admin reload重载全部配置文件mhma.admin.reload
/mhma admin pause暂停 / 恢复时代、遗迹、世界树的全服进度mhma.admin.*
/mhma admin era set <时代ID>直接设置当前时代mhma.admin.era
/mhma admin era addprogress <mine|build|kill> <数量>手动增加时代进度mhma.admin.era
/mhma admin relic settp <ID>把管理员当前位置设为遗迹传送点mhma.admin.relic
/mhma admin relic unlock <ID>强制解锁遗迹mhma.admin.relic
/mhma admin relic setprogress <ID> <数量>直接设置遗迹修复度mhma.admin.relic
/mhma admin tree setstage <ID> <阶段>设置世界树当前阶段mhma.admin.tree
/mhma admin tree setloc <ID>把管理员当前位置设为祭坛坐标mhma.admin.tree
/mhma admin lit give <玩家> <书页ID>直接给玩家指定文献书页mhma.admin.lit
/mhma admin lit givebook <玩家> <书籍ID>直接完成整本书并应用加成mhma.admin.lit

权限节点

权限说明默认
mhma.use基础使用权限所有人
mhma.era.*文明时代全部玩家命令,包含 info / contribution / top / claim所有人
mhma.relic.*遗迹修复全部玩家命令所有人
mhma.tree.*世界树供奉全部玩家命令所有人
mhma.lit.*文献收集全部玩家命令所有人
mhma.admin.*全部管理命令的总权限OP
mhma.admin.reload重载配置OP
mhma.admin.era时代管理命令OP
mhma.admin.relic遗迹管理命令OP
mhma.admin.tree世界树管理命令OP
mhma.admin.lit文献管理命令OP

如果你需要更细的授权,可以直接使用子节点,比如 mhma.era.infomhma.relic.donatemhma.tree.topmhma.lit.compose 等,而不必一次性全部给 *

PAPI 占位符

插件的 PlaceholderAPI 标识符是 mhma。如果安装了 PlaceholderAPI,插件启动时会自动注册扩展。

占位符说明
%mhma_era_current_name%当前文明时代名称
%mhma_era_progress%当前时代总进度百分比
%mhma_era_progress_bar%当前时代进度条
%mhma_era_player_contribution%玩家当前时代贡献值
%mhma_era_player_rank%玩家当前时代排名
%mhma_era_top_1_name%时代排行第 1 名玩家名
%mhma_era_total_hp%当前已解锁时代累计生命值加成
%mhma_relic_total_unlocked%已解锁遗迹总数
%mhma_relic_<ID>_percent%指定遗迹修复百分比
%mhma_relic_<ID>_player_donated%玩家对指定遗迹的捐献量
%mhma_tree_<ID>_stage_name%指定世界树当前阶段名称
%mhma_tree_<ID>_bar%指定世界树当前阶段进度条
%mhma_tree_<ID>_player_rank%玩家在指定世界树的供奉排名
%mhma_lit_player_pages%玩家已收集书页数量
%mhma_lit_player_books%玩家已完成书籍数量
%mhma_lit_book_<ID>_percent%玩家某本书的收集百分比

表里的 <ID> 需要替换成你在 relic.ymlworldtree.ymlliterature.yml 中配置的真实 ID,比如 ancient_templeyggdrasilcreation_myth

使用教程

安装插件

MythicHotMeMeAchievement.jar 放入 plugins 文件夹,确保服务器是 Paper 1.20.1,且 MythicLib 已安装。若你要使用 MMOItems 物品判定或 PAPI 变量,也请把对应插件一起装好。

配置数据库

首次启动后会生成 config.ymlera.ymlrelic.ymlworldtree.ymlliterature.ymlmessages.ymlgui.yml。先把 config.yml 里的 MySQL 连接信息改好。

配置四大模块

era.yml 设置时代阶段和奖励,在 relic.yml 设置遗迹及所需材料,在 worldtree.yml 配置世界树阶段和可献祭物品,在 literature.yml 设定掉落概率、书籍与书页内容。

设置关键坐标

遗迹修复完成后如果要传送,先用 /mhma admin relic settp <ID> 记录传送点;世界树如果要启用祭坛交互和 GUI 传送,先站在目标位置执行 /mhma admin tree setloc <ID>

重载配置

/mhma admin reload

玩家开始使用

玩家执行 /mhma 打开主菜单,查看文明进度、遗迹、世界树和书籍收集。后续的日常挖矿、建造、击杀、钓鱼、农作物收获等行为都会自动喂给对应模块。

世界树实际交互流程

管理员准备

先在目标位置执行 /mhma admin tree setloc <ID>。没有祭坛坐标时,GUI 里的传送和区域献祭都不会正常工作。

玩家献祭

玩家靠近祭坛会收到标题提示;在祭坛范围内 2 秒内连续按 3 次 Shift,插件会自动扫描背包并提交所有可接受材料。

配置文件

插件配置目录位于 plugins/MythicHotMeMeAchievement/。主要配置分成主配置、四个模块配置、消息配置和 GUI 配置。

主配置 config.yml

YAMLconfig.yml
database:
  host: "localhost"
  port: 3306
  database: "mhma"
  username: "root"
  password: "password"
  table-prefix: "mhma_"

cache:
  global-refresh-seconds: 30
  player-refresh-seconds: 60
  ranking-refresh-seconds: 120

batch-write:
  interval-seconds: 30
  threshold: 100

modules:
  era: true
  relic: true
  worldtree: true
  literature: true

时代配置 era.yml

YAMLera.yml
contribution-weight:
  mine: 1
  build: 2
  kill: 3

stages:
  1:
    name: "蛮荒时代"
    description: "开服初期的资源积累阶段"
    requirements:
      mine: 10000
      build: 5000
      kill: 3000
    stat-bonus:
      MAX_HEALTH: 2.0
    reward-tiers:
      1:
        name: "时代先驱"
        min-rank: 1
        max-rank: 1
        commands:
          - "give %player% diamond 64"

遗迹配置 relic.yml

YAMLrelic.yml
relics:
  ancient_temple:
    name: "&6古代神殿"
    max-progress: 100000
    required-era: 10
    accepted-items:
      - type: VANILLA
        material: STONE
        progress-per-item: 1
      - type: MMOITEMS
        item-type: MATERIAL
        item-id: ANCIENT_STONE
        progress-per-item: 50
    unlock-commands:
      - "broadcast &6[遗迹] 古代神殿修复完成!"

世界树配置 worldtree.yml

YAMLworldtree.yml
world-trees:
  yggdrasil:
    name: "&2世界树·尤格德拉希尔"
    stages:
      1:
        name: "萌芽"
        required-offering: 10000
        global-buff:
          MAX_HEALTH: 4.0
    accepted-items:
      default:
        - type: VANILLA
          material: OAK_LOG
          offering-per-item: 1

文献配置 literature.yml

YAMLliterature.yml
drop-chance:
  mining: 0.01
  fishing: 0.01
  farming: 0.01

books:
  creation_myth:
    name: "&6《创世神话》"
    stat-bonus:
      MAX_HEALTH: 2.0
    pages:
      page_1:
        name: "&e创世神话·第一章"
        drop-source: ALL

GUI 配置 gui.yml

YAMLgui.yml
main-menu:
  size: 54
  custom-title-enabled: true
  fallback-title: "&6&l文明养成总览"
  shape:
    - "XXXXXXXXX"
    - "X#######X"
    - "X#E#R###X"
    - "X#######X"
    - "X#W#L###X"
    - "XXXXXXXXX"

gui.yml 不只是改标题,按钮材质、Lore、CustomModelData、边框和分页按钮都能改;如果你要接入 ItemsAdder 贴图标题,这个文件就是关键入口。

依赖与版本

依赖 / 环境是否必需说明
Paper 1.20.1必需插件基于 Paper API 1.20 开发
Java 17+必需Maven 编译目标为 Java 17
MythicLib 1.7.1必需时代、世界树、书籍的永久属性加成都依赖它
MySQL 5.7+必需四大模块数据都持久化到 MySQL
MMOItems 6.10可选仅在遗迹 / 世界树需要识别 MMOItems 物品时需要
PlaceholderAPI 2.11+可选用于 %mhma_...% 占位符输出
ItemsAdder可选仅用于 GUI 自定义偏移标题,未安装时自动回退普通标题
HikariCP内置已随插件打包,无需额外安装

技术信息

项目信息
插件名称MythicHotMeMeAchievement
版本1.0
主命令/mhma
命令别名/mythicachieve
服务器核心Paper 1.20.1
Java 版本17+
API 版本1.20
数据持久化MySQL + HikariCP
PAPI 标识符mhma
GUI 配置gui.yml,支持 Shape 布局与可选 ItemsAdder 标题
模块数量文明时代 / 遗迹修复 / 世界树供奉 / 文献收集,共 4 个

常见问题

先检查 config.yml 里的 MySQL 地址、端口、库名、账号、密码是否正确,并确认数据库已经创建、账号有建表权限。插件启动时会自动建表,但不会替你创建数据库本身。
这个模块的实际交互在祭坛区域内完成,不是纯命令提交。管理员必须先用 /mhma admin tree setloc <ID> 设置祭坛,玩家进入范围后按提示在 2 秒内连按 3 次 Shift,插件才会扫描背包并提交可接受材料。
遗迹传送除了要修复完成外,还必须提前设置传送点。站在目标位置执行 /mhma admin relic settp <ID> 后,玩家才能通过 /mhma relic tp <ID> 或相关 GUI 进行传送。
检查 modules.literature 是否启用,literature.yml 里的掉率是否太低,以及挖矿 / 农作物白名单是否包含你测试的方块。农作物只会在成熟状态下触发掉落。
暂停主要会冻结文明时代、遗迹修复和世界树供奉的全服进度,防止活动期间继续累积数据。文献收集本身不属于全服进度条,但它的时代门槛和奖励发放仍会受到整体配置影响。