本帖最后由 MsYqgzt 于 2016-4-24 18:55 编辑

         大家好,刚刚官方发布了15w33a,里面加入了一种新的药水种类:挥之不去的药水。请在33b使用,否则存档被吃。

挥之不去的药水,顾名思义,就是“不会挥发”的药水,这里整理了药水特点。

此药水可通过对相应的喷溅药水使用龙息酿造而获得,龙息的获取方法为站在末影龙的吐槽(口胡)中用玻璃瓶接着。
注意,喷溅药水目前无法放回到酿造台中,如要酿造,请一气呵成的酿造。



首先挥之不去的药水是投掷药水,并且投掷后是这种效果


可以看到,这个药水在地上形成一定范围的粒子效果并且一段时间内不会消失,然后我站进去后就会获得这个药水的效果。


但是有趣的是,我踩过的地方药水粒子消失,而没有趟过的药水例子还在。
然后我再走到剩余粒子上,药水效果时间恢复,粒子彻底消失。


再次试验发现,就算玩家不踩入药水,粒子范围也会逐渐减小,直至消失
于是可以总结出:挥之不去的药水具有保存性,且范围较大,效果单位以中心范围计算。玩家可以多次获得效果。范围随时间减小


与此同时,增加了药水粒子的实体,这意味着不需要particle指令就可以实现粒子效果。

指令:
  1. /entitydata @e[type=AreaEffectCloud] {NBT}
复制代码


其中的参数:
Particle粒子种类,修改此标签可以更改显示的粒子。
RadiusPerTick每Tick半径变化的值;药水云的半径,浮点数。
WaitTime:粒子展开的时间。不填默认没有粒子
Effects:药水云给予的效果 与1.8的CustomPotionEffects格式相同

RadiusPerTick:每tickRadius变化的值 浮点数 默认为-0.005
ReapplicationDelay:玩家进入范围内时,每次刷新效果之间的间隔
RadiusOnUse:玩家在范围内的缩小速度。

Duration:粒子所持续的有效时间,若为0仍然有粒子但无效果
Radius: 药水粒子的半径
Color:是16进制的rgb值的十进制,0是黑色,255是蓝色,往上走颜色越鲜艳。比如0000FF就是十进制的255
Age:药水云自产生至现在的时间 单位是gt.当Age的值≥Duration的值时药水云实体消失

首先
这里的粒子种类还是集成particle指令中的粒子种类
首先我们要默认有粒子存在,加入粒子种类以及WaitTime:
  1. /summon AreaEffectCloud ~ ~1 ~ {Particle:"mobSpell",WaitTime:100}
复制代码
无药水效果的粒子效果能持续一段时间


以这个为基础加入RadiusPerTick:
  1. /summon AreaEffectCloud ~ ~1 ~ {Particle:"mobSpell",RadiusPerTick:0.5f,WaitTime:10}
复制代码
药水粒子会以一定的延时扩散,并且范围由
RadiusPerTick决定。
加入Duration:
  1. /summon AreaEffectCloud ~ ~1 ~ {Particle:"mobSpell",RadiusPerTick:0.05f,Duration:600,WaitTime:10}
复制代码
设为600tick即持续较久的时间。

将范围调到正数值:




可以实现诸如此类的效果。但帧数还是下降……

如果要设定玩家效果刷新的间隔,加入ReapplicationDelay:
  1. /summon AreaEffectCloud ~ ~1 ~ {Particle:"mobSpell",RadiusPerTick:0.05f,Duration:600,WaitTime:10,ReapplicationDelay:200}
复制代码

这里设置成200,即玩家在范围内时,每间隔200 gt刷新一次效果。



接着就是自定义药水效果:
  1. /summon AreaEffectCloud ~ ~1 ~ {Particle:"mobSpell",RadiusPerTick:0.05f,Duration:600,WaitTime:10,ReapplicationDelay:2,Effects:[0:{Ambient:0b,ShowParticles:1b,Duration:2400,Id:16b,Amplifier:0b}]}
复制代码

去掉之前的属性以后剩下的是:
  1. {Effects:[0:{Ambient:0b,ShowParticles:1b,Duration:2400,Id:16b,Amplifier:0b}]}
复制代码
这里的NBT
与1.8的CustomPotionEffects格式相同,所以不做过多赘述。

关于药水云多属性及实体药水云的应用

1.9的/particle指令也做了一些改动和增加格式:
  1. /particle <粒子名称> <x> <y> <z> <xd> <yd> <zd> <速度> [数量] [模式] [玩家] [参数]
复制代码
在玩家的位置上,可以填写选择器或玩家名,只有被选定的玩家能看到这条粒子效果



参数的位置有三种粒子种类可以控制
concrack、blockdust 和 blockcrack

后面的参数值分两种,
如果种类是blockdust 和 blockcrack,参数的值是 方块id+数据值*4096
如果种类是concrack,则参数值是 方块id和数据值
举个粒子,红沙的ID是12,数据值是1
那么可以产生三条不同的指令:
  1. /particle blockdust ~ ~1 ~ 0 0 0 0.01 1 normal @a 4108
复制代码
  1. /particle blockcrack ~ ~1 ~ 0 0 0 0.01 1 normal @a 4108
复制代码
  1. <font size="3">/particle iconcrack ~ ~1 ~ 0 0 0 0.01 1 normal @a 12 1</font>
复制代码

效果其实差不多,有那么一些区别





====================END=====================


















[groupid=1009]The Command's Power[/groupid]