LoginLocation
一个用于固定首次登录地点、支持跨世界传送的 Minecraft 服务器插件。
简介
LoginLocation 是一款轻量级的 Minecraft 服务器管理插件,主要用于控制玩家的首次登录位置和重生位置。适用于需要统一新手出生点、管理多世界传送、或需要固定玩家重生位置的服务器。
核心功能:
- 首次登录自动传送到全局出生点
- 死亡重生到全局出生点
- 新玩家自动传送开关
- GUI 管理面板
- 全消息可自定义(语言配置文件)
- 支持控制台和玩家命令
- 兼容 Multiverse 等多世界插件
安装说明
环境要求
| 项目 | 要求 |
|---|---|
| 服务端核心 | Bukkit / Spigot / Paper |
| Java 版本 | 8 及以上 |
| Minecraft 版本 | 1.8 - 1.26.2 |
安装步骤
- 下载
login-location-1.0.0.jar文件 - 将 jar 文件放入服务器的
plugins/目录 - 启动或重启服务器
- 插件会自动生成配置文件
plugins/LoginLocation/config.yml和plugins/LoginLocation/messages.yml
首次配置
- 进入服务器,在你想要设置为出生点的位置站好
- 执行命令
/ll setspawn设置全局出生点 - 执行
/ll status确认出生点已配置成功
命令
| 命令 | 描述 | 权限 | 可用位置 | |
|---|---|---|---|---|
/ll spawn | 传送到全局出生点 | loginlocation.use | 玩家 | |
/ll setspawn | 将当前位置设置为全局出生点 | loginlocation.setspawn | 玩家 | |
/ll setspawn.world <世界名> | 设置指定世界的出生点 | loginlocation.setspawn | 玩家/控制台 | |
/ll info [玩家名] | 查看玩家登录地点信息 | loginlocation.info | 玩家/控制台 | |
/ll gui | 打开 GUI 管理面板 | loginlocation.admin | 玩家 | |
/ll status | 查看插件状态 | loginlocation.use | 玩家/控制台 | |
/ll toggle | 开启/关闭插件 | loginlocation.admin | 玩家/控制台 | |
/ll worldspawn <true\ | false> | 新玩家自动传送开关 | loginlocation.admin | 玩家/控制台 |
/ll reload | 重新加载配置文件 | loginlocation.admin | 玩家/控制台 | |
/ll about | 查看插件信息 | 无 | 玩家/控制台 |
命令示例
设置出生点(站在想要的位置执行)
/ll setspawn
设置指定世界的出生点(控制台执行)
/ll setspawn.world world_nether
查询玩家登录信息
/ll info Steve
打开管理面板
/ll gui
开启新玩家自动传送
/ll worldspawn true
关闭新玩家自动传送
/ll worldspawn false
重载配置
/ll reload
GUI 管理面板
使用 /ll gui 命令打开管理面板,包含以下功能按钮:
| 按钮 | 功能 | 权限 |
|---|---|---|
| 重载配置 | 重新加载插件配置文件 | loginlocation.admin |
| 插件状态 | 开启/关闭插件 | loginlocation.admin |
| 查询玩家 | 点击后在聊天栏输入玩家名查询信息 | loginlocation.info |
| 设置出生点 | 将当前位置设置为全局出生点 | loginlocation.setspawn |
| 传送到出生点 | 立即传送到全局出生点 | loginlocation.use |
| 插件状态 | 查看详细状态信息 | loginlocation.use |
权限组
| 权限节点 | 描述 | 默认值 |
|---|---|---|
loginlocation.use | 使用基本命令(spawn、status) | true |
loginlocation.admin | 管理员权限(gui、reload、toggle、worldspawn) | op |
loginlocation.setspawn | 设置出生点权限 | op |
loginlocation.info | 查看玩家登录地点信息 | true |
配置文件说明
config.yml - 主配置文件
配置文件路径:plugins/LoginLocation/config.yml
# 插件是否启用
plugin-enabled: true
是否在死亡时重生到全局出生点
respawn-at-global-spawn: true
新玩家自动传送到出生点
worldspawn: true
出生点设置(由 /ll setspawn 命令自动设置)
spawn:
configured: false
world: world
x: 0.0
y: 64.0
z: 0.0
yaw: 0.0
pitch: 0.0
音效设置
sounds:
enabled: true
gui-open: "BLOCK_NOTE_BLOCK_PLING"
gui-click: "UI_BUTTON_CLICK"
teleport: "ENTITY_ENDERMAN_TELEPORT"
first-login: "ENTITY_PLAYER_LEVELUP"
set-spawn: "BLOCK_NOTE_BLOCK_BELL"
error: "ENTITY_VILLAGER_NO"
日志设置
logging:
log-player-login: true
log-teleport: true
log-spawn-set: true
配置项说明
| 配置项 | 类型 | 说明 |
|---|---|---|
plugin-enabled | boolean | 插件总开关 |
respawn-at-global-spawn | boolean | 死亡后是否重生到全局出生点 |
worldspawn | boolean | 新玩家是否自动传送到出生点 |
sounds.enabled | boolean | 是否启用音效 |
logging.* | boolean | 是否记录各类日志 |
messages.yml - 语言配置文件
配置文件路径:plugins/LoginLocation/messages.yml
所有玩家可见的消息都可以在这里自定义,支持:
- 颜色代码:使用
&加颜色代码(如&a绿色、&c红色、&f白色) - 变量替换:使用
{变量名}格式
可用变量列表
| 变量 | 说明 | 使用场景 |
|---|---|---|
{world} | 世界名 | 出生点设置、玩家信息 |
{x} {y} {z} | 坐标 | 出生点设置、玩家信息 |
{player} | 玩家名 | 玩家信息、查询 |
{uuid} | 玩家UUID | 玩家信息 |
{count} | 玩家数据数量 | 重载配置 |
{status} | 状态值 | 插件状态 |
{last_online} | 最后在线时间 | 离线玩家信息 |
{version} | 插件版本 | 关于信息 |
{author} | 作者 | 关于信息 |
{command} | 命令 | 控制台提示 |
颜色代码参考
| 代码 | 颜色 | 代码 | 颜色 |
|---|---|---|---|
&0 | 黑色 | &8 | 深灰色 |
&1 | 深蓝色 | &9 | 蓝色 |
&2 | 深绿色 | &a | 绿色 |
&3 | 湖蓝色 | &b | 天蓝色 |
&4 | 深红色 | &c | 红色 |
&5 | 紫色 | &d | 粉色 |
&6 | 金色 | &e | 黄色 |
&7 | 灰色 | &f | 白色 |
依赖插件
必需依赖
| 插件 | 说明 |
|---|---|
| Bukkit / Spigot / Paper | 服务端核心 |
可选依赖
| 插件 | 说明 |
|---|---|
| Multiverse-Core | 多世界管理,用于跨世界传送 |
| LuckPerms | 权限管理,用于精细控制权限组 |
使用流程
- 将插件放入
plugins/目录并重启服务器 - 使用
/ll setspawn设置全局出生点 - 使用
/ll worldspawn true开启新玩家自动传送 - 可选:配置
messages.yml自定义消息 - 玩家首次登录时会自动传送到出生点
- 玩家死亡后会重生到出生点
- 使用
/ll gui打开管理面板进行管理
常见问题
Q: 出生点设置后不生效?
A: 请检查 /ll status 中"出生点配置"是否显示"已配置"。如果显示"未配置",请重新执行 /ll setspawn。
Q: 新玩家登录没有传送到出生点?
A: 可能是以下原因:
- 出生点未配置(执行
/ll status检查) - 插件未启用(执行
/ll status检查) - 新玩家自动传送未开启(执行
/ll worldspawn true开启) - 其他插件冲突(检查控制台报错)
Q: 如何关闭新玩家自动传送?
A: 执行 /ll worldspawn false 即可关闭。
Q: 如何重置玩家的首次登录记录?
A: 删除 plugins/LoginLocation/playerdata.yml 中对应玩家的数据,或删除整个文件重置所有玩家数据。
构建
mvn clean package
构建后的 jar 文件位于 target/login-location-1.0.0.jar。
作者
sixweek
- QQ: 3857490475
许可证
MIT License
欢迎使用 MeowDocs