Icon

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 无限制
[HR][/HR]

权限默认值(Permission Default)

注册权限时的默认赋值。
可选值:false, true, op(OP 权限)
资源操作
前往下载
将跳转至进入云盘/官网下载!请知晓
作者信息
Avatar
玄易同志

这位作者很懒,什么都没写~