-
-
Notifications
You must be signed in to change notification settings - Fork 2
mobの仕様
AI.Death
,AI.Time
,AI.Damage
,AI.Initial
,AI.Attack
,AI.Passenger.Call
,AI.Block
,AI.Tick
,AI.Turn[].Skill[].Call
で指定する。
リスト形式になっており、Execute
タグでどのように実行させるかを変えられる。10個までスキルを登録できる。
root #List
└ {
├ Name
├ Condition #List
│ └ {
│ ├ Name
│ ├ Inverse
│ ├ Logic
│ ├ (Global)
│ └ <条件データ>
│ └ <子タグ>
├ Settings #List
│ └ {
│ ├ Name
│ ├ (Global)
│ └ <設定データ>
├ Execute
├ (Position)
├ (Element)
├ (CallOnExit)
└ <スキルデータ>
└ <子タグ>
└ <孫タグ>
必須。スキル名を指定する。
リストの中に一つでもあればCallが実行される。
任意。スキルを実行する条件を指定する。
以下子タグの説明。
必須。条件名を指定する。
任意。bool値を指定する。
true
のとき、条件が失敗するとスキルを発動する。
任意。OR
,AND
の2つが有効。複数個の条件があった場合のOR,AND指定をする。
未指定の場合、ANDで処理される。
任意。Call[0].Condition[0]
に指定する。true
にすると、そのconditionの結果が、他のCallにも反映される。
必須。条件判定に使用するデータを指定する。
以上Condition
タグの子タグの説明。
任意。CallSkillの実行に関する設定集を指定する。
以下子タグの説明。
必須。設定名を指定する。
任意。Call[0].Settings[0]
に指定する。true
にすると、そのsettingsで設定した実行基準が、他のCallにも反映される。
必須。CallSkillを実行するための設定に使用するデータを指定する。
Call[0]
のスキルにのみ使用する。
未指定の場合、リストの中のスキルを[0]から順番に同時に実行する。
"Random"
の場合、リストの中のスキルをランダムに1つ選択し実行する。
"If"
の場合、リストの0番目から順番に実行チェックをして、成功したらそれ1つのみを実行する。スキルが失敗したときはmob_data: Success
を0bにして失敗判定にする。
AI.Attack
のトリガーにのみ使える。
Call[0]
のスキルにのみ使用する。
未指定の場合、攻撃を受けたプレイヤーの位置を実行位置にする。
"Source"
の場合、近接なら攻撃を与えたMobが実行位置に、遠距離なら投てき物を召喚したMobが実行位置になる。
List型 Fire
Ice
Lightning
Light
Dark
のみ指定可能。
Physical
は使用不可。
AI.Damage
のトリガーにのみ使える。
Call[0]
のスキルにのみ使用する。
未指定の場合、属性の検知はしない。
Fire
Ice
を記述した場合、炎属性、氷属性の攻撃をMobが受けた場合、スキルを実行する。
Turnで実行するスキルに設定する。
TurnがExitするときに、そのTurnのSkill[0].Call[0]
にCallOnExit
がある場合、動作する。
true
の場合、TurnがExitするときにIntervalが0になったときと同じようにスキルが実行される。
これにより、スキルのインターバルはリセットされ、次回Turnからは次のスキルが実行するようになる。
実行するスキルのデータを追加する。
スキルデータの下のデータ。
子タグの下のデータ。
Mobが実行できるスキルの詳細設定一覧
{Execute:"①",Name:"②",③,Condition:[{④,⑤}]},{Name:"②",③,Condition:[{④,⑤}],Settings:[{⑥,⑦}]}
① Execute
任意。必ず1つ目のName
に記述。
② スキル名
ここの記載によって③の項目が変わる
③ スキルデータ
④ 条件データ
任意。Condition内の指定。
⑤ Inverse
任意。④が必須。④の条件失敗した場合に発動。Logic
も同様任意ではあるが書かない場合ANDになる。
⑥ 設定名
CallSkillに対してどのような設定をするかの指定
⑦ 設定データ
設定に関する指定
Call
に記述する例をまとめる。
シートに直接コピペすることができます。
Condition,CallSkill,CallSettings全部乗せ
{Name:"ChangeTurn",Random:true,Condition:[{Name:"HasTarget",Logic:"OR",Target:{Look:"player",Radius:32},Inverse:true},{Name:"RandomChance",Chance:0.45d}]},{Name:"Kill",Condition:[{Name:"RandomChance",Chance:0.45d}]},{Name:"Spawn",SpawnEntities:[[{Tags:[DebugRoom,Ground,Blow,Sinensama,SpawnParticles],Level:10}]],Settings:[{Name:"Direction",Target:{Look:"Self"},Direction:[0f,0f],Speed:1d}]}
{Execute:"Random",Name:"Step",Condition:[{Name:"HasTarget",Logic:"AND",Target:{Look:"player",Radius:16}},{Name:"RandomChance",Chance:0.75d,Inverse:true}],Target:{Look:"player",Radius:16},Speed:0.08d,SpeedRange:1.2d},{Name:"Spawn",SpawnEntities:[[{Tags:[Global,Other,Blow,Bullet,LatticeBullet],Level:1}]],Condition:[{Name:"RandomChance",Chance:0.45d}],Settings:[{Name:"Direction",Direction:[0.0f,-90.0f],Speed:0.8d}]},{Name:"MergeNBT",NBT:{CutomName:'{"translate":"もう怒ったぞー!"}',CustomNameVisible:true}}
CallDamageに指定
{Element:[Fire,Light],Name:"Teleport",Settings:[{Direction:[0f,-90f],DirectionRange:[180.0f,180.0f],Absolute:{Horizontal:true,Vertical:true},Speed:4.5d,SpeedRange:7.5}]}
Execute:"If"
の例
[{Execute:"If",Name:"Message",Message:'{"translate":"コンディションがないので必ずこれが実行"}'},{Name:"Message",Message:'{"translate":"実行されない"}'}]
[{Execute:"If",Condition:[{Name:"HasTarget",Target:{Look:"player",Radius:8f}}],Name:"Message",Message:'{"text":"プレイヤーがいる"}'},{Name:"Message",Message:'{"text":"プレイヤーがいない"}'}]
[{Execute:"If",Condition:[{Name:"RandomChance",Chance:0.33}],Name:"Message",Message:'{"text":"A 33%"}'},{Condition:[{Name:"RandomChance",Chance:0.33}],Name:"Message",Message:'{"text":"B 33%"}'},{Name:"Message",Message:'{"text":"C 33%"}'}]
CustomNameに自身の名前 Lv10
のようにレベルが表示される。
透明化の効果を持っているモブは表示されない(仕様)。
反転の名前(Grumm
など)やレベルを表示させたくない場合は、シートのベース列のTagsにHideLevel
タグを追加する。
死亡時に落とすアイテムを設定する。複数設定でき、それぞれに確率と個数を設定することができる。
HasLootTable
タグを持っている場合、死亡処理で実行される。
LootTable #List
└ {
├ Loot
├ Item
│ ├ id
│ ├ tag
│ └ Count
├ Chance
├ Count
└ CountRange
Itemがなければ必須。ルートテーブルのパスを指定する。
Lootがなければ必須。アイテム情報を指定する。
以下子タグの説明
必須。アイテムのIDを指定する。
任意。アイテムのNBTを指定する。
任意。アイテムの個数を指定する。無ければ1つになる。
以上Item
タグの子タグの説明。
必須。double型。0~1の範囲で確率を指定する。
0.0001単位で指定。
必須。int型。ルートテーブル排出の回数を指定する。
Lootの場合、ここでの回数分ルートテーブルが抽選される。
Itemの場合、これは無視される。
任意。int型。指定することで、Countの結果をCount ~ CountRange
にすることができる。
CountとCountRangeの数値の合計が99を超えないようにする。
話しかけるだけで村人の交易内容を新しいものへ更新するシステム。
以下の2つを満たした村人にのみ更新処理が実行される。
- タグ
UpdateOffers
の付与 -
ArmorItems[0].tag.SpawnTags
の指定
2番のアイテムに関しては
{id:"minecraft:stick",Count:1b,tag:{CustomModelData:1,SpawnTags:[]}}
を使うとよい。SpawnTagsには更新する交易データが入っているMobへのパスを指定する。(通常その村人自身へのパスを指定する。)
共通スキルのアナライズを使用してMobの情報を得るときに、Mobが考えていることやMobからのメッセージを表示するシステム。
- タグ
AnalyseLog
の付与 - MobのOhMyDatの
"ステータス".AnalyseLog
にテキストを指定
Copyright © 2024 TUSB Corporation. All Rights Reserved.
このページの内容もしくは直接リンクを他サイトやSNSへの転載もしくは引用する事を禁止します。