中洲拓展:派系

中洲拓展:派系

一个强力的中土模组扩展,与PlaceholderAPI实现无缝集成

中土扩展:阵营

Minecraft 版本 模组加载器 许可证

📖 概述

中土扩展:阵营 是《中土Mod》的一个强大附属模组,可自动追踪玩家的阵营归属,并与兼容 PlaceholderAPI 的模组实现无缝集成。非常适合希望在聊天、前缀和其他界面元素中显示阵营信息的服务器。

邪恶阵营菜单

✨ 功能特性

🏰 自动阵营追踪

  • 实时检测:自动检测玩家加入《中土Mod》中的阵营。
  • 持久化存储:将阵营数据以 JSON 文件形式存储在世界存档目录中。
  • 零配置:开箱即用,无需额外设置。

🔗 PlaceholderAPI 集成

  • 广泛兼容:适用于 StyledChat、LuckPerms 及任何支持 PlaceholderAPI 的模组。
  • 多占位符:提供多种占位符格式以满足不同使用场景。
  • 可选依赖:可独立运行,但安装 PlaceholderAPI 后功能会增强。

🗺️ 路径点系统

在中土地图上创建自定义路径点,并具备高级共享功能:

  • 费用:创建需花费 64 枚银币。
  • 隐私设置:可将路径点设为公开或私有。
  • 成员访问:可添加特定玩家(例如:"玩家1, 玩家2")查看并传送到私有路径点。
  • 传送:左键点击任何可访问的路径点即可传送。

🧭 头衔菜单(新)

  • 打开方式:在游戏中按默认快捷键 O 打开阵营头衔菜单。你可以在“控制”中“中土扩展”分类下重新绑定该按键。
  • 阵营面板:一个紧凑的面板显示你当前的阵营图标和五个头衔节点。
  • 善/恶变体:菜单会根据你的阵营倾向(善/恶)调整按钮图标和头衔名称(例如:士兵→骑士→队长→男爵→领主 对比 战士→乌鲁克→酋长→将军→霸主)。
  • 线性进阶:必须按顺序解锁。尝试预览或解锁后续节点会显示前置条件未满足的消息。
  • 要求与反馈:提示框会显示银币、金币和经验等级要求,并用颜色区分状态。资源不足或缺少前置条件时,会在快捷栏上方显示消息提示。
  • 阵营图标:左上角的阵营按钮会显示与阵营相符的物品(例如:刚铎盾牌、魔多木盾等)。
  • 已解锁特权列表:面板中会列出已解锁头衔对应的特权(例如:10% 速度提升、+0.5 箭矢伤害、+1 颗心、抗性光环)。

🎮 玩家指令

  • 切换显示:玩家可以控制自己的阵营是否在聊天中显示。
  • 测试工具:内置用于调试和测试占位符功能的指令。

🛠️ 开发者 API

  • 公共 API:为其他模组提供访问阵营数据的简洁接口。
  • 类型安全:妥善处理空值和错误管理。
  • 文档:提供全面的 JavaDoc 和使用示例。

📋 前置要求

必需依赖

  • Minecraft:1.21.1
  • Fabric Loader:0.16.14 或更高版本
  • Fabric API:最新版本
  • 《中土Mod》:1.5.3-1.21.1-alpha 或兼容版本

可选依赖

  • PlaceholderAPI:2.4.0 或更高版本(用于增强占位符支持)
  • StyledChat:用于聊天格式集成
  • LuckPerms:用于基于权限的前缀/后缀集成

🚀 安装指南

  1. 安装 Fabric Loader 和 Fabric API。
  2. 安装《中土Mod》。
  3. 下载本模组并将其放入你的 mods 文件夹。
  4. (可选)安装 PlaceholderAPI 以获得更强的兼容性。
  5. 启动你的服务器/世界。

📝 可用占位符

基础占位符

占位符 描述 输出示例
%mefaction% 格式化后的阵营名称 Gondor
%mefaction_full% 完整的阵营标识符 me:gondor
%mefaction_display% 带有阵营的名称(如启用) [Gondor] PlayerName
%metitle% 玩家头衔名称 Soldier

支持的阵营

所有《中土Mod》的阵营均受支持,并会正确格式化:

阵营 ID 显示名称
me:gondor 刚铎
me:rohan 洛汗
me:dale 河谷镇
me:longbeards 长须氏族
me:longbeards.erebor 孤山
me:lothlorien 罗斯洛立安
me:mordor 魔多
me:misty_mountains_goblins 迷雾山脉
me:isengard 艾辛格
me:shire 夏尔
me:bandit 强盗

🎯 使用示例

StyledChat 集成

{
  "chat": {
    "format": "<%mefaction% {player_name}> {message}"
  }
}

效果:<Gondor PlayerName> 大家好!

LuckPerms 前缀

/lp user PlayerName meta setprefix 100 "%mefaction% "

效果:玩家显示为 Gondor PlayerName

自定义聊天格式

{
  "style": {
    "chat": "[%mefaction%] %player% » %message%"
  }
}

效果:[Gondor] PlayerName » 你好,中土世界!

🎮 指令

玩家指令

  • /togglefaction - 切换你名称中的阵营显示。
    • 显示你当前的阵营状态。
    • 预览你的名称将如何显示。

管理员指令

  • /viewfactiondata - 查看所有存储的阵营数据。
    • 列出所有玩家及其阵营。
    • 显示总玩家数。
  • /exportfactiondata - 显示阵营数据文件位置。
    • 显示 JSON 存储文件的路径。
    • 显示当前存储统计信息。
  • /testfactionplaceholder - 测试占位符功能。
    • 服务器管理员的调试工具。
    • 显示玩家所有可用的占位符。
    • 显示当前的开关状态。

📊 数据存储

阵营数据会自动保存到 [世界名]/faction_data.json:

{
  "player-uuid-here": {
    "playerId": "player-uuid",
    "playerName": "PlayerName",
    "disposition": "good",
    "factionId": "me:gondor",
    "spawnId": "me:gondor.minas_tirith",
    "timestamp": 1672531200000
  }
}

数据字段

  • playerId:玩家的唯一标识符。
  • playerName:玩家当前的名称。
  • disposition:阵营偏向(善/恶/中立)。
  • factionId:来自《中土Mod》的完整阵营标识符。
  • spawnId:关联的重生点位置。
  • timestamp:上次更新的时间戳(毫秒)。

🤝 兼容性

已测试的兼容性

  • ✅ StyledChat - 完整的聊天格式支持
  • ✅ LuckPerms - 前缀/后缀集成
  • ✅ TAB - 记分板和 Tab 列表集成
  • ✅ MiniMOTD - 服务器 MOTD 占位符

🛠️ 配置

本模组设计为零配置运行。所有设置都会根据你的《中土Mod》安装自动检测和配置。

自定义选项

  • 玩家的切换状态在服务器重启后会被保留。
  • 阵营名称格式可通过 API 进行自定义。
  • JSON 数据位置与世界存档绑定,以支持多世界。

📄 许可证

本模组根据“保留所有权利”许可证发布。详情请参阅 LICENSE 文件。

🙏 致谢

  • 《中土Mod》 - 感谢其提供了令人惊叹的中土体验。
  • PlaceholderAPI - 感谢其出色的占位符系统。
  • Fabric 社区 - 感谢其提供的模组框架和工具。

祝你在中土世界冒险愉快! 🧙‍♂️⚔️🏰