CrossplatForms
SpigotMC
玄易同志
2025-05-06
资源介绍
一、核心概念
1. 界面定义
- 表单和菜单统称为界面
- 两种数据结构表示方式:
PLAINTEXT# 列表结构 things: - "one" - "two" ... # 映射结构 things: snake: "cricket" bear: "fish" ...
2. 配置说明
- 无...的映射:固定键值配置
- 带...的映射:可扩展键值对(需遵守键值限制)
二、配置文件
通用配置
- config.yml(所有服务器)
- bedrock-forms.yml(开发中)
- java-menus.yml(开发中)
Spigot专属
- access-items.yml(开发中)
三、功能特性
- 操作定义:执行命令/打开界面/切换服务器
- 基岩版支持:
- 简单/模态表单:按钮触发不同操作
- 自定义表单:组件响应作为占位符
- Java版支持:
- 库存菜单(需Protocolize支持跨平台)
- 访问物品系统
- 命令支持:
- 注册自定义命令
- 监听现有命令执行
- 占位符系统:广泛支持各类占位符
四、平台支持
跨平台方案
[TABLE][TR]
[TH]方案[/TH]
[TH]需求[/TH]
[TH]备注[/TH]
[/TR]
[TR]
[TD]Geyser独立版[/TD]
[TD]直接使用[/TD]
[TD]推荐方案A[/TD]
[/TR]
[TR]
[TD]修改版Floodgate[/TD]
[TD]仅安装在代理端[/TD]
[TD]推荐方案B[/TD]
[/TR]
[/TABLE]
版本兼容性
- Spigot:1.8.8 - 1.19.4(CrossplatForms-Spigot.jar)
- BungeeCord(CrossplatForms-BungeeCord.jar)
- Velocity 3.x(CrossplatForms-Velocity.jar)
五、系统需求
基础需求
- Java 8+
- 基岩功能需Geyser/Floodgate
特殊配置
PLAINTEXT
# Spigot/BungeeCord/Waterfall需添加:
-Djdk.util.jar.enableMultiRelease=force六、命令系统
根命令
[TABLE][TR]
[TH]平台[/TH]
[TH]命令[/TH]
[TH]权限前缀[/TH]
[/TR]
[TR]
[TD]Spigot[/TD]
[TD]forms[/TD]
[TD]crossplatforms[/TD]
[/TR]
[TR]
[TD]BungeeCord[/TD]
[TD]formsb[/TD]
[TD]crossplatformsbungee[/TD]
[/TR]
[TR]
[TD]Velocity[/TD]
[TD]formsv[/TD]
[TD]crossplatformsvelocity[/TD]
[/TR]
[/TABLE]
命令列表
[TABLE][TR]
[TH]命令[/TH]
[TH]权限节点[/TH]
[TH]描述[/TH]
[/TR]
[TR]
[TD]forms help[/TD]
[TD]command.help[/TD]
[TD]查看可用命令[/TD]
[/TR]
[TR]
[TD]forms list[/TD]
[TD]command.list[/TD]
[TD]查看可访问界面[/TD]
[/TR]
[TR]
[TD]forms open[/TD]
[TD]command.open[/TD]
[TD]打开界面[/TD]
[/TR]
[TR]
[TD]forms send[/TD]
[TD]command.send[/TD]
[TD]向他人发送界面[/TD]
[/TR]
[TR]
[TD]forms give[/TD]
[TD]command.give(.others)[/TD]
[TD]获取访问物品[/TD]
[/TR]
[TR]
[TD]forms identify[/TD]
[TD]command.identify[/TD]
[TD]检测玩家平台[/TD]
[/TR]
[TR]
[TD]forms version[/TD]
[TD]command.version[/TD]
[TD]版本信息[/TD]
[/TR]
[TR]
[TD]forms reload[/TD]
[TD]command.reload[/TD]
[TD]重载配置[/TD]
[/TR]
[/TABLE]
七、权限系统
表单权限
PLAINTEXT
crossplatforms.form.<ID>.use # 使用权限
crossplatforms.form.<ID>.command # 命令调用权限菜单权限
PLAINTEXT
crossplatforms.menu.<ID>.use # 使用权限
crossplatforms.menu.<ID>.command # 命令调用权限访问物品权限(仅Spigot)
PLAINTEXT
crossplatforms.item.<ID>.possess # 持有权限
crossplatforms.item.<ID>.event # 事件获取权限
crossplatforms.item.<ID>.command # 命令获取权限
crossplatforms.item.<ID>.drop # 丢弃权限
crossplatforms.item.<ID>.preserve # 防销毁权限
crossplatforms.item.<ID>.move # 移动权限八、注意事项
- BungeeCord/Velocity不支持访问物品系统
- 跨平台库存菜单需Protocolize支持
- 权限节点自动注册(需LuckPerms)
- 基岩版检测问题应联系Geyser社区
九、附加资源
- 备用下载地址
- 开发版本下载
- 图库示例
操作(Actions)
操作通常用于对玩家或服务器执行某些动作。不同的操作之间没有直接关联,它们通常以集合形式定义,按顺序依次执行。
Spigot 兼容示例:
PLAINTEXT
actions:
# 将玩家传送至指定坐标
commands:
- tp %player_name% 0 65 0
# 随后让玩家打开名为 "spawn_form" 的表单或菜单
form: spawn_form[HR][/HR]
全平台通用操作
1. 命令(Commands)PLAINTEXT
# 依次执行每条命令。前缀决定执行者(默认以控制台身份执行)。
# 支持占位符(Placeholders)。
commands:
- "player; <以玩家身份执行的命令>"
- "op; <以临时 OP 权限执行的命令(仅限 Spigot)>"
- "console; <以控制台身份执行的命令>"
- "<默认以控制台身份执行的命令>"
...2. 消息(Message)
向玩家发送消息。
- LEGACY 格式使用符号解析传统颜色代码,支持十六进制颜色。
- JSON 使用基岩版 JSON 文本格式。
PLAINTEXT
message:
format: LEGACY # 可选 LEGACY 或 JSON
character: '§' # 颜色代码符号
message: <单条消息> # 直接发送一条消息
messages: # 或发送多条消息
- <消息1>
- <消息2>
...示例:
PLAINTEXT
message:
message: "§5您的余额为:§2 %player_balance%"3. 表单(Form)
PLAINTEXT
# 让玩家打开指定表单或菜单(不检查权限,支持占位符)。
form: <表单或菜单名称>4. 服务器转移(Server)
PLAINTEXT
# 将玩家转移到指定的 BungeeCord 或 Velocity 服务器。
# 若在 Spigot 上使用且服务器不存在,此操作会静默失败。
server: <服务器名称>5. 转移数据包(Transfer Packet)
PLAINTEXT
# 让基岩版玩家离开当前服务器并加入其他服务器(支持占位符)。
transfer_packet:
address: <IP地址或域名>
port: <端口号(1-65535)>[HR][/HR]
平台限制(Platform)
可选值:- bedrock 仅限基岩版玩家
- java 仅限 Java 版玩家
- all 无限制
权限默认值(Permission Default)
注册权限时的默认赋值。可选值:false, true, op(OP 权限)
作者信息
玄易同志
这位作者很懒,什么都没写~