版本: 1.10.0+indev · Minecraft: 26.2 · 加载器: Fabric Loader 0.19.3
许可协议: Apache-2.0
简体中文 | English
YouzaiWorldCore 是悠哉世界(Youzai World)Minecraft 多人服务器的核心玩法模组,基于 Fabric 框架开发。该模组为服务器提供了一套完整的基础设施,涵盖账户认证、GUI菜单系统、自定义物品与方块、技能系统、跨维度传送、实验性功能切换等核心能力。
- 离线模式服务器:内置账户认证系统,支持注册/登录/登出/密码修改与会话恢复
- 生存玩法增强:提供悠哉系列工具(具有连锁挖掘、范围伤害等特殊效果)、自定义方块与合成配方
- 服务器运营管理:GUI 菜单导航、世界切换、管理员运营工具
- 玩家体验优化:技能属性系统(Puffish Skills)、成就系统、占位符集成
| 用户类型 | 说明 |
|---|---|
| 服务器管理员 | 运营悠哉世界服务器的 OP/管理员,通过命令与菜单管理系统 |
| 生存玩家 | 在服务器游玩的普通玩家,使用悠哉工具、技能系统、世界传送等 |
| 模组开发者 | 希望了解模组架构、扩展功能或贡献代码的开发者 |
完整的离线模式账户系统,支持密码注册、登录、登出与管理员管理。
- 密码安全:SHA-256 加盐哈希存储,支持登录次数限制(最多 5 次)
- 会话管理:支持可配置的会话超时时间,断线重连自动恢复
- 位置保存:登出时自动保存玩家位置并传送至虚空,登录后精确恢复
- 登录大厅:未认证玩家被限制在自定义的
login_hall维度,无法移动或交互 - 管理员工具:创建离线账户、重置密码、删除账户、设置会话超时
基于 Fabric Screen 构建的全方位图形界面菜单系统,采用 Windows 10 开始菜单风格的磁贴布局,支持动画过渡效果。
| 菜单 | 说明 |
|---|---|
| 主菜单 | 功能总入口,包含切换世界、活动、签到、教程、设置等磁贴按钮 |
| 切换世界 | 展示所有可传送的世界(生存、王城、玩法、创造、建筑等) |
| 设置 | 提供音乐/音效开关、PVP/友军伤害开关、难度选择等配置 |
| 关于我 | 显示玩家 3D 模型渲染、玩家ID、首次/最后加入时间、游玩时长 |
快捷键:Shift + F 快捷打开主菜单。
一套全新的矿物与工具系列,等级对标钻石工具。
| 物品 | 特殊效果 |
|---|---|
| 悠哉铲 | 蹲下挖掘可向前连锁 6 格 |
| 悠哉镐 | 蹲下挖掘可向前连锁 6 格 |
| 悠哉锄 | 蹲下使用可耕 3×3 的地 |
| 悠哉剑 | 攻击时有 4% 概率触发暴击,伤害翻倍 |
| 悠哉斧 | 跳劈时对周围敌人造成范围伤害 |
| 守护之心 | 携带时死亡不掉落物品,每次死亡消耗一个 |
| 凭虚法杖 | 右键切换飞行模式,饥饿值为零时自动关闭 |
| 悠哉世界(Logo) | 服务器标识物品 |
| 方块 | 特性 |
|---|---|
| 悠哉矿 / 深层悠哉矿 | 主世界生成,掉落经验(2-5),需钻石镐采集 |
| 悠哉原矿块 / 悠哉块 | 矿物存储方块 |
| 分解台 | GUI 界面,用于分解物品为原材料 |
| 飞行信标 | 提供区域飞行能力,可切换激活状态 |
集成 Puffish Skills 技能模组,提供 11 种属性提升:
| 属性 | 效果 |
|---|---|
| 生命值 +1 | 每级增加 1 点最大生命值 |
| 抵抗 +1% | 每级增加 1% 伤害减免 |
| 近战伤害 +1% | 近战攻击伤害百分比提升 |
| 远程伤害 +1% | 远程攻击伤害百分比提升 |
| 攻击速度 +1% | 攻击速度百分比提升 |
| 移动速度 +1% | 移动速度百分比提升 |
| 幸运 +0.1 | 每级增加 0.1 幸运值 |
| 耐力 +1% | 每级增加 1% 耐力 |
| 治疗 +1% | 治疗量百分比提升 |
| 跳跃 +1% | 跳跃高度百分比提升 |
| 挖掘速度 +1% | 挖掘速度百分比提升 |
包含两大进度分支:
- 悠哉世界(主要进度):涵盖获取悠哉矿石/锭/块/工具、使用分解台/飞行信标/守护之心/凭虚法杖等
- 趣味小挑战:蛋糕是谎言、美食家、绿宝石块、像牛和猪一样、最大幸运、困在蜘蛛网、回家之路、铜盔甲
支持服务端全局开关 + 玩家级覆写的实验性功能管理系统,状态配置持久化到 JSON 文件。
集成 Placeholder API 和 LuckPerms 占位符,支持动态/静态占位符解析。
提供基于 LuckPerms 的细粒度权限控制,自动回退至原版 OP 等级检查。
创造模式标签页中的四大预设潜影盒,一键生成:
| 预设 | 内容 |
|---|---|
| 毕业套装(红色) | 满配下界合金装备、全附魔工具/武器、消耗品 |
| 毕业套补充(橙色) | 实用工具、建筑材料、额外防具 |
| 不死图腾(黄色) | 27 个不死图腾 |
| 炸药包(灰色) | 27 组 × 64 TNT |
所有指令以 /yzwc 为根命令,基于 Brigadier 命令框架构建。
/yzwc
├── (无参数) — 显示 "Hello World" 提示信息
│
├── teleport_world <targets> <dimension> [x] [y] [z] [yRot] [xRot]
│ ├── 描述:将目标玩家传送到指定维度的坐标
│ ├── 权限:youzaiworldcore.command.teleport_world(或 OP 4 级)
│ ├── 参数:
│ │ • targets — 目标玩家(支持多选)
│ │ • dimension — 目标维度(如 minecraft:overworld)
│ │ • x, y, z — 目标坐标(可选,默认为 0, 100, 0)
│ │ • yRot — 水平旋转角度(可选,-180 ~ 180)
│ │ • xRot — 垂直旋转角度(可选,-90 ~ 90)
│ └── 示例:
│ /yzwc teleport_world @p minecraft:the_nether
│ /yzwc teleport_world @a minecraft:overworld 0 64 0
│
├── open_menu <menu_name> [target]
│ ├── 描述:为玩家打开指定 GUI 菜单
│ ├── 权限:youzaiworldcore.command.open_menu(或 OP 4 级)
│ ├── 参数:
│ │ • menu_name — 菜单名称(main / switch_world / settings / about_me)
│ │ • target — 目标玩家(可选,默认为命令执行者)
│ └── 示例:
│ /yzwc open_menu main
│ /yzwc open_menu settings @p
│
├── experimental_feature <id> [true/false [all|only <player>]]
│ ├── 描述:查询或切换实验性功能
│ ├── 权限:
│ │ • 查询:youzaiworldcore.command.experimental_feature.query
│ │ • 自切换:youzaiworldcore.command.experimental_feature.self
│ │ • 管理(all/only):youzaiworldcore.command.experimental_feature.admin(或 OP 4 级)
│ ├── 参数:
│ │ • id — 实验性功能内部 ID(如 chicken_warden_model)
│ │ • true/false — 启用/禁用(可选,省略则为查询模式)
│ │ • all — 全服切换(需要管理员权限)
│ │ • only <player> — 为指定玩家切换(需要管理员权限)
│ └── 示例:
│ /yzwc experimental_feature chicken_warden_model ← 查询状态
│ /yzwc experimental_feature chicken_warden_model true ← 为自己启用
│ /yzwc experimental_feature chicken_warden_model false all ← 全服禁用
│ /yzwc experimental_feature chicken_warden_model true only Steve ← 为 Steve 启用
│
├── reload
│ ├── 描述:运行时重新加载模组数据(账户数据、配置等),无需重启服务器
│ ├── 权限:youzaiworldcore.command.reload(或 OP 4 级)
│ └── 示例:
│ /yzwc reload
│
└── account <子命令>
├── 描述:账户认证管理
│
├── 📋 玩家命令:
│ ├── register <password> <confirm>
│ │ ├── 描述:注册新账户
│ │ ├── 权限:无(所有人)
│ │ ├── 限制:密码长度 4-128 字符
│ │ └── 示例:/yzwc account register MyPass123 MyPass123
│ │
│ ├── login <password>
│ │ ├── 描述:登录账户
│ │ ├── 权限:无(所有人)
│ │ ├── 限制:最多 5 次尝试
│ │ └── 示例:/yzwc account login MyPass123
│ │
│ ├── logout
│ │ ├── 描述:登出账户,传送至末地虚空
│ │ ├── 权限:无(所有人)
│ │ └── 示例:/yzwc account logout
│ │
│ ├── deactivate <password>
│ │ ├── 描述:注销(删除)账户
│ │ ├── 权限:无(所有人)
│ │ └── 示例:/yzwc account deactivate MyPass123
│ │
│ └── change_password <oldPassword> <newPassword> <confirmPassword>
│ ├── 描述:修改密码
│ ├── 权限:无(所有人)
│ └── 示例:/yzwc account change_password Old123 New456 New456
│
└── 🔧 管理员命令(需 OP 4 级):
├── mgr create <player> <newPassword> <confirmPassword>
│ ├── 描述:为离线玩家创建账户并设置密码
│ └── 示例:/yzwc account mgr create Steve Pass123 Pass123
│
├── mgr reset_password <player> <newPassword> <confirmPassword>
│ ├── 描述:重置指定玩家的密码
│ └── 示例:/yzwc account mgr reset_password Steve NewPass456 NewPass456
│
├── mgr delete <player>
│ ├── 描述:删除指定玩家的账户
│ └── 示例:/yzwc account mgr delete Steve
│
└── mgr session_timeout [seconds]
├── 描述:查看或设置会话超时时间(0 = 关闭)
└── 示例:
/yzwc account mgr session_timeout ← 查看当前值
/yzwc account mgr session_timeout 3600 ← 设为 1 小时
| 权限节点 | 说明 | 默认回退等级 |
|---|---|---|
youzaiworldcore.command.teleport_world |
跨维度传送 | OP 4 级 |
youzaiworldcore.command.open_menu |
打开菜单 | OP 4 级 |
youzaiworldcore.command.reload |
模组重载 | OP 4 级 |
youzaiworldcore.command.experimental_feature |
实验性功能(基础) | 所有人 |
youzaiworldcore.command.experimental_feature.query |
实验性功能查询 | 所有人 |
youzaiworldcore.command.experimental_feature.self |
自切换实验性功能 | 所有人 |
youzaiworldcore.command.experimental_feature.admin |
管理实验性功能 | OP 4 级 |
youzaiworldcore.command.* |
所有命令通配符 | — |
youzaiworldcore.* |
整个模组通配符 | — |
实验性功能系统支持服务端全局开关和玩家级覆写,配置持久化到 config/youzaiworldcore/experimental_feature/ 目录。
| 内部 ID | 名称 | 功能描述 | 提供者 | 来源 | 默认状态 | 当前状态 |
|---|---|---|---|---|---|---|
chicken_warden_model |
鸡管者模型 | 修改 Minecraft 原版监守者(Warden)的材质与模型为"坤坤"样式,使用 GeckoLib 动画引擎 | 终end | 苦力怕论坛 | ❌ 禁用 | 实验性 |
- 实验性功能默认为禁用状态,需由管理员或玩家主动启用
- 状态分为三层:全局状态(服务端范围)> 玩家覆写(个人设置)> 客户端缓存
- 客户端与服务端分别持久化配置到不同 JSON 文件
- 服务端通过
FeatureSyncPayload数据包实现状态同步 - 实验性功能可能影响游戏稳定性,建议在测试环境中充分验证后再全服启用
GUI 菜单系统基于 MenuScreen + MenuElementGroup 接口实现,支持可切换页面与动画过渡。
| 内部 ID | 菜单名称 | 层级关系 | 功能说明 |
|---|---|---|---|
main |
主菜单 | 根菜单 | 功能总入口,展示 5 列磁贴布局,包含切换世界、问卷调查、称号、活动、关于我、签到、教程中心、设置、邮箱、官网、举报、管理 |
switch_world |
切换世界 | 主菜单 → 切换世界 | 显示 11 个可传送世界的磁贴按钮(生存、王城、玩法、创造、建筑、下界、末地、指令区、市场、主世界、登录大厅),点击弹出传送确认对话框 |
settings |
设置 | 主菜单 → 设置 | 通用设置(音乐/音效开关)、游戏设置(PVP/友军伤害开关、难度下拉选择) |
about_me |
关于我 | 主菜单 → 关于我 | 显示玩家 3D 模型渲染、玩家ID、首次/最后加入时间、游玩时长,带淡入动画效果 |
菜单通过 OpenMenuPayload (S2C 数据包,ID: youzaiworldcore:open_menu)在服务端与客户端之间通信:
| 数据包 ID | 方向 | 用途 |
|---|---|---|
youzaiworldcore:open_menu |
服务端 → 客户端 | 打开指定名称的菜单界面 |
youzaiworldcore:feature_sync |
服务端 → 客户端 | 同步实验性功能状态 |
youzaiworldcore:open_auth_screen |
服务端 → 客户端 | 打开认证界面 |
youzaiworldcore:decompose_item |
客户端 → 服务端 | 分解台物品分解请求 |
youzaiworldcore:fly_beacon_active |
客户端 → 服务端 | 飞行信标激活状态切换 |
| 依赖 | 版本 | 用途 |
|---|---|---|
| Minecraft | 26.2 | 基础游戏引擎 |
| Fabric Loader | 0.19.3 | 模组加载器 |
| Fabric API | 0.152.1+26.2 | Fabric 标准 API |
| GeckoLib | 5.5.1 | 3D 实体动画(鸡管者模型) |
| Placeholder API | 3.1.0-beta.1+26.2 | 文本占位符解析 |
| Fabric Permissions API | 0.6.1(内置) | 跨模组权限 |
| LuckPerms API | 5.5(编译时,可选运行时) | 高级权限控制 |
- JDK: Java 25+
- 构建系统: Gradle(Fabric Loom 1.16-SNAPSHOT)
src/
├── main/java/top/csituka/youzaiworldcore/ # 服务端/通用代码
│ ├── YouzaiworldCore.java # 主入口
│ ├── account/ # 账户认证系统
│ │ ├── command/AccountCommands.java # 账户管理命令
│ │ ├── data/ # 数据存储与模型
│ │ ├── mixin/ # 认证相关 Mixin
│ │ └── util/ # 工具类(密码哈希等)
│ ├── block/ # 自定义方块
│ ├── command/ # 命令注册
│ ├── component/ # 数据组件
│ ├── event/ # 事件监听器
│ ├── feature/ # 实验性功能系统
│ ├── item/ # 物品与工具
│ ├── luckperms/ # LuckPerms 集成
│ ├── mixin/ # 通用 Mixin
│ ├── network/ # 网络数据包
│ ├── placeholders/ # 占位符系统
│ └── screen/ # 容器菜单
│
├── client/java/top/csituka/youzaiworldcore/ # 客户端专用代码
│ ├── client/Client.java # 客户端入口
│ ├── network/ClientNetworking.java # 客户端网络处理
│ ├── mixin/client/ # 客户端 Mixin
│ ├── renderer/entity/ # 实体渲染器
│ └── screen/ # GUI 界面
│ ├── MenuScreen.java # 主菜单屏幕
│ ├── element/ # 菜单组元素
│ ├── widget/ # UI 小部件
│ └── block/ # 方块 GUI 屏幕
│
└── main/resources/ # 资源文件
├── assets/youzaiworldcore/ # 资产(语言文件、纹理等)
└── data/ # 数据包(进度、配方、战利品等)
| 配方 | 类型 | 描述 |
|---|---|---|
yz_ingot_from_blasting_raw_yz |
熔炼 | 悠哉原矿 → 悠哉锭 |
yz_ingot_from_yz_block |
合成 | 悠哉块 → 9 悠哉锭 |
yz_ingot_from_nuggets |
合成 | 9 悠哉粒 → 悠哉锭 |
yz_block |
合成 | 9 悠哉锭 → 悠哉块 |
yz_nugget_from_ingot |
合成 | 悠哉锭 → 9 悠哉粒 |
yz_pickaxe / yz_axe / yz_shovel / yz_hoe / yz_sword |
合成 | 悠哉系列工具 |
decomposition_table |
合成 | 分解台 |
fly_beacon |
合成 | 飞行信标 |
heart_of_guardianship |
合成 | 守护之心 |
void_staff |
合成 | 凭虚法杖 |
raw_yz_block / raw_yz_from_raw_yz_block |
合成 | 原矿块转换 |
yz_block_from_blasting_raw_yz_block |
熔炼 | 悠哉原矿块 → 悠哉块 |
- 官方网站: https://mcyzw.top
- GitHub 仓库: https://github.com/Youzai-World-Team/YouzaiWorldCore
- 问题反馈: Issues
核心作者: ress2338396, zxabinbina, Maskviva, Youzai World Team
贡献者: why, zhongbilibili, Everyone who has contributed to this project
注意:测试模组请在服务端进行,客户端单独运行无法正常工作。