(重构)BetterSidebar - 更好的自定义侧边栏

LLSE (重构)BetterSidebar - 更好的自定义侧边栏 0.1.20

Source of resources
Original
Copyright link
#
Language
Chinese(Simplified)
Precondition
[可选]BEPlaceholderAPI 前置组件
- GMLIB - 功能强大的前置库 https://www.minebbs.com/resources/gmlib.6636/
- GMLIB-LegacyRemoteCallApi https://www.minebbs.com/resources/gmlib-legacyremotecallapi-gmlib-remotecallapi.7159/
Supported version
  1. The latest version
介绍:
这是一款自定义侧边栏,它支持 多达
88+ 种变量 可以多行动态切换跳动
性能优化好,根据变量使用情况灵活调用服务器资源,公共资源每次刷新只调用一次(全部玩家共用,极大的节约服务器资源)对接 BEPlaceholderAPI 变量使用简单 还支持 js 表达式!

如果遇到问题可以
点击我加群询问 ( 往下滑动 有视频教程 )

重构更新 0.1.0

该版本和旧版本 有些地方无法兼容,请自行更改

现在变量除了新增的 还可以直接根据llse直接调用
例如:
{pl.pos.x} -- 当前x坐标

{pl.getScore(money)} -- 获取当前玩家 money 的记分板

是不是很灵活?

本次主要更新了
1, 过滤模拟玩家,未加载完成的玩家,睡觉中的玩家(提高性能)
2,公共变量只调用一次 , 其它玩家均用缓存
3,两层索引的动态跳动 每个都初始化了 独立索引防止 乱跳动的问题 出现
4,根据用户使用变量情况 自行选择需要的变量 减少不必要的变量更新 (减少服务器压力)

配置监听记分板(>=0.1.3支持)
(旧版配置需要自行添加on配置项)
例如:

JavaScript:
"on": {

        "money": {

            '<=0': '{num}一干二净',//小于等于 0

            '=100': '小钱带',

            '500': '钱包鼓鼓',// = 可以忽略不写

            '>1000': '小富',//大于1000

            '>=5000': '富豪',//大于等于5000

            '>=100000': '富可敌国'

        }//监听 money 记分项 只对该记分项生效

    },//记分板监听 显示不同字符串
 
    //  {num}  是监听记分板的值 的变量 (这里只支持这一种!!!)



变量列表:
变量统一用
{变量名} 包裹
玩家的 pl


属性含义类型
pl.llmoney玩家llmoneyInteger
pl.name玩家名String
pl.pos玩家所在坐标number
pl.blockPos玩家所在的方块坐标IntPos
pl.lastDeathPos玩家上次死亡的坐标IntPos
pl.realName玩家的真实名字String
pl.xuid玩家XUID字符串String
pl.uuid玩家Uuid字符串String
pl.permLevel玩家的操作权限等级(0 - 4)Integer
pl.gameMode玩家的游戏模式(0 - 3)Integer
pl.canFly玩家是否可以飞行Boolean
pl.canSleep玩家是否可以睡觉Boolean
pl.canBeSeenOnMap玩家是否可以在地图上看到Boolean
pl.canFreeze玩家是否可以冻结Boolean
pl.canSeeDaylight玩家是否能看到日光Boolean
pl.canShowNameTag玩家是否可以显示姓名标签Boolean
pl.canStartSleepInBed玩家是否可以开始在床上睡觉Boolean
pl.canPickupItems玩家是否可以拾取物品Boolean
pl.maxHealth玩家最大生命值Integer
pl.health玩家当前生命值Integer
pl.inAir玩家当前是否悬空Boolean
pl.inWater玩家当前是否在水中Boolean
pl.inLava玩家是否在熔岩中Boolean
pl.inRain玩家是否下雨Boolean
pl.inSnow玩家是否在雪中Boolean
pl.inWall玩家是否在墙上Boolean
pl.inWaterOrRain玩家是否在水中或雨中Boolean
pl.inWorld玩家是否在世界Boolean
pl.inClouds玩家是否在云端Boolean
pl.sneaking玩家当前是否正在潜行Boolean
pl.speed玩家当前速度Float
pl.directionStr玩家当前朝向DirectionAngle
pl.uniqueId玩家(实体的)唯一标识符String
pl.langCode玩家设置的语言的标识符(形如zh_CN)String
pl.isLoading玩家是否已经加载Boolean
pl.isInvisible玩家是否隐身中Boolean
pl.isInsidePortal玩家在传送门中Boolean
pl.isHurt玩家是否受伤Boolean
pl.isTrusting未知Boolean
pl.isTouchingDamageBlock玩家是否在能造成伤害的方块上Boolean
pl.isHungry玩家是否饿了Boolean
pl.isOnFire玩家是否着火Boolean
pl.isOnGround玩家是否在地上Boolean
pl.isOnHotBlock玩家是否在高温方块上(岩浆等)Boolean
pl.isTrading玩家在交易Boolean
pl.isAdventure玩家是否是冒险模式Boolean
pl.isGliding玩家在滑行Boolean
pl.isSurvival玩家是否是生存模式Boolean
pl.isSpectator玩家是否是观众模式Boolean
pl.isRiding玩家是否在骑行Boolean
pl.isDancing玩家在跳舞?Boolean
pl.isCreative玩家是否是创造模式Boolean
pl.isFlying玩家是否在飞行Boolean
pl.isSleeping玩家是否正在睡觉Boolean
pl.isMoving玩家是否正在移动Boolean
pl.ip玩家设备IP地址String
pl.getScore(name)获取玩家计分项的分数(方便函数)Integer
pl.isOP()玩家是否为OPBoolean
根据llse 玩家对象 文档基本上函数都可以调用不过除非你知道你在干嘛,否则不要乱来哦危险危险危险

IntPos类型介绍 完整用法 pl.pos.x
成员含义类型
pos.xx 坐标Integer
pos.yy 坐标Integer
pos.zz 坐标Integer
pos.dim维度文字名String
pos.dimid维度IDInteger

日期时间的 date
变量名描述返回值
date.Y2021
date.M10
date.D24
date.h小时(24小时制)02
date.m07
date.s43
date.ms毫秒321

玩家设备的 dv

属性含义类型
dv.ip玩家设备的IP地址String
dv.avgPing玩家的平均网络延迟时间(ms)Integer
dv.avgPacketLoss玩家的平均网络丢包率(%)Float
dv.lastPing玩家的网络延迟时间(ms)Integer
dv.lastPacketLoss玩家的网络丢包率(%)Float
dv.os玩家设备的操作系统类型String
dv.inputMode玩家的操作模式Integer
dv.playMode玩家的游玩模式Integer
dv.serverAddress玩家连接的地址String
dv.clientId玩家客户端的识别码IDString

封装的其它变量 yoyo (BEPlaceholderAPI支持 变量调用 %s_yoyo_itemSum% )
变量名描述返回值
yoyo.itemSum已加载区块的掉落物实体总数14
yoyo.itemDetailSum掉落物物品数量125
yoyo.beingSum已加载区块的生物实体总数43
yoyo.playerSum当前在线玩家总数3
yoyo.bdsv返回BDS当前版本1.17.30
yoyo.llv返回LiteXLoader当前版本0.5.7
yoyo.tps返回当前tps值19.89(最大20)
yoyo.bdsabds版本协议


BEPlaceholderAPI前置插件支持 你可以这样(>=0.1.3支持)
bep | b | B | Bep


例如:

服务器变量:
{bep.server_has_whitelist} 调用 服务器变量 是否有白名单

玩家变量:

{bep.player_health:pl} 调用 玩家变量 当前生命值 变量结尾需要加 :pl 或者 :player 标识

JavaScript 表达式(>=0.1.5支持)
注意:
BEPlaceholderAPI的变量这里无法直接 b.xx bep.xx
需要这样:

//[推荐]翻译玩家变量(0.1.20更新修改
PAPI.translateStringWithPlayer('%player_max_health%',pl);

//[推荐]翻译服务器变量(0.1.20更新修改
PAPI.translateString('%server_port%');

//玩家变量
PAPI.getValueByPlayer('变量名',pl)//(0.1.20更新修改)旧版本是p.xuid 现在是 pl

//服务器变量
PAPI.getValue('变量名')


例如:
{js:pl.llmoney+(pl.llmoney>=5000?'(有钱人)':'(穷屌丝)')}
{js:你的JavaScript代码}
//仅支持简单表达式 表达式内不能有 { } 等括号出现 多条 ; 结尾 默认返回最后一条作为结果返回
注意 如果你不懂js 请不要轻易尝试因为这很容易导致错误的(后台也会持续提示错误)

配置文件路径:
".\\plugins\\Yoyo\\BetterSidebar\\newConfig.json"

玩家命令(0.1.20更新修改)
/sidebar <on|开|true> - 开启自己的侧边栏
/sidebar <off|关|false> - 关闭自己的侧边栏

/sidebar - 打开侧边栏操作菜单(>=0.1.5支持)

控制台命令(0.1.20更新修改)
sidebar reload- 快捷重载配置


配置文件:
JSON:
{
    "hz": 800,
    "on": {
        "money": {
            "500": "{num}钱包鼓鼓",
            "<=0": "{num}一干二净",
            "=100": "{num}小钱带",
            ">1000": "{num}小富",
            ">=5000": "{num}富豪",
            ">=100000": "富可敌国"
        }
    },
    "title": [
        "§1§g\\公告:§5欢迎您加入我们哦! ",
        "§1§g-公告:§5欢迎您加入我们哦! ",
        "§1§g/公告:§5欢迎您加入我们哦! "
    ],
    "data": [
        "§e{pl.realName},§g你好!",
        "§g记分板:§5{pl.getScore(money)}",
        [
            "§g平台: §5{dv.os}",
            "§g延迟: {js:(dv.avgPing>=100?'§4':'§2')+dv.avgPing}ms",
            "§g版本:§6{yoyo.bdsv}"
        ],
        "§g掉落物: §4{js:(yoyo.itemDetailSum>=1000?'§4(好多)':'§2(挺少)')+yoyo.itemDetailSum},§g生物: §4{yoyo.beingSum}",
        "§g玩家: §5{yoyo.playerSum},§g朝向:§5{pl.directionStr}",
        "§gmoney: §3{pl.llmoney}",
        "§g现在是:§5{date.D}号 {date.h}:{date.m}:{date.s},{js:date.h>=22||date.h<4?'§l§8夜深了':'§3嗨起来'}",
        "§g是否悬空:§5{pl.inAir},§gTps:§5{yoyo.tps}"
    ]
}

hz:600 是刷新频率单位毫秒
title:["我是标题"] 这是标题该数组添加多个可以循环切换显示

data:["第一行","第二行"] 这个里面每一行代表一行侧边栏
data:["第一行","第二行",["第三行,第一条","第三行,第二条"]] 同样和标题一样支持多条切换

data:["我叫:{pl.name}","第二行"] 比如这个我们添加了一个{pl.name}显示玩家名称的变量

1688136755854.jpeg



视频演示:
1688170228821.jpeg
Author
Yoyo666
Downloads
5,576
Views
26,564
First release
Last update
Rating
4.95 star(s) 22 ratings

More resources from Yoyo666

Share this resource

Latest updates

  1. 更新 0.1.20

    修改 控制台重载命令 yoyo sidebar -> sidebar reload 修改 改为真命令 修复 兼容ll3的bapi
  2. rt

    更新 下载地址
  3. 资源免费

    资源免费 下载不收取金粒了

Latest reviews

这么好的插件为什么这么多举报啊
打不开了,502
Yoyo666
Yoyo666
已更新了,非常抱歉
i cant download the file
Yoyo666
Yoyo666
There is a problem with the server, it may take some time to recover!
新版本下载要用到微信有点麻烦 而且那个小程序的广告总是加载不出来(
Yoyo666
Yoyo666
这个问题已经修复了
yoyo出品 必属精品!~
YOYO出品,必是精品
好东西,用到了,谢谢
Yoyo你鸽的我好久啊~~
Yoyo666
Yoyo666
嘻嘻