|
本贴与本帖所提供的资源严禁在未经本人许可的情况下转载
先放演示效果图 欢迎来到《别人的世界》
在能显示隐身实体的旁观者模式下看,是这样的
介绍
此插件单独存在没有任何功能,需要作为其他插件的前置才能使用(诶诶先别打我,看完帖子成不成。。)。效果图中的锥形只是一个演示,实际上你可以用此前置做出任何由线段组成的图形。(我本来想画个球的,但是小学的数学水平,不会..)
激光的长度是不限的,不过因为客户端渲染距离的限制,两个点之间距离太长了还是会出现激光消失的情况。
这些激光是完全使用ProtocolLib发送数据包实现的,你可以指定哪些客户端能看到激光。由于产生激光的实体(一个守卫者与一个盔甲架)只在客户端存在,因此不会卡服。
它也不像粒子效果一样需要不断发送(吃带宽),这个库让一个客户端看见一道激光只需要发送3个数据包,比起那些每秒要收发几十次的移动包(玩家与周围实体都需要),对带宽的影响 = 可以忽视。对 服务器的影响 = 完全没有。
注意:虽然产生激光的实体不在服务端存在,但是客户端还是要处理的,因此给客户端发送太多的实体,会导致客户端卡。不过要处理一般的特效是完全够用滴。
吐槽
它能用来干嘛?
一个人的想象力是有限的,而具体可以做的事情太多了,你们自己慢慢想咯。我就随便举几个我想到的梨子:
- 用炫酷的效果装点主城,给服务器来些特色
- 各种小游戏中的神奇特效(守卫者的激光可是连Hypixel都没想到的创意啊哈哈哈
- 激光枪!(比如写个Crackshot枪械插件的addons
- ……
它的缺点
- 不能指定颜色。
守卫者的激光从刚对着玩家射出,开始充能,到对玩家产生伤害,经历了由深紫色——赭色——亮黄色(抱歉使用亮色,不过为了真实性也只能这样了)的过度,然后就会固定在亮黄色(1.8以上有点特殊,见下一条)不变。
颜色是在客户端运算,是插件没法控制的。不过,普通守卫者激光的充能时间是80tick,而远古守卫者激光的充能时间只有60tick。只有这点是插件能控制的。API里提供了指定是否远古守卫者的参数。 - 在1.8以上的版本的客户端里,看起来,,有点。。呃。。唔。。怎么形容呢,上图吧(图中上面那里是旁观者模式中,半透明的远古守卫者)
在1.8中,激光只有泡在水里时才会显示气泡,而从1.9开始,在空气里的激光也开始冒泡了(怒刷存在感233)。测试了天然产生的守卫者激光也这样,不知是bug还是feature。。
颜色过渡:深紫色——赭色——亮黄色——突然变成亮绿色,没有过渡——然后有的时候会像霓虹灯一样在亮黄色与亮绿色之间飞快闪烁......
我还能说什么呢?,,,, - 从1.9开始,实体碰撞箱可以推动玩家了,而这个碰撞箱运算是在客户端完成的,所以激光的来源——守卫者,能够把玩家推开。而大量守卫者的叠加,就像弹射器一样能把靠近的玩家弹飞。。。这个是MC机制的锅,目前没法解决。(我好像记得有个Gamerule可以关闭?)
注意事项
- 再次强调,此插件单独存在没有任何功能!要使用本插件的任意功能,您必须要编写/请人编写一个以此插件为基础的插件
- 例子里说的Crackshot激光枪只是我提出的一个设想,要实现也得自己编写插件来实现,怎么可能直接配置一下Crackshot就可以了。。别再来问我了!
- 此插件最低需要 Java SE 8 才能运行!因为使用了 lambda 邪教。如果提示“Unsupported major.minor version 52.0”错误,则代表Java版本不足Java8(52.0),请升级你的Java!
除非MOD服需要,Java 7 早就是不推荐的版本了,如果您的服务器不是MOD服,是完全没有任何理由停留在 Java7 的!
根据 MCSTATS 全局统计 ,截至发帖时,使用 Java 8 的服务器比例已达到 82.52%。
下载
从Github下载
开源&文档
https://github.com/zhouhaha/LaserLib
Javadoc也可以在上面的Github Release中下载
(没有站点给我挂文档,只能用离线的,抱歉。
如果您需要示例,源码中主类里被注释的部分就是。
更新日志
前置插件来说,
鼓励作者最好的办法不是评分
而是回个贴,把帖子顶上去
因为我敢肯定很快就会沉底的。