Mojangより配信されているMinecraft: Pocket EditionのModについて包括的に扱うwikiです。

Entity.setVelX, Y, Z

最終確認バージョン(MCPE:0.14.0 BL:1.12.2)

概要

Entity.setVelX(EntityUUID, Velocity);
Entity.setVelY(EntityUUID, Velocity);
Entity.setVelZ(EntityUUID, Velocity);
//または
setVelX(EntityUUID, Velocity);
setVelY(EntityUUID, Velocity);
setVelZ(EntityUUID, Velocity);
エンティティの各軸の移動速度を設定する関数。

注意点は、地面を歩いているモブにattackHookの中でEntity.setVelYを使っても効果がない事だ。(1.11.4, 0.13.1現在)
恐らく、attackHookの後に発生する被ダメージモーションに、設定したY軸速度が上書きされてしまうからだろう。
preventDefaultでダメージを無効化するか、attackHookでフラグを立てて、modTickEntity.setVelYを使うなどの対策が必要。

引数

引数説明
NumberEntityUUIDエンティティ固有の番号
boubleVelocity速度

戻り値

  • なし

1.エンティティを叩くと上に飛ぶ(ダメージなし)
//エンティティを叩くと、そのエンティティをY軸+(上)方向に1の速度を与える。
function attackHook(AttackerEntityUUID, VictimEntityUUID){
 Entity.setVelY(VictimEntityUUID, 1); //上に飛ばす
 preventDefault(); //ダメージキャンセル
}
2.エンティティを叩くと上に飛ぶ(ダメージあり)
//エンティティを叩くと、そのエンティティをY軸+(上)方向に1の速度を与える。
var flag = false;
var theUUID;
function attackHook(AttackerEntityUUID, VictimEntityUUID){
 theUUID = VictimEntityUUID; //UUIDを記憶
 flag = true; //フラグを立てる
}
function modTick(){
 if(flag){ //フラグが立ってる(true)の時
  Entity.setVelY(theUUID, 1); //上に飛ばす
  flag=false; //フラグをおろす
 }
}

コメントをかく


利用規約をご確認のうえご記入下さい

WIKi内検索

メンバーのみ編集できます

メンバー募集!