简介
碰撞伤害模组加入了一种新的药水效果:碰撞伤害,该效果可以让实体在高速移动时对碰撞对象造成伤害和水平击退,方便整合包或 Addon 作者使用。
药水效果指令:/effect @s collisiondamage:collision_damage 时间 等级
主要特性
当速度大于 10m/s 时,碰撞其他实体可以对其造成与速度成正比的伤害。伤害值=速度*药水等级*0.1;
速度显示:当玩家拥有碰撞伤害效果时,物品栏右上方会显示玩家的实时矢量速度;
工作原理
当实体具有碰撞伤害效果时,将每一个tick内实体的x,y,z坐标的变化量带入欧几里得公式,计算出此tick开始时实体的位置与此tick结束时实体位置之间的距离,再除以一个tick的时间(默认0.02秒)得出实体此tick内的平均速度
在计算速度的同时,每tick检测一次与具有碰撞伤害效果的实体距离小于1的其它实体,当检测到其它实体且自身速度大于10m/s时,对该实体造成速度*药水等级*0.1的伤害