Files
RandomTeleporter/README.md
TheWhiteDog9487 8b03098280 0.5.0
支持通过对角线坐标设置随机坐标选取范围
远离边界这个保护的实现有问题,然后地狱末地什么玩意的也不对,重试机制也不存在,这些之后再鸽
2026-02-11 18:12:06 +08:00

108 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 介绍
这个模组增加了一个命令 `/rtp`,用于将玩家随机传送到世界的任何一个位置。
# 命令格式
- `/rtp`
- `/rtp <随机半径>`
- `/rtp <被传送玩家ID>`
- `/rtp <随机半径> <被传送玩家ID>`
- `/rtp <被传送玩家ID> <随机半径>`
- `/rtp <随机半径> <随机中心点坐标>`
- `/rtp <随机半径> <被传送玩家ID> <作为随机中心的实体>`
- `/rtp <随机半径> <被传送玩家ID> <随机中心点坐标>`
- `/rtp <被传送玩家ID> <随机半径> <作为随机中心的实体>`
- `/rtp <被传送玩家ID> <随机半径> <随机中心点坐标>`
- `/rtp <随机区域起点坐标> <随机区域终点坐标>`
- `/rtp <被传送玩家ID> <随机区域起点坐标> <随机区域终点坐标>`
- `/rtp <随机区域起点坐标> <随机区域终点坐标> <被传送玩家ID>`
- `/rtp <随机区域起点实体> <随机区域终点实体>`
- `/rtp <随机区域起点实体> <随机区域终点实体> <被传送玩家ID>`
## 命令示例
- `/rtp`
将执行命令的玩家随机传送到以`(0,0)`为中心点2.9e7 - 1e4作为随机半径的范围内的随机一点
2.9e+7 = 2.9 x 10^7 = 29000000 = 两千九百万
1e4 = 10^4 = 10000 = 一万
- `/rtp 1000`
将执行命令的玩家随机传送到以`(0,0)`为中心点1000作为随机半径的范围内的随机一点
- `/rtp TheWhiteDog9487`
将TheWhiteDog9487随机传送到以`(0,0)`为中心点2.9e7 - 1e4作为随机半径的范围内的随机一点
- `/rtp TheWhiteDog9487 1000`
将TheWhiteDog9487随机传送到以`(0,0)`为中心点1000作为随机半径的范围内的随机一点
- `/rtp 1000 TheWhiteDog9487`
将TheWhiteDog9487随机传送到以`(0,0)`为中心点1000作为随机半径的范围内的随机一点
- `/rtp 1000 10000 10000`
将执行命令的玩家随机传送到以`(10000,10000)`为中心点1000作为随机半径的范围内的随机一点
- `/rtp 1000 TheWhiteDog9487 TheWhiteDog_CN`
将TheWhiteDog9487随机传送到以TheWhiteDog_CN所在位置为中心点1000作为随机半径的范围内的随机一点
- `/rtp 1000 TheWhiteDog9487 10000 10000`
将TheWhiteDog9487随机传送到以`(10000,10000)`为中心点1000作为随机半径的范围内的随机一点
- `/rtp TheWhiteDog9487 1000 TheWhiteDog_CN`
将TheWhiteDog9487随机传送到以TheWhiteDog_CN所在位置为中心点1000作为随机半径的范围内的随机一点
- `/rtp TheWhiteDog9487 1000 10000 10000`
将TheWhiteDog9487随机传送到以`(10000,10000)`为中心点1000作为随机半径的范围内的随机一点
- `/rtp 10000 10000 20000 20000`
将执行命令的玩家随机传送到以`(10000,10000)`,`(20000,10000)`,`(20000,20000)`,`(10000,20000)`四个顶点围成的长方形区域内的随机一点
您需要提供的坐标是这个长方形的任意一个顶点和这个顶点对应的斜对角顶点的位置
- `/rtp TheWhiteDog9487 10000 10000 20000 20000`
将TheWhiteDog9487随机传送到以`(10000,10000)`,`(20000,10000)`,`(20000,20000)`,`(10000,20000)`四个顶点围成的长方形区域内的随机一点
- `/rtp 10000 10000 20000 20000 TheWhiteDog9487`
将TheWhiteDog9487随机传送到以`(10000,10000)`,`(20000,10000)`,`(20000,20000)`,`(10000,20000)`四个顶点围成的长方形区域内的随机一点
- `/rtp TheWhiteDog9487 TheWhiteDog_CN`
将命令执行者传送到以TheWhiteDog9487和TheWhiteDog_CN当前所在位置为对角线的长方形区域内的随机一点
- `/rtp TheWhiteDog9487 TheWhiteDog_CN TheWhiteDog4568`
将TheWhiteDog4568随机传送到以TheWhiteDog9487和TheWhiteDog_CN当前所在位置为对角线的长方形区域内的随机一点
### 特别提示
`/rtp <随机半径> <作为随机中心的实体>` 这种格式不存在。
因为第二个参数可能是被传送玩家名,也可能是做随机中心点的实体。
这两种都是实体类型,无法区分到底是哪一种,存在歧义。
同样,`/rtp <被传送玩家ID> <随机区域起点实体> <随机区域终点实体>` 这一组也是不存在的
三个参数都是实体类型,没办法区分`被传送玩家ID`是第一个还是第三个
# 依赖项
Fabric API
# 关于玩家权限
我参照原版的 `/tp` 命令,给 `/rtp` 设置了2级的权限要求。
如果是原版或者类原版,你只需要让玩家有作弊的权限就可以用。
插件服务器方面那些具体的权限分配,因为我自己没玩过所以我也没法给出参考意见。
# 在客户端还是服务器安装?
分以下情况:
1. 单人游戏
1. 物理服务器不存在,所以服务器不用管
2. 客户端安装即可
2. 单人游戏 + 开放局域网
1. 使用客户端内置的服务器,开放局域网的那位玩家的客户端需要安装
2. 其他加入游戏的玩家不需要安装
3. 使用独立服务器(类似`server.jar`这种文件)
1. 服务器需要安装
2. 客户端不需要
**注意情况2和3如果其他玩家不安装本模组他们看到的命令执行反馈就无法正确使用翻译而在这种情况下默认显示中文文本。
如果有查看多语言翻译文本的需求 ,那建议还是都装一下吧。**
# 一些小彩蛋
你可以使用 `/随机传送` 来替代 `/rtp`
没错Minecraft的命令是可以存在非ASCII字符的所以我就整了一个
例如:
- `/rtp TheWhiteDog9487 1000`
- `/随机传送 TheWhiteDog9487 1000`
这两个命令的效果没有任何差别
玩家权限限制和 `/rtp` 当然也是一样的都是2级