我的世界1.7.10 模组开发 箭发射问题

创建箭时发现了一个奇怪的问题,当发射箭的瞬间,箭会转动,而且在生存模式下才有这个问题,在创造模式下则没事,翻EntityArrow源码发现那么一段话:

 

public void onUpdate()
{
    super.onUpdate();
    ......
    if (movingobjectposition.entityHit != null)
    {
        ......
        if (movingobjectposition.entityHit.attackEntityFrom(damagesource, (float)k))
        {
            ......
        }
        else
        {
            this.motionX *= -0.10000000149011612D;
            this.motionY *= -0.10000000149011612D;
            this.motionZ *= -0.10000000149011612D;
            this.rotationYaw += 180.0F;
            this.prevRotationYaw += 180.0F;
            this.ticksInAir = 0;
        }
    }
}

 大意为:当碰撞到实体并且没能造成实体伤害,则产生振动旋转效果。多次测试发现当箭射出瞬间碰到了弓,估计是因为这个原因导致箭旋转了。于是复制源码新建一个类,注释掉这几句话之后,马上没有旋转的问题了。

//    this.motionX *= -0.10000000149011612D;
//    this.motionY *= -0.10000000149011612D;
//    this.motionZ *= -0.10000000149011612D;
//    this.rotationYaw += 180.0F;
//    this.prevRotationYaw += 180.0F;

 

修改前
修改后

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值