基本信息
我的世界Java版本
1.21.4
平台
Fabric
运行环境
详情信息
许可证 CC0-1.0
发布于 2025-04-12
更新于 2025-04-24
更新日志
添加一个sex命令。
/sex 命令技术文档
概述
/sex 是一个自定义的Minecraft服务器命令,用于在指定实体周围创建爱心粒子效果。它具有灵活的嵌套语法,支持多个目标以及可配置的持续时间。
命令语法
/sex sexas <目标> [sexas|sexat <下一个目标> ...] <持续时间> <执行>
参数:
sexas:子命令,用于添加目标(追加到列表)sexat:替代子命令,功能与sexas相同<目标>:实体选择器(@p, @e等)<持续时间>:持续时间(单位:游戏刻,0表示停止,-1表示无限)<执行>:布尔值(true/false),确认是否执行
技术实现
核心组件
-
命令注册:
- 通过
CommandDispatcher注册 - 需要权限等级2
- 使用Brigadier的参数系统
- 通过
-
粒子系统:
- 创建爱心粒子(ParticleTypes.HEART)
- 粒子围绕目标呈圆形排列
- 仅限服务器端(无需客户端模组)
-
效果管理:
- 通过
HeartParticleEffect类跟踪活动效果 - 持续时间结束后自动清理
- 全局刻处理器更新所有活动效果
- 通过
关键类
-
SexCommand:- 主命令类
- 处理解析和执行
- 管理活动效果列表
-
HeartParticleEffect:- 每个目标的效果实例
- 处理粒子生成
- 跟踪剩余持续时间
翻译系统
命令使用Minecraft的标准翻译系统,包含以下键:
| 键 | 默认英文文本 | 参数 |
|---|---|---|
command.sex.success.single |
"让%s被爱心粒子包围" | 1: 实体名称 |
command.sex.success.multiple |
"让%s和%s被爱心粒子包围" | N: 实体名称 |
command.sex.not_executed |
"命令未执行" | 无 |
command.sex.duration_ticks |
"%s持续%s刻" | 1: 基础消息,2: 持续时间 |
command.sex.conjunction |
"和" | 无 |
技术细节
执行流程
- 通过嵌套参数递归解析命令
- 将所有目标收集到单一列表中
- 验证持续时间和执行标志
- 实例化效果并添加到活动列表
- 使用翻译系统构建反馈消息
- 每个服务器刻更新效果
性能考虑
- 粒子效果仅限服务器端
- 每个目标每刻生成10个粒子
- 活动效果列表自动清理已完成的效果
- 无持久化数据存储(服务器重启后效果消失)
API集成
- 使用标准Minecraft/Brigadier API
- 兼容原版客户端
- 无外部依赖
示例用例
- 单目标基础用法:
/sex sexas @p 100 true
- 多目标:
/sex sexas @p sexas @e[type=cow,distance=..5] 200 true
- 无限持续时间:
/sex sexas @e[type=sheep] -1 true
- 停止效果:
/sex sexas @e[type=sheep] 0 true
限制
- 粒子最大范围受服务器视距限制
- 无视觉效果自定义(固定为爱心粒子)
- 服务器重启后效果不保留
- 无法单独取消效果(仅支持基于持续时间的停止)
该实现提供了一个健壮、本地化的命令,能够无缝集成到Minecraft现有的命令和粒子系统中,同时保持良好的性能特性。
更多信息
资源类型
Minecraft资源发布版本
Beta版本号
0.0.1+build.14运行环境
游戏版本
1.21.4下载量
0发布时间
2025-04-11 23:02:50创作者
Redstone2337
Member



