此教程主要面向互通服的客户端类型检测,包括检测Java版客户端及各种设备上的基岩版,如Android,Windows10/11,iOS版等。
前置需求
你有过开插件端并调试过插件的经验
一个Java插件端(最好是Paper或Paper的分支,不推荐使用Spigot)
安装插件:Geyser,Floodgate,PlaceholderAPI
可选插件(大概率需要):Viaversion,Viabackwards
能够显示PHAPI变量的插件,如TAB,PowerBoard等
步骤
装好以上插件,启动一次服务器,然后关闭服务器。
前往下方网站下载papi的floodgate扩展:
https://api.extendedclip.com/expansions/floodgate/ 下载完成后转到你服务器的
/plugins/PlaceholderAPI/expansions/
文件夹,将下载到的jar文件放进此文件夹启动服务器
(可选)编辑papi的config.yml文件,以更改显示的效果
编辑你的显示papi变量的插件,此处以TAB插件的计分板为例:
显示效果如下图所示:
PAPI变量及配置文件
PAPI变量
%floodgate_device% #玩家的客户端设备类型,参照下方的配置显示
%floodgate_locale% #玩家的客户端语言,使用小写英文显示,如zh_cn(若客户端为Java版则显示为N/A)
%floodgate_locale_upper% #玩家的客户端语言,使用大写英文显示,如ZH_CN(若客户端为Java版则显示为N/A)
%floodgate_version% #玩家的基岩版客户端版本(若客户端为Java版则显示为N/A)
%floodgate_username% #玩家的基岩版用户名(若客户端为Java版则显示为N/A)
%floodgate_xuid% #玩家的Xuid(仅当客户端为基岩版时生效。否则显示N/A)
%floodgate_isbedrock% #玩家是否为基岩版
papi的config.yml配置
#上方内容省略
expansions: #扩展配置
floodgate: #floodgate扩展
device: #设备类型的显示名
osx: '&fOS&bX'
ps4: '&3PS4/PS5'
uwp: '&bWin10&f/&911' #例如,使用Windows版MCBE客户端在最终输出显示为Win10/11
ios: '&di&fOS'
win32: '&9Win&732'
unknown: '&4Unknown'
gearvr: '&7Gear&fVR'
nx: '&cSwitch'
google: '&aAndroid'
dedicated: '&5DED'
generic: '&7Bedrock'
java: '&6Java'
amazon: '&eAmazon'
xbox: '&2Xbox'
hololens: '&7Holo&fLens'
is-bedrock: #客户端是否为基岩版
none: 'false'
found: 'true'
xbox-xuid: #玩家的xuid
none: '&6N/A'
found: '&6%xuid%'
xbox-username: #玩家的基岩版用户名
found: '&6%username%'
none: '&6N/A'
locale: #玩家语言
none: '&6N/A'
found: '&6%locale%'
version: #玩家客户端版本
none: '&6N/A'
found: '&6%version%'