Entity.setArmor(UUID, SLOT, ID, DAMAGE);モブの指定した防具スロットに、IDとダメージ値を指定してアイテムを設定する関数。
TNTなどのモブでないエンティティに使用するとエラーとなる。
防具に対応していないモブにも防具スロットは存在する様で、村人やガストにも持たせることが出来る。
見た目には反映されないが、防御力は追加されている様だ。
防具スロットに防具を持ったモブはデスポーン時にその防具をドロップするが、防具ではないアイテムはドロップしない様だ。
スロットの番号はArmorTypeが対応している。
防具でなくても入れることが可能で、その場合は見た目に変化はない。
防具を対応していないスロットに入れても、見た目はそのスロットの防具を装備しているようになる。
例えば、チェーンヘルメット(ID:302)を足(slot:3)に装備したとしても、
ブーツを装備しているような見た目になる。
型 | 引数 | 説明 | 省略 |
---|---|---|---|
Number | UUID | エンティティ固有の番号 | |
int | SLOT | スロット番号ArmorType 頭(0)〜足(3) | |
int | ID | アイテムID | 可(0) |
int | DAMAGE | ダメージ値 | 可(0) |
//棒でモブを叩くと、そのモブを記憶。 //チャットで『3 302 1』と打つと、記憶したエンティティの //ブーツのスロット(3)にID:302 DAMAGE:1のアイテム(チェーンヘルメット)がセットされる。 var theUUID=0; function chatHook(str){ str = str.split(" "); if(isFinite(str[0]) && 0<=str[0] && str[0]<=3 && isFinite(str[1]) && isFinite(str[2])){ var SLOT = str[0]; var ID = str[1]; var DAMAGE = str[2]; Entity.setArmor(theUUID, SLOT, ID, DAMAGE); clientMessage("モブの防具スロットの中身を変更しました。"); clientMessage("スロット No."+SLOT+" ["+Item.getName(ID, DAMAGE)+", ID:"+ID+", dmg:"+DAMAGE+"] "); preventDefault(); } } function attackHook(a,v){ if(getCarriedItem()==280){ theUUID = v; clientMessage("叩いたモブを記憶"); clientMessage("叩いたモブが着ている防具は..."); for(var slot=0;slot<4;slot++){ var ID = Entity.getArmor(theUUID, slot); var DAMAGE = Entity.getArmorDamage(theUUID, slot); clientMessage("スロット No."+slot+" ["+Item.getName(ID, DAMAGE)+", ID:"+ID+", dmg:"+DAMAGE+"] "); } preventDefault(); } }
コメントをかく