• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
Chat-Range - 范围聊天

资源 Chat-Range - 范围聊天 2023-12-04

请登录后获取

ChuXiao

【Lv:4】

正式会员
注册
2020/03/11
消息
118
金粒
238.33金粒
ChuXiao 提交新资源:

Chat-Range - 范围聊天 - 在你的服务器设置范围聊天 , 可自定义消息字符串

[MD] ## 简介 - 设置玩家聊天广播范围 ## 食用教程 - 将 Chat-Range.js 放入 plugins 即可 ## 配置文件 \plugins\Chat-Range\config.json [/MD]
JSON:
{
    "Range": 50, // 聊天范围 : 正方形的半边长
    "text": "§2[附近的人]§r ${name} : ${msg}" // 发送给玩家的字符串
     // 变量${name}:玩家名  变量${msg} 玩家发送的消息
}

阅读关于此资源更多信息...
 
您好,请问该插件是否支持PAPI,或者能否支持PAPI?
 
会不会和其他聊天增强插件冲突
 
作者大大你好,开方可能不是一种性能的方式
可以采用一个平方来替换开方,减少计算量
JavaScript:
    isPointInCircle(center, radius, point) {
        const distance_2 = (point.x - center.x) ** 2 + (point.z - center.z) ** 2;
        return distance_2 <= radius ** 2;
    }
 
同时,使用多个replace可能不利于后续变量的拓展。
可以考虑使用map,或者eval直接把字符串当做模板字符串执行

下面是一个使用map的例子
JavaScript:
        const replacementsMap = new Map([
            ['name', player.realName],
            ['msg', msg],
            ['dimid', Dimid[player.pos.dimid]],
            ['online', playersInRange.length],
        ]);

        const str = this.Chat.replace(/\$\{([^}]+)\}/g, (match, placeholder) => {
            const replacement = replacementsMap.get(placeholder);
            return replacement !== undefined ? replacement : match;
        });
 
作者大大你好,开方可能不是一种性能的方式
可以采用一个平方来替换开方,减少计算量
JavaScript:
    isPointInCircle(center, radius, point) {
        const distance_2 = (point.x - center.x) ** 2 + (point.z - center.z) ** 2;
        return distance_2 <= radius ** 2;
    }
哈哈 , 非常感谢指正 !
 
同时,使用多个replace可能不利于后续变量的拓展。
可以考虑使用map,或者eval直接把字符串当做模板字符串执行

下面是一个使用map的例子
JavaScript:
        const replacementsMap = new Map([
            ['name', player.realName],
            ['msg', msg],
            ['dimid', Dimid[player.pos.dimid]],
            ['online', playersInRange.length],
        ]);

        const str = this.Chat.replace(/\$\{([^}]+)\}/g, (match, placeholder) => {
            const replacement = replacementsMap.get(placeholder);
            return replacement !== undefined ? replacement : match;
        });
很棒的思路 , 值得学习 !
 

在线会员

  • moqian
  • Ru0fei
  • Tohay
  • 皇麻利亚
  • 3092107353
  • 今晚打老虎
  • 星辰3
  • hhhhGG
后退
顶部 底部